class MeshExporter:
def __init__(self):
self.show_progress = True
- self.use_strips = True
- self.use_degen_tris = False
self.export_all = False
- def join_strips(self, strips):
- big_strip = []
-
- for s in strips:
- if big_strip:
- # Generate glue elements, ensuring that the next strip begins at
- # an even position
- glue = [big_strip[-1], s[0]]
- if len(big_strip)%2:
- glue += [s[0]]
-
- big_strip += glue
-
- big_strip += s
-
- return big_strip
-
def export_to_file(self, context, out_fn):
if self.export_all:
objs = [o for o in context.selected_objects if o.type=="MESH"]
statements.append(st)
- if self.use_strips:
- strips = mesh.vertex_sequence
- if self.use_degen_tris:
- strips = [self.join_strips(strips)]
-
- for s in strips:
+ 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])))