[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [15324] trunk/blender/release/scripts/ DirectX8Exporter.py: [#13635] DirectX8Exporter with vertex colors
Campbell Barton
ideasman42 at gmail.com
Mon Jun 23 02:21:56 CEST 2008
Revision: 15324
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=15324
Author: campbellbarton
Date: 2008-06-23 02:21:49 +0200 (Mon, 23 Jun 2008)
Log Message:
-----------
[#13635] DirectX8Exporter with vertex colors
patch from Masaru Nemoto (mnemoto)
Made some modifications to the patch, use reduce() to get total face verts and some speedup for face vcol looping, also don't write vcol alpha since its used by brushes internally and has no useful meaning.
Modified Paths:
--------------
trunk/blender/release/scripts/DirectX8Exporter.py
Modified: trunk/blender/release/scripts/DirectX8Exporter.py
===================================================================
--- trunk/blender/release/scripts/DirectX8Exporter.py 2008-06-22 23:21:29 UTC (rev 15323)
+++ trunk/blender/release/scripts/DirectX8Exporter.py 2008-06-23 00:21:49 UTC (rev 15324)
@@ -6,9 +6,9 @@
# Group: 'Export'
# Tooltip: 'Export to DirectX text file format format for XNA Animation Component Library.'
"""
-__author__ = "minahito (original:Arben (Ben) Omari)"
-__url__ = ("blender", "blenderartists.org", "Adjuster's site http://sunday-lab.blogspot.com/, Author's site http://www.omariben.too.it")
-__version__ = "3.0"
+__author__ = "vertex color exporting feature is added by mnemoto (original:minahito (original:Arben (Ben) Omari))"
+__url__ = ("blender", "elysiun", "Adjuster's site http://sunday-lab.blogspot.com/, Author's site http://www.omariben.too.it","Adjuster's site http://ex.homeunix.net/")
+__version__ = "3.1"
__bpydoc__ = """\
This script exports a Blender mesh with armature to DirectX 8's text file
@@ -444,6 +444,7 @@
self.writeMeshMaterialList(obj, mesh, tex)
self.writeMeshNormals(obj, mesh)
self.writeMeshTextureCoords(obj, mesh)
+ self.writeMeshVertexColors(obj, mesh)
self.file.write(" } // End of the Mesh %s \n" % (obj.name))
@@ -464,6 +465,7 @@
self.writeMeshMaterialList(obj, mesh, tex)
self.writeMeshNormals(obj, mesh)
self.writeMeshTextureCoords(obj, mesh)
+ self.writeMeshVertexColors(obj, mesh)
self.file.write(" }\n")
self.file.write("}\n")
ind = objs.index(obj)
@@ -1047,6 +1049,32 @@
self.file.write(",\n")
self.file.write("} //End of MeshTextureCoords\n")
+
+ #***********************************************
+ #MESH VORTEX COLORS
+ #***********************************************
+ def writeMeshVertexColors(self, name, mesh):
+ if mesh.hasVertexColours():
+ self.file.write("MeshVertexColors {\n")
+ #VERTICES NUMBER
+ numvert = reduce( lambda i,f: len(f)+i, mesh.faces, 0)
+ self.file.write("%d;\n" % (numvert))
+ #VERTEX COLORS
+
+ vcounter =0
+ for f in mesh.faces:
+ col = f.col
+ for i,c in enumerate(col):
+ # Note vcol alpha has no meaning
+ self.file.write("%d;%f;%f;%f;%f;" % (vcounter,c.r/255.0, c.g/255.0, c.b/255.0, 1.0)) # c.a/255.0))
+ vcounter+=1
+ if vcounter == numvert :
+ self.file.write(";\n")
+ else :
+ self.file.write(",\n")
+
+ self.file.write("} //End of MeshVertexColors\n")
+
#***********************************************#***********************************************#***********************************************
#***********************************************
#FRAMES
More information about the Bf-blender-cvs
mailing list