self.layout.operator(ExportMspGLArmature.bl_idname, text="Msp GL armature")
self.layout.operator(ExportMspGLScene.bl_idname, text="Msp GL scene")
-from .properties import MspGLProperties
+from .properties import MspGLMeshProperties, MspGLObjectProperties
def register():
bpy.utils.register_module(__name__)
mesh = None
bmeshes = []
+ winding_test = False
for o, m in objs:
+ if o.data.winding_test:
+ winding_test = True
bmesh = o.to_mesh(context.scene, True, "PREVIEW")
bmeshes.append(bmesh)
me = Mesh(bmesh)
out_file.write("indices", l.vertices[0].index, l.vertices[1].index)
out_file.end()
+ if winding_test:
+ out_file.write("winding", "COUNTERCLOCKWISE")
+
if progress:
progress.set_task("Done", 1.0, 1.0)
import bpy
-class MspGLProperties(bpy.types.Panel):
+class MspGLMeshProperties(bpy.types.Panel):
+ bl_idname = "MESH_PT_mspgl_properties"
+ bl_label = "MspGL properties"
+ bl_space_type = "PROPERTIES"
+ bl_region_type = "WINDOW"
+ bl_context = "data"
+
+ @classmethod
+ def poll(cls, context):
+ return context.active_object.type=="MESH"
+
+ def draw(self, context):
+ mesh = context.active_object.data
+
+ self.layout.prop(mesh, "winding_test")
+
+class MspGLObjectProperties(bpy.types.Panel):
bl_idname = "OBJECT_PT_mspgl_properties"
bl_label = "MspGL properties"
bl_space_type = "PROPERTIES"
self.layout.prop(obj, "lod_index")
def register_properties():
+ bpy.types.Mesh.winding_test = bpy.props.BoolProperty(name="Winding test", description="Perform winding test to skip back faces")
bpy.types.Object.technique = bpy.props.StringProperty(name="Technique", description="Name of the technique to use for rendering")
bpy.types.Object.inherit_tech = bpy.props.BoolProperty(name="Inherit technique", description="Inherit from the technique to customize textures")
bpy.types.Object.override_material = bpy.props.BoolProperty(name="Override material", description="Override material in the inherited texture as well", default=True)