[Bf-blender-cvs] [3b28c785d4e] master: Cycles: show viewport hair settings when using Cycles

Ethan-Hall noreply at git.blender.org
Fri Mar 11 18:28:05 CET 2022


Commit: 3b28c785d4e438428af3aa513d56f5fd394498e4
Author: Ethan-Hall
Date:   Wed Mar 9 17:00:22 2022 +0100
Branches: master
https://developer.blender.org/rB3b28c785d4e438428af3aa513d56f5fd394498e4

Cycles: show viewport hair settings when using Cycles

Before this patch, users had to switch render engines just to change how the
hair should be displayed in solid and material preview viewport shading modes.

Differential Revision: https://developer.blender.org/D14290

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

M	intern/cycles/blender/addon/ui.py
M	release/scripts/startup/bl_ui/properties_render.py

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

diff --git a/intern/cycles/blender/addon/ui.py b/intern/cycles/blender/addon/ui.py
index 10a72c598e2..2b74a1b7ccf 100644
--- a/intern/cycles/blender/addon/ui.py
+++ b/intern/cycles/blender/addon/ui.py
@@ -11,6 +11,7 @@ from bl_ui.utils import PresetPanel
 from bpy.types import Panel
 
 from bl_ui.properties_grease_pencil_common import GreasePencilSimplifyPanel
+from bl_ui.properties_render import draw_hair_settings
 from bl_ui.properties_view_layer import ViewLayerCryptomattePanel, ViewLayerAOVPanel
 
 class CyclesPresetPanel(PresetPanel, Panel):
@@ -355,6 +356,13 @@ class CYCLES_RENDER_PT_hair(CyclesButtonsPanel, Panel):
         if ccscene.shape == 'RIBBONS':
             col.prop(ccscene, "subdivisions", text="Curve Subdivisions")
 
+class CYCLES_RENDER_PT_hair_viewport_display(CyclesButtonsPanel, Panel):
+    bl_label = "Viewport Display"
+    bl_parent_id = "CYCLES_RENDER_PT_hair"
+    bl_options = {'DEFAULT_CLOSED'}
+
+    def draw(self, context):
+        draw_hair_settings(self, context)
 
 class CYCLES_RENDER_PT_volumes(CyclesButtonsPanel, Panel):
     bl_label = "Volumes"
@@ -2153,6 +2161,7 @@ classes = (
     CYCLES_RENDER_PT_volumes,
     CYCLES_RENDER_PT_subdivision,
     CYCLES_RENDER_PT_hair,
+    CYCLES_RENDER_PT_hair_viewport_display,
     CYCLES_RENDER_PT_simplify,
     CYCLES_RENDER_PT_simplify_viewport,
     CYCLES_RENDER_PT_simplify_render,
diff --git a/release/scripts/startup/bl_ui/properties_render.py b/release/scripts/startup/bl_ui/properties_render.py
index b7522cbb04e..2a7af8357e7 100644
--- a/release/scripts/startup/bl_ui/properties_render.py
+++ b/release/scripts/startup/bl_ui/properties_render.py
@@ -484,6 +484,18 @@ class RENDER_PT_eevee_film(RenderButtonsPanel, Panel):
         sub.prop(props, "overscan_size", text="")
 
 
+def draw_hair_settings(self, context):
+    layout = self.layout
+    scene = context.scene
+    rd = scene.render
+
+    layout.use_property_split = True
+    layout.use_property_decorate = False  # No animation.
+
+    layout.prop(rd, "hair_type", text="Shape", expand=True)
+    layout.prop(rd, "hair_subdiv")
+
+
 class RENDER_PT_eevee_hair(RenderButtonsPanel, Panel):
     bl_label = "Hair"
     bl_options = {'DEFAULT_CLOSED'}
@@ -494,14 +506,7 @@ class RENDER_PT_eevee_hair(RenderButtonsPanel, Panel):
         return (context.engine in cls.COMPAT_ENGINES)
 
     def draw(self, context):
-        layout = self.layout
-        scene = context.scene
-        rd = scene.render
-
-        layout.use_property_split = True
-
-        layout.prop(rd, "hair_type", expand=True)
-        layout.prop(rd, "hair_subdiv")
+        draw_hair_settings(self, context)
 
 
 class RENDER_PT_eevee_performance(RenderButtonsPanel, Panel):
@@ -519,6 +524,7 @@ class RENDER_PT_eevee_performance(RenderButtonsPanel, Panel):
         rd = scene.render
 
         layout.use_property_split = True
+        layout.use_property_decorate = False  # No animation.
 
         layout.prop(rd, "use_high_quality_normals")



More information about the Bf-blender-cvs mailing list