summary refs log tree commit diff
path: root/src/Fog.cpp
blob: 80e2830e6df922cb55abc5c55c3e632830431a52 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
/**> HEADER FILES <**/
#include "Fog.h"

void Fog::SetFog(float colorR, float colorG, float colorB, float fStart, float fEnd, float Density)
{
	fogColor[0]=colorR;
	fogColor[1]=colorG;
	fogColor[2]=colorB;
	fogColor[3]=1;
	fogStart=fStart;
	fogEnd=fEnd;
	fogDensity=Density;
	fogMode=GL_LINEAR;

	glFogi(GL_FOG_MODE,fogMode);
	glFogfv(GL_FOG_COLOR,fogColor);
	glFogf(GL_FOG_DENSITY,fogDensity);
	glFogi(GL_FOG_HINT,GL_DONT_CARE);
	glFogf(GL_FOG_START,fogStart);
	glFogf(GL_FOG_END,fogEnd);

	glEnable(GL_FOG);
}

void Fog::TempFog(float colorR, float colorG, float colorB)
{
	GLfloat tempfogColor[4];
	tempfogColor[0]=colorR;
	tempfogColor[1]=colorG;
	tempfogColor[2]=colorB;
	tempfogColor[3]=1;

	glFogi(GL_FOG_MODE,fogMode);
	glFogfv(GL_FOG_COLOR,tempfogColor);
	glFogf(GL_FOG_DENSITY,fogDensity);
	glFogi(GL_FOG_HINT,GL_DONT_CARE);
	glFogf(GL_FOG_START,fogStart);
	glFogf(GL_FOG_END,fogEnd);

	glEnable(GL_FOG);
}

void Fog::ResetFog()
{
	glFogi(GL_FOG_MODE,fogMode);
	glFogfv(GL_FOG_COLOR,fogColor);
	glFogf(GL_FOG_DENSITY,fogDensity);
	glFogi(GL_FOG_HINT,GL_DONT_CARE);
	glFogf(GL_FOG_START,fogStart);
	glFogf(GL_FOG_END,fogEnd);

	glEnable(GL_FOG);
}