[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [19906] trunk/blender/source/gameengine: Fix for part of bug #18496: issue with light state switching

Brecht Van Lommel brecht at blender.org
Thu Apr 23 15:30:34 CEST 2009


Revision: 19906
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=19906
Author:   blendix
Date:     2009-04-23 15:30:34 +0200 (Thu, 23 Apr 2009)

Log Message:
-----------
Fix for part of bug #18496: issue with light state switching
when using Dome.

Modified Paths:
--------------
    trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
    trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
    trunk/blender/source/gameengine/Ketsji/KX_Dome.h
    trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp

Modified: trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp
===================================================================
--- trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp	2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.cpp	2009-04-23 13:30:34 UTC (rev 19906)
@@ -68,8 +68,8 @@
 {
 	m_clientobject = NULL;
 	m_lastlightlayer = -1;
-	m_lastlighting = false;
 	m_lastauxinfo = NULL;
+	m_lastlighting = true; /* force disable in DisableOpenGLLights() */
 	DisableOpenGLLights();
 }
 

Modified: trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp
===================================================================
--- trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp	2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/GamePlayer/common/GPC_RenderTools.cpp	2009-04-23 13:30:34 UTC (rev 19906)
@@ -76,8 +76,8 @@
 {
 	m_clientobject = NULL;
 	m_lastlightlayer = -1;
-	m_lastlighting = false;
 	m_lastauxinfo = NULL;
+	m_lastlighting = true; /* force disable in DisableOpenGLLights() */
 	DisableOpenGLLights();
 }
 

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2009-04-23 13:30:34 UTC (rev 19906)
@@ -52,18 +52,18 @@
 	struct Text* warptext
 
 ):
-	m_canvas(canvas),
-	m_rasterizer(rasterizer),
-	m_rendertools(rendertools),
-	m_engine(engine),
+	dlistSupported(false),
+	canvaswidth(-1), canvasheight(-1),
 	m_drawingmode(engine->GetDrawType()),
 	m_size(size),
 	m_resolution(res),
 	m_mode(mode),
 	m_angle(angle),
 	m_resbuffer(resbuf),
-	canvaswidth(-1), canvasheight(-1),
-	dlistSupported(false)
+	m_canvas(canvas),
+	m_rasterizer(rasterizer),
+	m_rendertools(rendertools),
+	m_engine(engine)
 {
 	warp.usemesh = false;
 
@@ -206,7 +206,7 @@
 	canvasheight = m_canvas->GetHeight();
 
 	m_buffersize = (canvaswidth > canvasheight?canvasheight:canvaswidth);
-	m_buffersize *= m_resbuffer; //reduce buffer size for better performance
+	m_buffersize = (int)(m_buffersize*m_resbuffer); //reduce buffer size for better performance
 
 	int i = 0;
 	while ((1 << i) <= m_buffersize)
@@ -230,8 +230,6 @@
 }
 
 bool KX_Dome::CreateDL(){
-	int i,j;
-
 	dlistId = glGenLists((GLsizei) m_numimages);
 	if (dlistId != 0) {
 		if(m_mode == DOME_FISHEYE){
@@ -409,7 +407,7 @@
 u and v vary from 0 to 1
 i ranges from 0 to 1, if negative don't draw that mesh node
 */
-	int i,j,k;
+	int i;
 	int nodeX=0, nodeY=0;
 
 	vector<STR_String> columns, lines;
@@ -431,7 +429,7 @@
 	warp.n_width = atoi(columns[0]);
 	warp.n_height = atoi(columns[1]);
 
-	if (lines.size() < 2 + (warp.n_width * warp.n_height)){
+	if ((int)lines.size() < 2 + (warp.n_width * warp.n_height)){
 		printf("Error: Warp Mesh File with insufficient data!\n");
 		return false;
 	}else{
@@ -1543,8 +1541,6 @@
 
 void KX_Dome::DrawEnvMap(void)
 {
-	int i,j;
-
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 	glMatrixMode(GL_PROJECTION);
 	glLoadIdentity();
@@ -1675,7 +1671,7 @@
 
 void KX_Dome::DrawDomeFisheye(void)
 {
-	int i,j;
+	int i;
 
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 	glMatrixMode(GL_PROJECTION);
@@ -1759,7 +1755,7 @@
 
 void KX_Dome::DrawPanorama(void)
 {
-	int i,j;
+	int i;
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 	glMatrixMode(GL_PROJECTION);
 	glLoadIdentity();
@@ -1846,8 +1842,6 @@
 
 void KX_Dome::DrawDomeWarped(void)
 {
-	int i,j;
-
 	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
 	glMatrixMode(GL_PROJECTION);
 	glLoadIdentity();
@@ -1880,10 +1874,6 @@
 	glEnable(GL_TEXTURE_2D);
 	glColor3f(1.0,1.0,1.0);
 
-
-	float uv_width = (float)(warp.bufferwidth-1) / warp.imagewidth;
-	float uv_height = (float)(warp.bufferheight-1) / warp.imageheight;
-
 	if (dlistSupported){
 		glBindTexture(GL_TEXTURE_2D, domefacesId[m_numfaces]);
 		glCallList(dlistId + m_numfaces);
@@ -1934,4 +1924,5 @@
 	// restore the original orientation
 	cam->NodeSetLocalOrientation(camori);
 	cam->NodeUpdateGS(0.f);
-}
\ No newline at end of file
+}
+

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.h
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.h	2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.h	2009-04-23 13:30:34 UTC (rev 19906)
@@ -181,4 +181,5 @@
     KX_KetsjiEngine* m_engine;
 };
 
-#endif
\ No newline at end of file
+#endif
+

Modified: trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2009-04-23 13:29:54 UTC (rev 19905)
+++ trunk/blender/source/gameengine/Ketsji/KX_KetsjiEngine.cpp	2009-04-23 13:30:34 UTC (rev 19906)
@@ -145,8 +145,6 @@
 	m_stereo(false),
 	m_curreye(0),
 
-	m_usedome(false),
-
 	m_logger(NULL),
 	
 	// Set up timing info display variables
@@ -164,7 +162,9 @@
 	m_overrideFrameColor(false),
 	m_overrideFrameColorR(0.0),
 	m_overrideFrameColorG(0.0),
-	m_overrideFrameColorB(0.0)
+	m_overrideFrameColorB(0.0),
+
+	m_usedome(false)
 {
 	// Initialize the time logger
 	m_logger = new KX_TimeCategoryLogger (25);





More information about the Bf-blender-cvs mailing list