[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