BGE bugfix: [#34550] getVertexArrayLength changed in 2.66
authorDalai Felinto <dfelinto@gmail.com>
Thu, 21 Mar 2013 21:10:14 +0000 (21:10 +0000)
committerDalai Felinto <dfelinto@gmail.com>
Thu, 21 Mar 2013 21:10:14 +0000 (21:10 +0000)
This bug was producing way more geometry than we need. Potentially
memory saver (or performance even) bugfix.

Bottomline is:
We need to initialize the UVs otherwise vertex comparison fails ...
Ideally MoTo should take care of initializing MT_Point2
(note in Windows that seems to be fine, but it's safer to not rely on that)

source/gameengine/Converter/BL_BlenderDataConversion.cpp

index 6262f8e48ce110497417246a04da7634c37d9c55..d90708602d54902b78787c18f6637be9d6776df8 100644 (file)
@@ -1137,6 +1137,11 @@ RAS_MeshObject* BL_ConvertMesh(Mesh* mesh, Object* blenderobj, KX_Scene* scene,
                tan[i].setValue(zero_vec);
        }
 
+       /* we need to manually initialize the uvs (MoTo doesn't do that) [#34550] */
+       for (unsigned int i = 0; i < RAS_TexVert::MAX_UNIT; i++) {
+               uvs[0][i] = uvs[1][i] = uvs[2][i] = uvs[3][i] = MT_Point2(0.f, 0.f);
+       }
+
        for (int f=0;f<totface;f++,mface++)
        {
                /* get coordinates, normals and tangents */