[Bf-extensions-cvs] [8d30ed32] master: Updates for removal of mesh.show_double_sided

Brecht Van Lommel noreply at git.blender.org
Sat May 18 11:46:56 CEST 2019


Commit: 8d30ed32b4293143672fd250ae377c3bd33f2b00
Author: Brecht Van Lommel
Date:   Sat May 18 11:40:23 2019 +0200
Branches: master
https://developer.blender.org/rBA8d30ed32b4293143672fd250ae377c3bd33f2b00

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.

===================================================================

M	io_scene_gltf2/blender/exp/gltf2_blender_gather_primitives.py
M	space_view3d_display_tools/display.py
M	space_view3d_display_tools/useless_tools.py
M	space_view3d_spacebar_menu.py

===================================================================

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")



More information about the Bf-extensions-cvs mailing list