def __init__(self):
self.textures = "REF"
self.separate_mesh = False
- self.shared_mesh = True
self.separate_tech = False
- self.shared_tech = True
+ self.shared_resources = True
self.export_lods = True
def export(self, context, out_file, obj=None, progress=None):
if l.technique!=prev_tech[0]:
same_tech = False
if i==0 or not same_tech:
- self.export_object_technique(l, mesh, out_file, i)
+ self.export_object_technique(l, out_file, i)
prev_tech = (l.technique, mat)
if i>0:
if self.separate_mesh:
from .outfile import open_output
path, name = external_name(out_file, ".mesh", lod_index)
- if self.shared_mesh:
+ if self.shared_resources:
name = obj.data.name+".mesh"
mesh_out = open_output(os.path.join(path, name))
mesh = mesh_export.export(context, mesh_out, obj, progress)
return mesh
- def export_object_technique(self, obj, mesh, out_file, lod_index):
+ def export_object_technique(self, obj, out_file, lod_index):
material = None
if obj.material_slots:
material = obj.material_slots[0].material
else:
out_file.write("technique", '"{}"'.format(obj.technique))
elif self.separate_tech:
- if self.shared_tech and material:
+ if self.shared_resources and material:
name = material.name+".tech"
tech_out = open_output(os.path.join(path, name))
- self.export_technique_definition(material, mesh, tech_out)
+ self.export_technique_definition(material, tech_out)
out_file.write("technique", '"{}"'.format(name))
else:
out_file.begin("technique")
- self.export_technique_definition(material, obj.material_tex, mesh, out_file)
+ self.export_technique_definition(material, out_file)
out_file.end()
- def export_technique_definition(self, material, material_tex, mesh, out_file):
+ def export_technique_definition(self, material, out_file):
out_file.begin("pass", '""')
if material:
- if material_tex:
- out_file.begin("material")
- out_file.write("diffuse", 1.0, 1.0, 1.0, 1.0)
- out_file.end()
- out_file.begin("texunit", 0)
- out_file.begin("texture2d")
- out_file.write("min_filter", "NEAREST")
- out_file.write("mag_filter", "NEAREST")
- out_file.write("storage", "RGB", len(mesh.materials), 1)
- texdata = '"'
- for m in mesh.materials:
- cm = get_colormap(m.srgb_colors)
- color = [int(cm(c)*255) for c in m.diffuse_color*m.diffuse_intensity]
- texdata += "\\x%02X\\x%02X\\x%02X"%tuple(color)
- texdata += '"'
- out_file.write("raw_data", texdata)
- out_file.end()
- out_file.end()
- else:
- out_file.begin("material")
- self.export_material(material, out_file)
- out_file.end()
+ out_file.begin("material")
+ self.export_material(material, out_file)
+ out_file.end()
if self.textures!="NONE":
diffuse_tex = None