From 024676f43a1398fe00b858b58380bfee572d13e3 Mon Sep 17 00:00:00 2001 From: Onek8 Date: Fri, 19 Sep 2025 17:43:54 +0000 Subject: [PATCH] moisesjpelaez - General Material Updates --- leenkx/blender/lnx/props.py | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/leenkx/blender/lnx/props.py b/leenkx/blender/lnx/props.py index e8babe4..5decf0b 100644 --- a/leenkx/blender/lnx/props.py +++ b/leenkx/blender/lnx/props.py @@ -436,6 +436,18 @@ def init_properties(): bpy.types.Material.lnx_depth_read = BoolProperty(name="Read Depth", description="Allow this material to read from a depth texture which is copied from the depth buffer. The meshes using this material will be drawn after all meshes that don't read from the depth texture", default=False) bpy.types.Material.lnx_overlay = BoolProperty(name="Overlay", description="Renders the material, unshaded, over other shaded materials", default=False) bpy.types.Material.lnx_decal = BoolProperty(name="Decal", default=False) + bpy.types.Material.lnx_compare_mode = EnumProperty( + items=[ + ('always', 'Always', 'Always'), + ('never', 'Never', 'Never'), + ('less', 'Less', 'Less'), + ('less_equal', 'Less Equal', 'Less Equal'), + ('greater', 'Greater', 'Greater'), + ('greater_equal', 'Greater Equal', 'Greater Equal'), + ('equal', 'Equal', 'Equal'), + ('not_equal', 'Not Equal', 'Not Equal'), + ], + name="Compare Mode", default='less', description="Comparison mode for the material") bpy.types.Material.lnx_two_sided = BoolProperty(name="Two-Sided", description="Flip normal when drawing back-face", default=False) bpy.types.Material.lnx_ignore_irradiance = BoolProperty(name="Ignore Irradiance", description="Ignore irradiance for material", default=False) bpy.types.Material.lnx_cull_mode = EnumProperty( @@ -443,6 +455,8 @@ def init_properties(): ('clockwise', 'Front', 'Clockwise'), ('counter_clockwise', 'Back', 'Counter-Clockwise')], name="Cull Mode", default='clockwise', description="Draw geometry faces") + bpy.types.Material.lnx_next_pass = StringProperty( + name="Next Pass", default='', description="Next pass for the material", update=assets.invalidate_shader_cache) bpy.types.Material.lnx_discard = BoolProperty(name="Alpha Test", default=False, description="Do not render fragments below specified opacity threshold") bpy.types.Material.lnx_discard_opacity = FloatProperty(name="Mesh Opacity", default=0.2, min=0, max=1) bpy.types.Material.lnx_discard_opacity_shadows = FloatProperty(name="Shadows Opacity", default=0.1, min=0, max=1) @@ -557,6 +571,7 @@ def init_properties(): bpy.types.Material.export_uvs = BoolProperty(name="Export UVs", default=False) bpy.types.Material.export_vcols = BoolProperty(name="Export VCols", default=False) bpy.types.Material.export_tangents = BoolProperty(name="Export Tangents", default=False) + bpy.types.Material.lnx_sorting_order = IntProperty(name="Sorting Order", default=0) bpy.types.Material.lnx_skip_context = StringProperty(name="Skip Context", default='') bpy.types.Material.lnx_material_id = IntProperty(name="ID", default=0) bpy.types.NodeSocket.is_uniform = BoolProperty(name="Is Uniform", description="Mark node sockets to be processed as material uniforms", default=False)