[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [61092] trunk/blender/source/gameengine/ Rasterizer/RAS_OpenGLRasterizer: BGE Rasterizer Cleanup: Moving the RAS_OpenGLRasterizer::ApplyLights() code into RAS_OpenGLRasterizer::ProcessLighting().
Mitchell Stokes
mogurijin at gmail.com
Mon Nov 4 20:21:37 CET 2013
Revision: 61092
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=61092
Author: moguri
Date: 2013-11-04 19:21:37 +0000 (Mon, 04 Nov 2013)
Log Message:
-----------
BGE Rasterizer Cleanup: Moving the RAS_OpenGLRasterizer::ApplyLights() code into RAS_OpenGLRasterizer::ProcessLighting().
Modified Paths:
--------------
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp 2013-11-04 19:21:32 UTC (rev 61091)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.cpp 2013-11-04 19:21:37 UTC (rev 61092)
@@ -1159,9 +1159,34 @@
m_lastauxinfo = m_auxilaryClientInfo;
/* enable/disable lights as needed */
- if (layer >= 0)
- enable = ApplyLights(layer, viewmat);
+ if (layer >= 0) {
+ //enable = ApplyLights(layer, viewmat);
+ // taken from blender source, incompatibility between Blender Object / GameObject
+ KX_Scene* kxscene = (KX_Scene*)m_auxilaryClientInfo;
+ float glviewmat[16];
+ unsigned int count;
+ std::vector<struct RAS_LightObject*>::iterator lit = m_lights.begin();
+ for (count=0; count<m_numgllights; count++)
+ glDisable((GLenum)(GL_LIGHT0+count));
+
+ viewmat.getValue(glviewmat);
+
+ glPushMatrix();
+ glLoadMatrixf(glviewmat);
+ for (lit = m_lights.begin(), count = 0; !(lit==m_lights.end()) && count < m_numgllights; ++lit)
+ {
+ RAS_LightObject* lightdata = (*lit);
+ KX_LightObject *kxlight = (KX_LightObject*)lightdata->m_light;
+
+ if (kxlight->ApplyLight(kxscene, layer, count))
+ count++;
+ }
+ glPopMatrix();
+
+ enable = count > 0;
+ }
+
if (enable)
EnableOpenGLLights();
else
@@ -1508,35 +1533,6 @@
glPopMatrix();
}
-
-int RAS_OpenGLRasterizer::ApplyLights(int objectlayer, const MT_Transform& viewmat)
-{
- // taken from blender source, incompatibility between Blender Object / GameObject
- KX_Scene* kxscene = (KX_Scene*)m_auxilaryClientInfo;
- float glviewmat[16];
- unsigned int count;
- std::vector<struct RAS_LightObject*>::iterator lit = m_lights.begin();
-
- for (count=0; count<m_numgllights; count++)
- glDisable((GLenum)(GL_LIGHT0+count));
-
- viewmat.getValue(glviewmat);
-
- glPushMatrix();
- glLoadMatrixf(glviewmat);
- for (lit = m_lights.begin(), count = 0; !(lit==m_lights.end()) && count < m_numgllights; ++lit)
- {
- RAS_LightObject* lightdata = (*lit);
- KX_LightObject *kxlight = (KX_LightObject*)lightdata->m_light;
-
- if (kxlight->ApplyLight(kxscene, objectlayer, count))
- count++;
- }
- glPopMatrix();
-
- return count;
-}
-
void RAS_OpenGLRasterizer::MotionBlur()
{
int state = GetMotionBlurState();
Modified: trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
===================================================================
--- trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h 2013-11-04 19:21:32 UTC (rev 61091)
+++ trunk/blender/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h 2013-11-04 19:21:37 UTC (rev 61092)
@@ -367,7 +367,6 @@
int height);
void applyTransform(double* oglmatrix, int objectdrawmode);
- int applyLights(int objectlayer, const MT_Transform& viewmat);
void PushMatrix();
void PopMatrix();
More information about the Bf-blender-cvs
mailing list