Fix: Glass node missing buttons after adding thin film panel

_No response_

Pull Request: https://projects.blender.org/blender/blender/pulls/143616
This commit is contained in:
Weizhen Huang
2025-07-31 09:41:31 +02:00
committed by Weizhen Huang
parent 941582324c
commit 1b80bd2da9
2 changed files with 8 additions and 1 deletions

View File

@@ -463,7 +463,6 @@ static void node_shader_set_butfunc(blender::bke::bNodeType *ntype)
case SH_NODE_VECTOR_DISPLACEMENT:
ntype->draw_buttons = node_shader_buts_displacement;
break;
case SH_NODE_BSDF_GLASS:
case SH_NODE_BSDF_REFRACTION:
ntype->draw_buttons = node_shader_buts_glossy;
break;

View File

@@ -12,6 +12,8 @@ static void node_declare(NodeDeclarationBuilder &b)
b.add_output<decl::Shader>("BSDF");
b.add_default_layout();
b.add_input<decl::Color>("Color").default_value({1.0f, 1.0f, 1.0f, 1.0f});
b.add_input<decl::Float>("Roughness")
.default_value(0.0f)
@@ -36,6 +38,11 @@ static void node_declare(NodeDeclarationBuilder &b)
.description("Index of refraction (IOR) of the thin film");
}
static void node_shader_buts_glass(uiLayout *layout, bContext * /*C*/, PointerRNA *ptr)
{
layout->prop(ptr, "distribution", UI_ITEM_R_SPLIT_EMPTY_NAME, "", ICON_NONE);
}
static void node_shader_init_glass(bNodeTree * /*ntree*/, bNode *node)
{
node->custom1 = SHD_GLOSSY_MULTI_GGX;
@@ -102,6 +109,7 @@ void register_node_type_sh_bsdf_glass()
ntype.declare = file_ns::node_declare;
ntype.add_ui_poll = object_shader_nodes_poll;
blender::bke::node_type_size_preset(ntype, blender::bke::eNodeSizePreset::Middle);
ntype.draw_buttons = file_ns::node_shader_buts_glass;
ntype.initfunc = file_ns::node_shader_init_glass;
ntype.gpu_fn = file_ns::node_shader_gpu_bsdf_glass;
ntype.materialx_fn = file_ns::node_shader_materialx;