Commit: 4500e100bb70e069bf03724cbad6bcb552ca2b7f Author: Antonio Vazquez Date: Wed Oct 6 17:07:51 2021 +0200 Branches: temp-eevee-gpencil-rewrite https://developer.blender.org/rB4500e100bb70e069bf03724cbad6bcb552ca2b7f
Changes in Material panels =================================================================== M release/scripts/startup/bl_ui/properties_material.py M release/scripts/startup/bl_ui/properties_material_gpencil.py =================================================================== diff --git a/release/scripts/startup/bl_ui/properties_material.py b/release/scripts/startup/bl_ui/properties_material.py index 1c7f3639f0a..c74578d47d2 100644 --- a/release/scripts/startup/bl_ui/properties_material.py +++ b/release/scripts/startup/bl_ui/properties_material.py @@ -64,7 +64,7 @@ class MaterialButtonsPanel: @classmethod def poll(cls, context): mat = context.material - return mat and (context.engine in cls.COMPAT_ENGINES) and not mat.grease_pencil + return mat and (((context.engine in cls.COMPAT_ENGINES) and not mat.grease_pencil) or (mat.grease_pencil and mat.use_nodes)) class MATERIAL_PT_preview(MaterialButtonsPanel, Panel): @@ -72,6 +72,11 @@ class MATERIAL_PT_preview(MaterialButtonsPanel, Panel): bl_options = {'DEFAULT_CLOSED'} COMPAT_ENGINES = {'BLENDER_EEVEE'} + @classmethod + def poll(cls, context): + mat = context.material + return mat and (((context.engine in cls.COMPAT_ENGINES) and not mat.grease_pencil) or (mat.grease_pencil and mat.use_nodes)) + def draw(self, context): self.layout.template_preview(context.material) diff --git a/release/scripts/startup/bl_ui/properties_material_gpencil.py b/release/scripts/startup/bl_ui/properties_material_gpencil.py index 9d099ff2231..d7dace27c8c 100644 --- a/release/scripts/startup/bl_ui/properties_material_gpencil.py +++ b/release/scripts/startup/bl_ui/properties_material_gpencil.py @@ -120,12 +120,19 @@ class MATERIAL_PT_gpencil_slots(GreasePencilMaterialsPanel, Panel): class MATERIAL_PT_gpencil_surface(GPMaterialButtonsPanel, Panel): bl_label = "Surface" + @classmethod + def poll(cls, context): + mat = context.material + return (mat and mat.use_nodes is False) + def draw_header_preset(self, _context): MATERIAL_PT_gpencil_material_presets.draw_panel_header(self.layout) - def draw(self, _context): + def draw(self, context): layout = self.layout - layout.use_property_split = True + mat = context.material + layout.prop(mat, "use_nodes", icon='NODETREE') + layout.separator() class MATERIAL_PT_gpencil_strokecolor(GPMaterialButtonsPanel, Panel): @@ -239,6 +246,11 @@ class MATERIAL_PT_gpencil_preview(GPMaterialButtonsPanel, Panel): COMPAT_ENGINES = {'BLENDER_EEVEE'} bl_options = {'DEFAULT_CLOSED'} + @classmethod + def poll(cls, context): + mat = context.material + return (mat and mat.grease_pencil and mat.use_nodes is False) + def draw(self, context): ma = context.material self.layout.label(text=ma.name) @@ -250,15 +262,51 @@ class MATERIAL_PT_gpencil_custom_props(GPMaterialButtonsPanel, PropertyPanel, Pa _context_path = "object.active_material" _property_type = bpy.types.Material + @classmethod + def poll(cls, context): + mat = context.material + return (mat and mat.grease_pencil and mat.use_nodes is False) + + +def draw_material_settings(self, context): + layout = self.layout + layout.use_property_split = True + layout.use_property_decorate = False + + mat = context.material + + layout.prop(mat, "use_backface_culling") + layout.prop(mat, "blend_method") + layout.prop(mat, "shadow_method") + + row = layout.row() + row.active = ((mat.blend_method == 'CLIP') or (mat.shadow_method == 'CLIP')) + row.prop(mat, "alpha_threshold") + + if mat.blend_method not in {'OPAQUE', 'CLIP', 'HASHED'}: + layout.prop(mat, "show_transparent_back") + + layout.prop(mat, "use_screen_refraction") + layout.prop(mat, "refraction_depth") + layout.prop(mat, "use_sss_translucency") + layout.prop(mat, "pass_index") + class MATERIAL_PT_gpencil_settings(GPMaterialButtonsPanel, Panel): bl_label = "Settings" bl_options = {'DEFAULT_CLOSED'} + @classmethod + def poll(cls, context): + mat = context.material + return (mat and mat.grease_pencil and mat.use_nodes is False) + def draw(self, context): + draw_material_settings(self, context) + + # TODO: Remove prop pass_index and move to material struct layout = self.layout layout.use_property_split = True - ma = context.material gpcolor = ma.grease_pencil layout.prop(gpcolor, "pass_index") _______________________________________________ Bf-blender-cvs mailing list Bf-blender-cvs@blender.org List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs