[Bf-blender-cvs] [ba38b06a97a] master: Nodes: Convert shader, shader category nodes to c++

Aaron Carlisle noreply at git.blender.org
Wed Dec 29 04:52:07 CET 2021


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. @@



More information about the Bf-blender-cvs mailing list