+import os
+
def linear_to_srgb(l):
if l<0.0031308:
return 12.92*l
self.material_tex = False
self.srgb_colors = True
self.textures = "REF"
+ self.separate_mesh = False
+ self.separate_tech = False
+ self.external_tech = True
+ self.shared_tech = True
def export(self, context, out_file):
+ obj = context.active_object
+
from .outfile import open_output
out_file = open_output(out_file)
for k, v in self.__dict__.items():
setattr(mesh_export, k, v)
- out_file.begin("mesh")
- mesh = mesh_export.export(context, out_file)
- out_file.end()
+ if self.separate_mesh:
+ path, base = os.path.split(out_file.filename)
+ base, ext = os.path.splitext(base)
+ mesh_out = open_output(os.path.join(path, base+".mesh"))
+ mesh = mesh_export.export(context, mesh_out)
+ out_file.write("mesh", "\""+base+".mesh\"")
+ else:
+ out_file.begin("mesh")
+ mesh = mesh_export.export(context, out_file)
+ out_file.end()
- out_file.begin("technique")
+ if self.external_tech and obj.technique:
+ out_file.write("technique", '"{}"'.format(obj.technique))
+ elif self.separate_tech:
+ path, base = os.path.split(out_file.filename)
+ if self.shared_tech and mesh.materials:
+ tech_name = mesh.materials[0].name+".tech"
+ else:
+ base, ext = os.path.splitext(base)
+ tech_name = base+".tech"
+ tech_out = open_output(os.path.join(path, tech_name))
+ self.export_technique(mesh, tech_out)
+ out_file.write("technique", '"{}"'.format(tech_name))
+ else:
+ out_file.begin("technique")
+ self.export_technique(mesh, out_file)
+ out_file.end()
+
+ def export_technique(self, mesh, out_file):
out_file.begin("pass", '""')
if mesh.materials:
if self.srgb_colors:
out_file.end()
out_file.end()
- out_file.end()