diff options
author | Aaron Carlisle <carlisle.b3d@gmail.com> | 2021-12-07 02:51:19 +0300 |
---|---|---|
committer | Aaron Carlisle <carlisle.b3d@gmail.com> | 2021-12-07 02:52:08 +0300 |
commit | 97e3a2d935ba9b21b127eda7ca104d4bcf4e48bd (patch) | |
tree | 586cc0aad98acad4e1452ff4917a7ef56ce72fcb /source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc | |
parent | b1696702cdb74c2b6d7c8c3f9d204f108607a8ab (diff) |
Shader Nodes: Migrate shader category to new node socket declaration API
No functional changes, tests passed and I double checked the nodes by hand.
Diffstat (limited to 'source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc')
-rw-r--r-- | source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc | 33 |
1 files changed, 18 insertions, 15 deletions
diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc index dfd8c219f87..0bb0e886a7c 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc @@ -23,19 +23,23 @@ namespace blender::nodes::node_shader_bsdf_hair_cc { -static bNodeSocketTemplate sh_node_bsdf_hair_in[] = { - {SOCK_RGBA, N_("Color"), 0.8f, 0.8f, 0.8f, 1.0f, 0.0f, 1.0f}, - {SOCK_FLOAT, N_("Offset"), 0.0f, 0.0f, 0.0f, 0.0f, -M_PI_2, M_PI_2, PROP_ANGLE}, - {SOCK_FLOAT, N_("RoughnessU"), 0.1f, 0.1f, 0.1f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, - {SOCK_FLOAT, N_("RoughnessV"), 1.0f, 1.0f, 1.0f, 0.0f, 0.0f, 1.0f, PROP_FACTOR}, - {SOCK_VECTOR, N_("Tangent"), 0.0f, 0.0f, 0.0f, 1.0f, -1.0f, 1.0f, PROP_NONE, SOCK_HIDE_VALUE}, - {-1, ""}, -}; - -static bNodeSocketTemplate sh_node_bsdf_hair_out[] = { - {SOCK_SHADER, N_("BSDF")}, - {-1, ""}, -}; +static void node_declare(NodeDeclarationBuilder &b) +{ + b.add_input<decl::Color>(N_("Color")).default_value({0.8f, 0.8f, 0.8f, 1.0f}); + b.add_input<decl::Float>(N_("Offset")).min(-M_PI_2).max(M_PI_2).subtype(PROP_ANGLE); + b.add_input<decl::Float>(N_("RoughnessU")) + .default_value(0.1f) + .min(0.0f) + .max(1.0f) + .subtype(PROP_FACTOR); + b.add_input<decl::Float>(N_("RoughnessV")) + .default_value(1.0f) + .min(0.0f) + .max(1.0f) + .subtype(PROP_FACTOR); + b.add_input<decl::Vector>(N_("Tangent")).min(-1.0f).max(1.0f).hide_value(); + b.add_output<decl::Shader>(N_("BSDF")); +} static int node_shader_gpu_bsdf_hair(GPUMaterial *mat, bNode *node, @@ -56,8 +60,7 @@ void register_node_type_sh_bsdf_hair() static bNodeType ntype; sh_node_type_base(&ntype, SH_NODE_BSDF_HAIR, "Hair BSDF", NODE_CLASS_SHADER, 0); - node_type_socket_templates( - &ntype, file_ns::sh_node_bsdf_hair_in, file_ns::sh_node_bsdf_hair_out); + ntype.declare = file_ns::node_declare; node_type_size(&ntype, 150, 60, 200); node_type_init(&ntype, nullptr); node_type_storage(&ntype, "", nullptr, nullptr); |