X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=blender%2Fio_mspgl%2Fproperties.py;h=032bf8ed5dbced582ecda1f4262da88080f94008;hb=HEAD;hp=26e84b2530e59476976daf68800c16e7c80e2659;hpb=74a5bc6159d2c753786a5ef6bf785263cd0538f1;p=libs%2Fgl.git diff --git a/blender/io_mspgl/properties.py b/blender/io_mspgl/properties.py index 26e84b25..6e1df641 100644 --- a/blender/io_mspgl/properties.py +++ b/blender/io_mspgl/properties.py @@ -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: @@ -41,13 +43,16 @@ class MspGLMeshProperties(bpy.types.Panel): mesh = context.active_object.data self.layout.prop(mesh, "smoothing") - self.layout.prop(mesh, "use_strips") + self.layout.prop(mesh, "use_patches") + if not mesh.use_patches: + self.layout.prop(mesh, "use_strips") self.layout.separator() col = self.layout.column() col.label(text="Data selection") - col.prop(mesh, "use_lines") + if not mesh.use_patches: + col.prop(mesh, "use_lines") col.prop(mesh, "vertex_groups") col.prop(mesh, "max_groups_per_vertex") @@ -114,11 +119,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") @@ -243,6 +247,7 @@ def register_properties(): ("MSPGL", "MspGL", "Compute vertex normals internally"))) bpy.types.Mesh.use_lines = bpy.props.BoolProperty(name="Include lines", description="Include edges without faces as lines", default=False) bpy.types.Mesh.use_strips = bpy.props.BoolProperty(name="Use strips", description="Combine the mesh's triangles into triangle strips", default=True) + bpy.types.Mesh.use_patches = bpy.props.BoolProperty(name="Export as patches", description="Export faces as patches, suitable for tessellation", default=False) bpy.types.Mesh.vertex_groups = bpy.props.BoolProperty(name="Vertex groups", description="Include vertex groups and weights", default=False) bpy.types.Mesh.max_groups_per_vertex = bpy.props.IntProperty(name="Max groups", description="Maximum amount of groups per vertex", min=1, max=4, default=2) bpy.types.Mesh.use_uv = bpy.props.EnumProperty(name="Use UV", description="Use UV coordinates", default="UNIT0", @@ -268,9 +273,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")