[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [59126] trunk/blender/source/gameengine/ Ketsji/KX_Dome.cpp: BGE Dome: bugfix - Warp Mesh not working

Dalai Felinto dfelinto at gmail.com
Wed Aug 14 04:59:11 CEST 2013


Revision: 59126
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=59126
Author:   dfelinto
Date:     2013-08-14 02:59:09 +0000 (Wed, 14 Aug 2013)
Log Message:
-----------
BGE Dome: bugfix - Warp Mesh not working

Fix: to swap the drawing order for the warp mesh polygon
The code was drawing CW instead of CCW.

It would work in some cases where the drawing flags would allow for the
back faces to be visible.

More specifically the alternative fix were:
glDisable ( GL_CULL_FACE );
glFrontFace( GL_CW );

Bug originally reported in the small_planetarium mailing list.
This bug fix was a comissioned job by a group who prefer not to be
credited. Thanks regardless.

Modified Paths:
--------------
    trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp

Modified: trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp
===================================================================
--- trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2013-08-13 23:48:48 UTC (rev 59125)
+++ trunk/blender/source/gameengine/Ketsji/KX_Dome.cpp	2013-08-14 02:59:09 UTC (rev 59126)
@@ -401,21 +401,21 @@
 				if (warp.nodes[i][j].i < 0 || warp.nodes[i+1][j].i < 0 || warp.nodes[i+1][j+1].i < 0 || warp.nodes[i][j+1].i < 0)
 					continue;
 
-				glColor3f(warp.nodes[i][j].i, warp.nodes[i][j].i, warp.nodes[i][j].i);
-				glTexCoord2f((warp.nodes[i][j].u * uv_width), (warp.nodes[i][j].v * uv_height));
-				glVertex3f(warp.nodes[i][j].x, warp.nodes[i][j].y,0.0);
+				glColor3f(warp.nodes[i][j+1].i, warp.nodes[i][j+1].i, warp.nodes[i][j+1].i);
+				glTexCoord2f((warp.nodes[i][j+1].u * uv_width), (warp.nodes[i][j+1].v * uv_height));
+				glVertex3f(warp.nodes[i][j+1].x, warp.nodes[i][j+1].y,0.0);
 
+				glColor3f(warp.nodes[i+1][j+1].i, warp.nodes[i+1][j+1].i, warp.nodes[i+1][j+1].i);
+				glTexCoord2f((warp.nodes[i+1][j+1].u * uv_width), (warp.nodes[i+1][j+1].v * uv_height));
+				glVertex3f(warp.nodes[i+1][j+1].x, warp.nodes[i+1][j+1].y,0.0);
+
 				glColor3f(warp.nodes[i+1][j].i, warp.nodes[i+1][j].i, warp.nodes[i+1][j].i);
 				glTexCoord2f((warp.nodes[i+1][j].u * uv_width), (warp.nodes[i+1][j].v * uv_height));
 				glVertex3f(warp.nodes[i+1][j].x, warp.nodes[i+1][j].y,0.0);
 
-				glColor3f(warp.nodes[i+1][j+1].i, warp.nodes[i+1][j+1].i, warp.nodes[i+1][j+1].i);
-				glTexCoord2f((warp.nodes[i+1][j+1].u * uv_width), (warp.nodes[i+1][j+1].v * uv_height));
-				glVertex3f(warp.nodes[i+1][j+1].x, warp.nodes[i+1][j+1].y,0.0);
-
-				glColor3f(warp.nodes[i][j+1].i, warp.nodes[i][j+1].i, warp.nodes[i][j+1].i);
-				glTexCoord2f((warp.nodes[i][j+1].u * uv_width), (warp.nodes[i][j+1].v * uv_height));
-				glVertex3f(warp.nodes[i][j+1].x, warp.nodes[i][j+1].y,0.0);
+				glColor3f(warp.nodes[i][j].i, warp.nodes[i][j].i, warp.nodes[i][j].i);
+				glTexCoord2f((warp.nodes[i][j].u * uv_width), (warp.nodes[i][j].v * uv_height));
+				glVertex3f(warp.nodes[i][j].x, warp.nodes[i][j].y,0.0);
 			}
 		}
 		glEnd();




More information about the Bf-blender-cvs mailing list