Differential D149 Diff 3813 source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
Changeset View
Changeset View
Standalone View
Standalone View
source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
| Show First 20 Lines • Show All 241 Lines • ▼ Show 20 Lines | |||||
| void RAS_OpenGLRasterizer::SetFogEnd(float fogend) | void RAS_OpenGLRasterizer::SetFogEnd(float fogend) | ||||
| { | { | ||||
| m_fogdist = fogend; | m_fogdist = fogend; | ||||
| } | } | ||||
| void RAS_OpenGLRasterizer::SetFog(float start, | void RAS_OpenGLRasterizer::SetFog(short type, | ||||
| float start, | |||||
| float dist, | float dist, | ||||
| float intensity, | |||||
| float r, | float r, | ||||
| float g, | float g, | ||||
| float b) | float b) | ||||
| { | { | ||||
| m_fogtype = type; | |||||
| m_fogstart = start; | m_fogstart = start; | ||||
| m_fogdist = dist; | m_fogdist = dist; | ||||
| m_fogintensity = intensity; | |||||
| m_fogr = r; | m_fogr = r; | ||||
| m_fogg = g; | m_fogg = g; | ||||
| m_fogb = b; | m_fogb = b; | ||||
| } | } | ||||
| void RAS_OpenGLRasterizer::EnableFog(bool enable) | void RAS_OpenGLRasterizer::EnableFog(bool enable) | ||||
| { | { | ||||
| m_fogenabled = enable; | m_fogenabled = enable; | ||||
| } | } | ||||
| bool RAS_OpenGLRasterizer::IsFogEnabled() | bool RAS_OpenGLRasterizer::IsFogEnabled() | ||||
| { | { | ||||
| return m_fogenabled; | return m_fogenabled; | ||||
| } | } | ||||
| void RAS_OpenGLRasterizer::DisplayFog() | void RAS_OpenGLRasterizer::DisplayFog() | ||||
| { | { | ||||
| if ((m_drawingmode >= KX_SOLID) && m_fogenabled) | if ((m_drawingmode >= KX_SOLID) && m_fogenabled) | ||||
| { | { | ||||
| float params[4] = {m_fogr, m_fogg, m_fogb, 1.0f}; | float params[4] = {m_fogr, m_fogg, m_fogb, 1.0f}; | ||||
| glFogi(GL_FOG_MODE, GL_LINEAR); | glFogi(GL_FOG_MODE, GL_LINEAR); | ||||
| glFogf(GL_FOG_DENSITY, 0.1f); | glFogf(GL_FOG_DENSITY, m_fogintensity / 10.0f); | ||||
| glFogf(GL_FOG_START, m_fogstart); | glFogf(GL_FOG_START, m_fogstart); | ||||
| glFogf(GL_FOG_END, m_fogstart + m_fogdist); | glFogf(GL_FOG_END, m_fogstart + m_fogdist); | ||||
| glFogfv(GL_FOG_COLOR, params); | glFogfv(GL_FOG_COLOR, params); | ||||
| glEnable(GL_FOG); | glEnable(GL_FOG); | ||||
| } | } | ||||
| else | else | ||||
| { | { | ||||
| glDisable(GL_FOG); | glDisable(GL_FOG); | ||||
| ▲ Show 20 Lines • Show All 1,300 Lines • Show Last 20 Lines | |||||