Commit: ba38b06a97aa12318a04efb5b426a5dd1adabf88 Author: Aaron Carlisle Date: Tue Dec 28 22:51:57 2021 -0500 Branches: master https://developer.blender.org/rBba38b06a97aa12318a04efb5b426a5dd1adabf88
Nodes: Convert shader, shader category nodes to c++ Also add file namespace This is needed to use new node APIs Differential Revision: https://developer.blender.org/D13684 =================================================================== M source/blender/nodes/shader/CMakeLists.txt R077 source/blender/nodes/shader/nodes/node_shader_add_shader.c source/blender/nodes/shader/nodes/node_shader_add_shader.cc R083 source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc R080 source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc R081 source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc R083 source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.cc R081 source/blender/nodes/shader/nodes/node_shader_bsdf_hair.c source/blender/nodes/shader/nodes/node_shader_bsdf_hair.cc R086 source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.c source/blender/nodes/shader/nodes/node_shader_bsdf_hair_principled.cc R088 source/blender/nodes/shader/nodes/node_shader_bsdf_principled.c source/blender/nodes/shader/nodes/node_shader_bsdf_principled.cc R081 source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.c source/blender/nodes/shader/nodes/node_shader_bsdf_refraction.cc R081 source/blender/nodes/shader/nodes/node_shader_bsdf_toon.c source/blender/nodes/shader/nodes/node_shader_bsdf_toon.cc R079 source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.cc R076 source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.c source/blender/nodes/shader/nodes/node_shader_bsdf_transparent.cc R080 source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.cc R078 source/blender/nodes/shader/nodes/node_shader_mix_shader.c source/blender/nodes/shader/nodes/node_shader_mix_shader.cc R079 source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.c source/blender/nodes/shader/nodes/node_shader_shader_to_rgb.cc R075 source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.c source/blender/nodes/shader/nodes/node_shader_subsurface_scattering.cc R077 source/blender/nodes/shader/nodes/node_shader_volume_absorption.c source/blender/nodes/shader/nodes/node_shader_volume_absorption.cc R084 source/blender/nodes/shader/nodes/node_shader_volume_principled.c source/blender/nodes/shader/nodes/node_shader_volume_principled.cc R078 source/blender/nodes/shader/nodes/node_shader_volume_scatter.c source/blender/nodes/shader/nodes/node_shader_volume_scatter.cc =================================================================== diff --git a/source/blender/nodes/shader/CMakeLists.txt b/source/blender/nodes/shader/CMakeLists.txt index fc6ea1f188e..e0e7a97bf50 100644 --- a/source/blender/nodes/shader/CMakeLists.txt +++ b/source/blender/nodes/shader/CMakeLists.txt @@ -40,25 +40,25 @@ set(INC set(SRC - nodes/node_shader_add_shader.c + nodes/node_shader_add_shader.cc nodes/node_shader_ambient_occlusion.c nodes/node_shader_attribute.c nodes/node_shader_background.c nodes/node_shader_bevel.c nodes/node_shader_blackbody.c nodes/node_shader_brightness.c - nodes/node_shader_bsdf_anisotropic.c - nodes/node_shader_bsdf_diffuse.c - nodes/node_shader_bsdf_glass.c - nodes/node_shader_bsdf_glossy.c - nodes/node_shader_bsdf_hair.c - nodes/node_shader_bsdf_hair_principled.c - nodes/node_shader_bsdf_principled.c - nodes/node_shader_bsdf_refraction.c - nodes/node_shader_bsdf_toon.c - nodes/node_shader_bsdf_translucent.c - nodes/node_shader_bsdf_transparent.c - nodes/node_shader_bsdf_velvet.c + nodes/node_shader_bsdf_anisotropic.cc + nodes/node_shader_bsdf_diffuse.cc + nodes/node_shader_bsdf_glass.cc + nodes/node_shader_bsdf_glossy.cc + nodes/node_shader_bsdf_hair.cc + nodes/node_shader_bsdf_hair_principled.cc + nodes/node_shader_bsdf_principled.cc + nodes/node_shader_bsdf_refraction.cc + nodes/node_shader_bsdf_toon.cc + nodes/node_shader_bsdf_translucent.cc + nodes/node_shader_bsdf_transparent.cc + nodes/node_shader_bsdf_velvet.cc nodes/node_shader_bump.cc nodes/node_shader_camera.c nodes/node_shader_clamp.cc @@ -83,7 +83,7 @@ set(SRC nodes/node_shader_mapping.c nodes/node_shader_math.cc nodes/node_shader_mix_rgb.cc - nodes/node_shader_mix_shader.c + nodes/node_shader_mix_shader.cc nodes/node_shader_normal.c nodes/node_shader_normal_map.c nodes/node_shader_object_info.c @@ -99,9 +99,9 @@ set(SRC nodes/node_shader_sepcomb_hsv.c nodes/node_shader_sepcomb_rgb.cc nodes/node_shader_sepcomb_xyz.cc - nodes/node_shader_shader_to_rgb.c + nodes/node_shader_shader_to_rgb.cc nodes/node_shader_squeeze.c - nodes/node_shader_subsurface_scattering.c + nodes/node_shader_subsurface_scattering.cc nodes/node_shader_tangent.c nodes/node_shader_tex_brick.cc nodes/node_shader_tex_checker.cc @@ -125,10 +125,10 @@ set(SRC nodes/node_shader_vector_rotate.cc nodes/node_shader_vector_transform.c nodes/node_shader_vertex_color.c - nodes/node_shader_volume_absorption.c + nodes/node_shader_volume_absorption.cc nodes/node_shader_volume_info.c - nodes/node_shader_volume_principled.c - nodes/node_shader_volume_scatter.c + nodes/node_shader_volume_principled.cc + nodes/node_shader_volume_scatter.cc nodes/node_shader_wavelength.c nodes/node_shader_wireframe.c diff --git a/source/blender/nodes/shader/nodes/node_shader_add_shader.c b/source/blender/nodes/shader/nodes/node_shader_add_shader.cc similarity index 77% rename from source/blender/nodes/shader/nodes/node_shader_add_shader.c rename to source/blender/nodes/shader/nodes/node_shader_add_shader.cc index 12c138ac9d5..02f9e2b29f3 100644 --- a/source/blender/nodes/shader/nodes/node_shader_add_shader.c +++ b/source/blender/nodes/shader/nodes/node_shader_add_shader.cc @@ -19,6 +19,8 @@ #include "../node_shader_util.h" +namespace blender::nodes::node_shader_add_shader_cc { + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_add_shader_in[] = { @@ -41,16 +43,21 @@ static int node_shader_gpu_add_shader(GPUMaterial *mat, return GPU_stack_link(mat, node, "node_add_shader", in, out); } +} // namespace blender::nodes::node_shader_add_shader_cc + /* node type definition */ -void register_node_type_sh_add_shader(void) +void register_node_type_sh_add_shader() { + namespace file_ns = blender::nodes::node_shader_add_shader_cc; + static bNodeType ntype; sh_node_type_base(&ntype, SH_NODE_ADD_SHADER, "Add Shader", NODE_CLASS_SHADER, 0); - node_type_socket_templates(&ntype, sh_node_add_shader_in, sh_node_add_shader_out); - node_type_init(&ntype, NULL); - node_type_storage(&ntype, "", NULL, NULL); - node_type_gpu(&ntype, node_shader_gpu_add_shader); + node_type_socket_templates( + &ntype, file_ns::sh_node_add_shader_in, file_ns::sh_node_add_shader_out); + node_type_init(&ntype, nullptr); + node_type_storage(&ntype, "", nullptr, nullptr); + node_type_gpu(&ntype, file_ns::node_shader_gpu_add_shader); nodeRegisterType(&ntype); } diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc similarity index 83% rename from source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c rename to source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc index 499f62da683..6f56a562e42 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.cc @@ -19,6 +19,8 @@ #include "../node_shader_util.h" +namespace blender::nodes::node_shader_bsdf_anisotropic_cc { + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_bsdf_anisotropic_in[] = { @@ -64,17 +66,22 @@ static int node_shader_gpu_bsdf_anisotropic(GPUMaterial *mat, GPU_constant(&node->ssr_id)); } +} // namespace blender::nodes::node_shader_bsdf_anisotropic_cc + /* node type definition */ -void register_node_type_sh_bsdf_anisotropic(void) +void register_node_type_sh_bsdf_anisotropic() { + namespace file_ns = blender::nodes::node_shader_bsdf_anisotropic_cc; + static bNodeType ntype; sh_node_type_base(&ntype, SH_NODE_BSDF_ANISOTROPIC, "Anisotropic BSDF", NODE_CLASS_SHADER, 0); - node_type_socket_templates(&ntype, sh_node_bsdf_anisotropic_in, sh_node_bsdf_anisotropic_out); + node_type_socket_templates( + &ntype, file_ns::sh_node_bsdf_anisotropic_in, file_ns::sh_node_bsdf_anisotropic_out); node_type_size_preset(&ntype, NODE_SIZE_MIDDLE); - node_type_init(&ntype, node_shader_init_anisotropic); - node_type_storage(&ntype, "", NULL, NULL); - node_type_gpu(&ntype, node_shader_gpu_bsdf_anisotropic); + node_type_init(&ntype, file_ns::node_shader_init_anisotropic); + node_type_storage(&ntype, "", nullptr, nullptr); + node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_anisotropic); nodeRegisterType(&ntype); } diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc similarity index 80% rename from source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c rename to source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc index f4f1d274826..c2f14d7bcc5 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.cc @@ -19,6 +19,8 @@ #include "../node_shader_util.h" +namespace blender::nodes::node_shader_bsdf_diffuse_cc { + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_bsdf_diffuse_in[] = { @@ -48,17 +50,22 @@ static int node_shader_gpu_bsdf_diffuse(GPUMaterial *mat, return GPU_stack_link(mat, node, "node_bsdf_diffuse", in, out); } +} // namespace blender::nodes::node_shader_bsdf_diffuse_cc + /* node type definition */ -void register_node_type_sh_bsdf_diffuse(void) +void register_node_type_sh_bsdf_diffuse() { + namespace file_ns = blender::nodes::node_shader_bsdf_diffuse_cc; + static bNodeType ntype; sh_node_type_base(&ntype, SH_NODE_BSDF_DIFFUSE, "Diffuse BSDF", NODE_CLASS_SHADER, 0); - node_type_socket_templates(&ntype, sh_node_bsdf_diffuse_in, sh_node_bsdf_diffuse_out); + node_type_socket_templates( + &ntype, file_ns::sh_node_bsdf_diffuse_in, file_ns::sh_node_bsdf_diffuse_out); node_type_size_preset(&ntype, NODE_SIZE_MIDDLE); - node_type_init(&ntype, NULL); - node_type_storage(&ntype, "", NULL, NULL); - node_type_gpu(&ntype, node_shader_gpu_bsdf_diffuse); + node_type_init(&ntype, nullptr); + node_type_storage(&ntype, "", nullptr, nullptr); + node_type_gpu(&ntype, file_ns::node_shader_gpu_bsdf_diffuse); nodeRegisterType(&ntype); } diff --git a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc similarity index 81% rename from source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c rename to source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc index 5fc946e3509..c1b124a7b94 100644 --- a/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c +++ b/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.cc @@ -19,6 +19,8 @@ #include "../node_shader_util.h" +namespace blender::nodes::node_shader_bsdf_glass_cc { + /* **************** OUTPUT ******************** */ static bNodeSocketTemplate sh_node_bsdf_glass_in[] = { @@ -53,7 +55,7 @@ static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, GPU_link(mat, "set_value_zero", &in[1].link); } - GPU_material_flag_set(mat, GPU_MATFLAG_GLOSSY | GPU_MATFLAG_REFRACT); + GPU_material_flag_set(mat, (eGPUMatFlag)(GPU_MATFLAG_GLOSSY | GPU_MATFLAG_REFRACT)); float use_multi_scatter = (node->custom1 == SHD_GLOSSY_MULTI_GGX) ? 1.0f : 0.0f; @@ -66,17 +68,22 @@ static int node_shader_gpu_bsdf_glass(GPUMaterial *mat, GPU_constant(&node->ssr_id)); } +} // namespace blender::nodes::node_shader_bsdf_glass_cc + /* node type definition */ -void register_node_type_sh_bsdf_glass(void) +void register_node_type_sh_bsdf_glass() { + namespace file_ns = blender::nodes::node_shader_bsdf_glass_cc; + static bNodeType ntype; sh_node_type_base(&ntype, SH_NODE_BSDF_GLASS, "Glass BSDF", NODE_CLASS_SHADER, 0); - node_type_socket_templates(&ntype, sh_node_bsdf_glass_in, sh_node_bsdf_glass_out); + node_type_socket_templates( + &ntype, file_ns::sh_node_bsdf_glass_in, file_ns::sh_node_bsdf_glass_out); node_type_size_preset(&ntype, NODE_SIZE_MIDDLE); - node_type_init(&ntype, node_shader_init_glass); - node_type_storage(&ntype, "", NULL, NULL); - node_type_gpu(&ntype, node_shader_gpu_bsdf_glass); + node_type_init(&ntype, file_ns::node_shader_init_glass); + nod @@ Diff output truncated at 10240 characters. @@ _______________________________________________ Bf-blender-cvs mailing list [email protected] List details, subscription details or unsubscribe: https://lists.blender.org/mailman/listinfo/bf-blender-cvs
