reworked lighting uniforms
[carveJwlIkooP6JGAAIwe30JlM.git] / blender_export.py
index a13e84eb4a95b926018528902d7b26c9aee250b2..16b97645b306d758406b4233c8da3ca9b93e0bc3 100644 (file)
@@ -212,16 +212,22 @@ def write_model(name):
 
                for j in range(3):
                   vert = data.vertices[tri.vertices[j]]
+                  li = tri.loops[j]
 
                   co = vert.co
-                  norm = data.loops[tri.loops[j]].normal
+                  norm = data.loops[li].normal
                   uv = (0,0)
+                  colour = (1,1,1,1)
                   if data.uv_layers:
-                     uv = data.uv_layers.active.data[tri.loops[j]].uv
+                     uv = data.uv_layers.active.data[li].uv
+                  if data.vertex_colors:
+                     colour = data.vertex_colors.active.data[li].color
 
                   key = (round(co[0],4),round(co[1],4),round(co[2],4),\
                          round(norm[0],4),round(norm[1],4),round(norm[2],4),\
-                         round(uv[0],4),round(uv[1],4))
+                         round(uv[0],4),round(uv[1],4),\
+                         round(colour[0],4),round(colour[1],4),\
+                         round(colour[2],4),round(colour[3],4))
 
                   if key in boffa:
                      indice_buffer += [boffa[key]]
@@ -244,10 +250,10 @@ def write_model(name):
                      v.norm[2] = -norm[1]
                      v.uv[0] = uv[0]
                      v.uv[1] = uv[1]
-                     v.colour[0] = 1.0
-                     v.colour[1] = 1.0
-                     v.colour[2] = 1.0
-                     v.colour[3] = 1.0
+                     v.colour[0] = colour[0]
+                     v.colour[1] = colour[1]
+                     v.colour[2] = colour[2]
+                     v.colour[3] = colour[3]
                      vertex_buffer += [v]
 
                      for i in range(3):