+ prev_mesh = None
+ prev_tech = (None, None)
+ for i, l in enumerate(lods):
+ if i>0:
+ out_file.begin("level_of_detail", i)
+ objs = [l]
+
+ same_mesh = (l.data.name==prev_mesh)
+ if i==0 or not same_mesh:
+ mesh = self.export_object_mesh(context, out_file, i, objs, progress)
+ prev_mesh = l.data.name
+
+ same_tech = True
+ mat = None
+ if l.material_slots and l.material_slots[0].material:
+ mat = l.material_slots[0].material.name
+ if mat!=prev_tech[1]:
+ same_tech = False
+ if self.external_tech and l.technique!=prev_tech[0]:
+ same_tech = False
+ if i==0 or not same_tech:
+ self.export_object_technique(l, mesh, out_file, i)
+ prev_tech = (l.technique, mat)
+
+ if i>0:
+ out_file.end()
+
+ def export_object_mesh(self, context, out_file, lod_index, objs, progress):