diff options
author | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-18 12:40:23 +0300 |
---|---|---|
committer | Brecht Van Lommel <brechtvanlommel@gmail.com> | 2019-05-18 12:46:26 +0300 |
commit | 8d30ed32b4293143672fd250ae377c3bd33f2b00 (patch) | |
tree | 3e342480f59357aec8b742c4c443a27771c07575 | |
parent | ca5a47570fd872f03aa9a8ad95c6375df91cd002 (diff) |
Updates for removal of mesh.show_double_sided
Change glTF to use the new material backface culling option, which is more
correct since the Blender double sided option was about lighting only, not
culling.
-rwxr-xr-x | io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py | 8 | ||||
-rw-r--r-- | space_view3d_display_tools/display.py | 27 | ||||
-rw-r--r-- | space_view3d_display_tools/useless_tools.py | 24 | ||||
-rw-r--r-- | space_view3d_spacebar_menu.py | 1 |
4 files changed, 4 insertions, 56 deletions
diff --git a/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py b/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py index 79ed5fd7..e981fad2 100755 --- a/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py +++ b/io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py @@ -53,7 +53,7 @@ def gather_primitives( extensions=None, extras=None, indices=__gather_indices(internal_primitive, blender_mesh, modifiers, export_settings), - material=__gather_materials(internal_primitive, blender_mesh, modifiers, export_settings), + material=__gather_materials(internal_primitive, modifiers, export_settings), mode=None, targets=__gather_targets(internal_primitive, blender_mesh, modifiers, export_settings) ) @@ -62,13 +62,13 @@ def gather_primitives( return primitives -def __gather_materials(blender_primitive, blender_mesh, modifiers, export_settings): +def __gather_materials(blender_primitive, modifiers, export_settings): if not blender_primitive['material']: # TODO: fix 'extract_primitives' so that the value of 'material' is None and not empty string return None - mesh_double_sided = blender_mesh.show_double_sided material = bpy.data.materials[blender_primitive['material']] - return gltf2_blender_gather_materials.gather_material(material, mesh_double_sided, export_settings) + material_double_sided = not material.use_backface_culling + return gltf2_blender_gather_materials.gather_material(material, material_double_sided, export_settings) def __gather_indices(blender_primitive, blender_mesh, modifiers, export_settings): diff --git a/space_view3d_display_tools/display.py b/space_view3d_display_tools/display.py index d0ff754d..a0ed0e87 100644 --- a/space_view3d_display_tools/display.py +++ b/space_view3d_display_tools/display.py @@ -123,33 +123,6 @@ class DisplayBoundsSwitch(Operator, BasePollCheck): return {'FINISHED'} -# Double Sided switch -class DisplayDoubleSidedSwitch(Operator, BasePollCheck): - bl_idname = "view3d.display_double_sided_switch" - bl_label = "On/Off" - bl_description = "Turn on/off face double shaded mode" - - double_side: BoolProperty(default=False) - - def execute(self, context): - try: - selection = bpy.context.selected_objects - - if not selection: - for mesh in bpy.data.meshes: - mesh.show_double_sided = self.double_side - else: - for sel in selection: - if sel.type == 'MESH': - mesh = sel.data - mesh.show_double_sided = self.double_side - except: - self.report({'ERROR'}, "Turn on/off face double shaded mode failed") - return {'CANCELLED'} - - return {'FINISHED'} - - # XRay switch class DisplayXRayOn(Operator, BasePollCheck): bl_idname = "view3d.display_x_ray_switch" diff --git a/space_view3d_display_tools/useless_tools.py b/space_view3d_display_tools/useless_tools.py index 9c89d3fe..eb4c3f16 100644 --- a/space_view3d_display_tools/useless_tools.py +++ b/space_view3d_display_tools/useless_tools.py @@ -269,30 +269,6 @@ class UTAllEdges(Operator): return {'FINISHED'} -class UTDoubleSided(Operator): - bl_idname = "ut.double_sided" - bl_label = "Double Sided Normals" - bl_description = "Disables Double Sided Normals for all objects" - - on: BoolProperty( - default=False - ) - - def execute(self, context): - errors = [] - for e in bpy.data.meshes: - try: - e.show_double_sided = self.on - except Exception as k: - name = getattr(e, "name", "Nameless") - errors.append( - "Applying Double Sided Normals on {} \nError: {}".format(name, k)) - if errors: - error_handlers(self, "ut.double_sided", errors, "Double Sided Normals") - - return {'FINISHED'} - - # Register def register(): bpy.utils.register_module(__name__) diff --git a/space_view3d_spacebar_menu.py b/space_view3d_spacebar_menu.py index a31b9405..a091e8a2 100644 --- a/space_view3d_spacebar_menu.py +++ b/space_view3d_spacebar_menu.py @@ -1312,7 +1312,6 @@ class VIEW3D_MT_AutoSmooth(Menu): layout.operator("mesh.flip_normals") UseSeparator(self, context) - layout.prop(obj_data, "show_double_sided", text="Normals: Double Sided") UseSeparator(self, context) layout.prop(obj_data, "use_auto_smooth", text="Normals: Auto Smooth") |