- mesh_name = l.data.name+".mesh"
- if mesh_name not in resources:
- mesh = create_mesh_from_object(context, l, progress)
- mesh_res = mesh_export.export_mesh(context, mesh, progress)
- resources[mesh_name] = mesh_res
+ material_map = None
+ mapped_count = sum(m.material_map for m in l.data.materials)
+ if mapped_count:
+ material_map_tech = l.data.materials[0].technique
+ tech_mismatch = any(m.technique!=material_map_tech for m in l.data.materials)
+ if mapped_count!=len(l.data.materials) or tech_mismatch:
+ raise Exception("Conflicting settings in object materials")
+
+ if material_map_tech in material_maps:
+ material_map = material_maps[material_map_tech]
+ else:
+ material_map = create_material_map(context, l.data.materials[0])
+ material_maps[material_map_tech] = material_map