]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/properties.py
Make it possible to export instance arrays from Blender
[libs/gl.git] / blender / io_mspgl / properties.py
index ef4018264e98613811f1eea0d4be1a0bb4b59be1..b21f45a2bfdc103ec2d130174cbb5fe87e54ba8a 100644 (file)
@@ -21,6 +21,8 @@ class MspGLWorldProperties(bpy.types.Panel):
 
        def draw(self, context):
                world = context.scene.world
+               if not world:
+                       return
 
                self.layout.prop(world, "use_sky")
                if world.use_sky:
@@ -40,7 +42,6 @@ class MspGLMeshProperties(bpy.types.Panel):
        def draw(self, context):
                mesh = context.active_object.data
 
-               self.layout.prop(mesh, "winding_test")
                self.layout.prop(mesh, "smoothing")
                self.layout.prop(mesh, "use_strips")
 
@@ -115,11 +116,10 @@ class MspGLMaterialProperties(bpy.types.Panel):
                if mat.render_mode=='BUILTIN':
                        self.layout.prop(mat, "receive_shadows")
                        self.layout.prop(mat, "image_based_lighting")
+                       self.layout.prop(mat, "instancing")
                self.layout.prop(mat, "array_atlas")
                if mat.array_atlas:
                        self.layout.prop(mat, "array_layer")
-               if mat.render_mode!='EXTERNAL':
-                       self.layout.prop(mat, "material_atlas")
                if mat.render_mode=='CUSTOM':
                        self.layout.separator()
                        self.layout.label(text="Uniform values")
@@ -238,7 +238,6 @@ def register_properties():
        bpy.types.World.use_sky = bpy.props.BoolProperty(name="Realtime sky", description="Use a realtime rendered sky background", default=False)
        bpy.types.World.sun_light = bpy.props.PointerProperty(type=bpy.types.Light, name="Sun", description="Light to use as sun for the sky")
 
-       bpy.types.Mesh.winding_test = bpy.props.BoolProperty(name="Winding test", description="Perform winding test to skip back faces")
        bpy.types.Mesh.smoothing = bpy.props.EnumProperty(name="Smoothing", description="Smoothing method to use", default="MSPGL",
                items=(("NONE", "None", "No smoothing"),
                        ("BLENDER", "Blender", "Use Blender's vertex normals"),
@@ -270,9 +269,9 @@ def register_properties():
        bpy.types.Material.active_render_method_index = bpy.props.IntProperty("Active render method index")
        bpy.types.Material.receive_shadows = bpy.props.BoolProperty(name="Receive shadows", description="Receive shadows from a shadow map", default=True)
        bpy.types.Material.image_based_lighting = bpy.props.BoolProperty(name="Image based lighting", description="Use an environment map for ambient lighting", default=False)
+       bpy.types.Material.instancing = bpy.props.BoolProperty(name="Instanced rendering", description="Use instanced draw calls for objects with this material", default=False)
        bpy.types.Material.array_atlas = bpy.props.BoolProperty(name="Texture array atlas", description="The material is stored in a texture array")
        bpy.types.Material.array_layer = bpy.props.IntProperty("Texture array layer", description="Layer of the texture array atlas to use")
-       bpy.types.Material.material_atlas = bpy.props.BoolProperty(name="Material atlas", description="Make this material part of a material atlas")
        bpy.types.Material.uniforms = bpy.props.CollectionProperty(type=MspGLUniform, name="Uniforms", description="Uniform variables to add to the technique")
        bpy.types.Material.active_uniform_index = bpy.props.IntProperty("Active uniform index")