Revision: 48337
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=48337
Author:   alexk
Date:     2012-06-27 14:53:15 +0000 (Wed, 27 Jun 2012)
Log Message:
-----------
Fix GLES mesh conversion

Modified Paths:
--------------
    
branches/soc-2012-swiss_cheese/source/gameengine/Converter/BL_BlenderDataConversion.cpp

Modified: 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/BL_BlenderDataConversion.cpp
===================================================================
--- 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/BL_BlenderDataConversion.cpp
     2012-06-27 14:40:43 UTC (rev 48336)
+++ 
branches/soc-2012-swiss_cheese/source/gameengine/Converter/BL_BlenderDataConversion.cpp
     2012-06-27 14:53:15 UTC (rev 48337)
@@ -1219,18 +1219,31 @@
                        poly->SetTwoside(twoside);
                        //poly->SetEdgeCode(mface->edcode);
 
-#ifdef GLES
-                       // Looks like we need a different vertex order for GLES
-                       
meshobj->AddVertex(poly,0,pt[2],uvs[2],tan[2],rgb[2],no[2],flat,mface->v3);
-                       
meshobj->AddVertex(poly,1,pt[3],uvs[3],tan[3],rgb[3],no[3],flat,mface->v4);
-                       
meshobj->AddVertex(poly,2,pt[0],uvs[0],tan[0],rgb[0],no[0],flat,mface->v1);
-#else
                        
meshobj->AddVertex(poly,0,pt[0],uvs[0],tan[0],rgb[0],no[0],flat,mface->v1);
                        
meshobj->AddVertex(poly,1,pt[1],uvs[1],tan[1],rgb[1],no[1],flat,mface->v2);
                        
meshobj->AddVertex(poly,2,pt[2],uvs[2],tan[2],rgb[2],no[2],flat,mface->v3);
 
+#ifndef GLES
                        if (nverts==4)
                                
meshobj->AddVertex(poly,3,pt[3],uvs[3],tan[3],rgb[3],no[3],flat,mface->v4);
+                       
+                       
+#else
+                       if(mface->v4)
+                       {
+                               // GLES doesn't support QUADs so we are 
spliiting  a quad |_| to two triangles |/|
+                               
+                               poly = meshobj->AddPolygon(bucket, 3);
+
+                               poly->SetVisible(visible);
+                               poly->SetCollider(collider);
+                               poly->SetTwoside(twoside);
+                               
+                               
meshobj->AddVertex(poly,0,pt[2],uvs[2],tan[2],rgb[2],no[2],flat,mface->v3);
+                               
meshobj->AddVertex(poly,1,pt[3],uvs[3],tan[3],rgb[3],no[3],flat,mface->v4);
+                               
meshobj->AddVertex(poly,2,pt[0],uvs[0],tan[0],rgb[0],no[0],flat,mface->v1);
+                               
+                       }
 #endif
 
                }
@@ -1600,18 +1613,30 @@
                        poly->SetTwoside(twoside);
                        //poly->SetEdgeCode(mface->edcode);
 
-#ifdef GLES
-                       // Looks like we need a different vertex order for GLES
-                       
meshobj->AddVertex(poly,0,pt[2],uvs[2],tan[2],rgb2,no[2],flat,mface->v3);
-                       
meshobj->AddVertex(poly,1,pt[3],uvs[3],tan[3],rgb3,no[3],flat,mface->v4);
-                       
meshobj->AddVertex(poly,2,pt[0],uvs[0],tan[0],rgb0,no[0],flat,mface->v1);
-#else
                        
meshobj->AddVertex(poly,0,pt[0],uvs[0],tan[0],rgb0,no[0],flat,mface->v1);
                        
meshobj->AddVertex(poly,1,pt[1],uvs[1],tan[1],rgb1,no[1],flat,mface->v2);
                        
meshobj->AddVertex(poly,2,pt[2],uvs[2],tan[2],rgb2,no[2],flat,mface->v3);
 
+
+#ifndef GLES
                        if (nverts==4)
                                
meshobj->AddVertex(poly,3,pt[3],uvs[3],tan[3],rgb3,no[3],flat,mface->v4);
+#else
+                       if(mface->v4)
+                       {
+                               // GLES doesn't support QUADs so we are 
spliiting  a quad |_| to two triangles |/|
+                               
+                               poly = meshobj->AddPolygon(bucket, 3);
+
+                               poly->SetVisible(visible);
+                               poly->SetCollider(collider);
+                               poly->SetTwoside(twoside);
+                               
+                               
meshobj->AddVertex(poly,0,pt[2],uvs[2],tan[2],rgb2,no[2],flat,mface->v3);
+                               
meshobj->AddVertex(poly,1,pt[3],uvs[3],tan[3],rgb3,no[3],flat,mface->v4);
+                               
meshobj->AddVertex(poly,2,pt[0],uvs[0],tan[0],rgb0,no[0],flat,mface->v1);
+                               
+                       }
 #endif
 
                }

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to