X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fexport_mesh.py;h=e620b86f22ab9f0ebe155eb8ed50d3bcd9615789;hb=HEAD;hp=b85fd2f8c57c9906290548daaf7882aa962b1837;hpb=308dc6b8f5ee1aa3bb8f205e2ed6464749eebbe5;p=libs%2Fgl.git diff --git a/blender/io_mspgl/export_mesh.py b/blender/io_mspgl/export_mesh.py index b85fd2f8..b0f186db 100644 --- a/blender/io_mspgl/export_mesh.py +++ b/blender/io_mspgl/export_mesh.py @@ -1,8 +1,3 @@ -import itertools -import os -import bpy -import mathutils - class MeshExporter: def export_mesh(self, ctx, mesh_or_obj): from .mesh import Mesh, create_mesh_from_object @@ -19,6 +14,8 @@ class MeshExporter: task = ctx.task("Creating statements", 1.0) + statements.append(Statement("winding", Token('COUNTERCLOCKWISE'))) + st = Statement("vertices", Token("VERTEX3_FLOAT")) stride = 12 if mesh.vertices[0].color: @@ -93,27 +90,14 @@ class MeshExporter: statements.append(st) - if mesh.use_strips: - for s in mesh.vertex_sequence: - st = Statement("batch", Token("TRIANGLE_STRIP")) - for i in range(0, len(s), 32): - st.sub.append(Statement("indices", *(v.index for v in s[i:i+32]))) - statements.append(st) - else: - st = Statement("batch", Token('TRIANGLES')) - for f in mesh.faces: - st.sub.append(Statement("indices", *(v.index for v in f.vertices))) - statements.append(st) - - if mesh.lines: - st = Statement("batch", Token('LINES')) - for l in mesh.lines: - st.sub.append(Statement("indices", *(v.index for v in l.vertices))) + for b in mesh.batches: + st = Statement("batch", Token(b.primitive_type)) + if b.primitive_type=="PATCHES": + st.sub.append(Statement("patch_size", b.patch_size)) + for i in range(0, len(b.vertices), 32): + st.sub.append(Statement("indices", *(v.index for v in b.vertices[i:i+32]))) statements.append(st) - if mesh.winding_test: - statements.append(Statement("winding", Token('COUNTERCLOCKWISE'))) - task.set_progress(1.0) return resource