[Bf-blender-cvs] [ee2b72fd29f] master: Nodes: Convert several shader nodes to c++
Aaron Carlisle
noreply at git.blender.org
Thu Dec 30 18:42:19 CET 2021
Commit: ee2b72fd29f7eddc4d18c7fd4dc02077a24d9961
Author: Aaron Carlisle
Date: Wed Dec 29 22:37:57 2021 -0500
Branches: master
https://developer.blender.org/rBee2b72fd29f7eddc4d18c7fd4dc02077a24d9961
Nodes: Convert several shader nodes to c++
Also add file namespace
This is needed to use new node APIs
Differential Revision: https://developer.blender.org/D13690
===================================================================
M source/blender/nodes/shader/CMakeLists.txt
R083 source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc
R083 source/blender/nodes/shader/nodes/node_shader_attribute.c source/blender/nodes/shader/nodes/node_shader_attribute.cc
R081 source/blender/nodes/shader/nodes/node_shader_background.c source/blender/nodes/shader/nodes/node_shader_background.cc
R083 source/blender/nodes/shader/nodes/node_shader_bevel.c source/blender/nodes/shader/nodes/node_shader_bevel.cc
R080 source/blender/nodes/shader/nodes/node_shader_blackbody.c source/blender/nodes/shader/nodes/node_shader_blackbody.cc
R082 source/blender/nodes/shader/nodes/node_shader_brightness.c source/blender/nodes/shader/nodes/node_shader_brightness.cc
R083 source/blender/nodes/shader/nodes/node_shader_camera.c source/blender/nodes/shader/nodes/node_shader_camera.cc
R085 source/blender/nodes/shader/nodes/node_shader_displacement.c source/blender/nodes/shader/nodes/node_shader_displacement.cc
R085 source/blender/nodes/shader/nodes/node_shader_eevee_specular.c source/blender/nodes/shader/nodes/node_shader_eevee_specular.cc
R082 source/blender/nodes/shader/nodes/node_shader_emission.c source/blender/nodes/shader/nodes/node_shader_emission.cc
R084 source/blender/nodes/shader/nodes/node_shader_fresnel.c source/blender/nodes/shader/nodes/node_shader_fresnel.cc
R084 source/blender/nodes/shader/nodes/node_shader_gamma.c source/blender/nodes/shader/nodes/node_shader_gamma.cc
R091 source/blender/nodes/shader/nodes/node_shader_geometry.c source/blender/nodes/shader/nodes/node_shader_geometry.cc
R084 source/blender/nodes/shader/nodes/node_shader_squeeze.c source/blender/nodes/shader/nodes/node_shader_squeeze.cc
R082 source/blender/nodes/shader/nodes/node_shader_tangent.c source/blender/nodes/shader/nodes/node_shader_tangent.cc
R082 source/blender/nodes/shader/nodes/node_shader_tex_coord.c source/blender/nodes/shader/nodes/node_shader_tex_coord.cc
R079 source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.c source/blender/nodes/shader/nodes/node_shader_uv_along_stroke.cc
R078 source/blender/nodes/shader/nodes/node_shader_uvmap.c source/blender/nodes/shader/nodes/node_shader_uvmap.cc
R084 source/blender/nodes/shader/nodes/node_shader_vector_displacement.c source/blender/nodes/shader/nodes/node_shader_vector_displacement.cc
R086 source/blender/nodes/shader/nodes/node_shader_vector_transform.c source/blender/nodes/shader/nodes/node_shader_vector_transform.cc
R080 source/blender/nodes/shader/nodes/node_shader_vertex_color.c source/blender/nodes/shader/nodes/node_shader_vertex_color.cc
R084 source/blender/nodes/shader/nodes/node_shader_volume_info.c source/blender/nodes/shader/nodes/node_shader_volume_info.cc
R082 source/blender/nodes/shader/nodes/node_shader_wavelength.c source/blender/nodes/shader/nodes/node_shader_wavelength.cc
R084 source/blender/nodes/shader/nodes/node_shader_wireframe.c source/blender/nodes/shader/nodes/node_shader_wireframe.cc
===================================================================
diff --git a/source/blender/nodes/shader/CMakeLists.txt b/source/blender/nodes/shader/CMakeLists.txt
index 0ba8c52e453..3e514b8635c 100644
--- a/source/blender/nodes/shader/CMakeLists.txt
+++ b/source/blender/nodes/shader/CMakeLists.txt
@@ -41,12 +41,12 @@ set(INC
set(SRC
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_ambient_occlusion.cc
+ nodes/node_shader_attribute.cc
+ nodes/node_shader_background.cc
+ nodes/node_shader_bevel.cc
+ nodes/node_shader_blackbody.cc
+ nodes/node_shader_brightness.cc
nodes/node_shader_bsdf_anisotropic.cc
nodes/node_shader_bsdf_diffuse.cc
nodes/node_shader_bsdf_glass.cc
@@ -60,17 +60,17 @@ set(SRC
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_camera.cc
nodes/node_shader_clamp.cc
nodes/node_shader_color_ramp.cc
nodes/node_shader_common.c
nodes/node_shader_curves.cc
- nodes/node_shader_displacement.c
- nodes/node_shader_eevee_specular.c
- nodes/node_shader_emission.c
- nodes/node_shader_fresnel.c
- nodes/node_shader_gamma.c
- nodes/node_shader_geometry.c
+ nodes/node_shader_displacement.cc
+ nodes/node_shader_eevee_specular.cc
+ nodes/node_shader_emission.cc
+ nodes/node_shader_fresnel.cc
+ nodes/node_shader_gamma.cc
+ nodes/node_shader_geometry.cc
nodes/node_shader_hair_info.c
nodes/node_shader_holdout.c
nodes/node_shader_hueSatVal.c
@@ -100,12 +100,12 @@ set(SRC
nodes/node_shader_sepcomb_rgb.cc
nodes/node_shader_sepcomb_xyz.cc
nodes/node_shader_shader_to_rgb.cc
- nodes/node_shader_squeeze.c
+ nodes/node_shader_squeeze.cc
nodes/node_shader_subsurface_scattering.cc
- nodes/node_shader_tangent.c
+ nodes/node_shader_tangent.cc
nodes/node_shader_tex_brick.cc
nodes/node_shader_tex_checker.cc
- nodes/node_shader_tex_coord.c
+ nodes/node_shader_tex_coord.cc
nodes/node_shader_tex_environment.cc
nodes/node_shader_tex_gradient.cc
nodes/node_shader_tex_image.cc
@@ -117,20 +117,20 @@ set(SRC
nodes/node_shader_tex_voronoi.cc
nodes/node_shader_tex_wave.cc
nodes/node_shader_tex_white_noise.cc
- nodes/node_shader_uv_along_stroke.c
- nodes/node_shader_uvmap.c
+ nodes/node_shader_uv_along_stroke.cc
+ nodes/node_shader_uvmap.cc
nodes/node_shader_value.cc
- nodes/node_shader_vector_displacement.c
+ nodes/node_shader_vector_displacement.cc
nodes/node_shader_vector_math.cc
nodes/node_shader_vector_rotate.cc
- nodes/node_shader_vector_transform.c
- nodes/node_shader_vertex_color.c
+ nodes/node_shader_vector_transform.cc
+ nodes/node_shader_vertex_color.cc
nodes/node_shader_volume_absorption.cc
- nodes/node_shader_volume_info.c
+ nodes/node_shader_volume_info.cc
nodes/node_shader_volume_principled.cc
nodes/node_shader_volume_scatter.cc
- nodes/node_shader_wavelength.c
- nodes/node_shader_wireframe.c
+ nodes/node_shader_wavelength.cc
+ nodes/node_shader_wireframe.cc
node_shader_tree.c
node_shader_util.cc
diff --git a/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c b/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc
similarity index 83%
rename from source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
rename to source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc
index 2561d6cb398..b4ad3d56d25 100644
--- a/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.c
+++ b/source/blender/nodes/shader/nodes/node_shader_ambient_occlusion.cc
@@ -19,6 +19,8 @@
#include "../node_shader_util.h"
+namespace blender::nodes::node_shader_ambient_occlusion_cc {
+
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_ambient_occlusion_in[] = {
@@ -64,15 +66,20 @@ static void node_shader_init_ambient_occlusion(bNodeTree *UNUSED(ntree), bNode *
node->custom2 = 0;
}
+} // namespace blender::nodes::node_shader_ambient_occlusion_cc
+
/* node type definition */
-void register_node_type_sh_ambient_occlusion(void)
+void register_node_type_sh_ambient_occlusion()
{
+ namespace file_ns = blender::nodes::node_shader_ambient_occlusion_cc;
+
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_AMBIENT_OCCLUSION, "Ambient Occlusion", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, sh_node_ambient_occlusion_in, sh_node_ambient_occlusion_out);
- node_type_init(&ntype, node_shader_init_ambient_occlusion);
- node_type_gpu(&ntype, node_shader_gpu_ambient_occlusion);
+ node_type_socket_templates(
+ &ntype, file_ns::sh_node_ambient_occlusion_in, file_ns::sh_node_ambient_occlusion_out);
+ node_type_init(&ntype, file_ns::node_shader_init_ambient_occlusion);
+ node_type_gpu(&ntype, file_ns::node_shader_gpu_ambient_occlusion);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_attribute.c b/source/blender/nodes/shader/nodes/node_shader_attribute.cc
similarity index 83%
rename from source/blender/nodes/shader/nodes/node_shader_attribute.c
rename to source/blender/nodes/shader/nodes/node_shader_attribute.cc
index 9b3122e38e0..f0965e3a476 100644
--- a/source/blender/nodes/shader/nodes/node_shader_attribute.c
+++ b/source/blender/nodes/shader/nodes/node_shader_attribute.cc
@@ -19,6 +19,8 @@
#include "../node_shader_util.h"
+namespace blender::nodes::node_shader_attribute_cc {
+
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_attribute_out[] = {
@@ -31,7 +33,7 @@ static bNodeSocketTemplate sh_node_attribute_out[] = {
static void node_shader_init_attribute(bNodeTree *UNUSED(ntree), bNode *node)
{
- NodeShaderAttribute *attr = MEM_callocN(sizeof(NodeShaderAttribute), "NodeShaderAttribute");
+ NodeShaderAttribute *attr = MEM_cnew<NodeShaderAttribute>("NodeShaderAttribute");
node->storage = attr;
}
@@ -41,7 +43,7 @@ static int node_shader_gpu_attribute(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *out)
{
- NodeShaderAttribute *attr = node->storage;
+ NodeShaderAttribute *attr = static_cast<NodeShaderAttribute *>(node->storage);
bool is_varying = attr->type == SHD_ATTRIBUTE_GEOMETRY;
if (GPU_material_is_volume_shader(mat) && is_varying) {
@@ -81,17 +83,21 @@ static int node_shader_gpu_attribute(GPUMaterial *mat,
return 1;
}
+} // namespace blender::nodes::node_shader_attribute_cc
+
/* node type definition */
-void register_node_type_sh_attribute(void)
+void register_node_type_sh_attribute()
{
+ namespace file_ns = blender::nodes::node_shader_attribute_cc;
+
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_ATTRIBUTE, "Attribute", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, NULL, sh_node_attribute_out);
- node_type_init(&ntype, node_shader_init_attribute);
+ node_type_socket_templates(&ntype, nullptr, file_ns::sh_node_attribute_out);
+ node_type_init(&ntype, file_ns::node_shader_init_attribute);
node_type_storage(
&ntype, "NodeShaderAttribute", node_free_standard_storage, node_copy_standard_storage);
- node_type_gpu(&ntype, node_shader_gpu_attribute);
+ node_type_gpu(&ntype, file_ns::node_shader_gpu_attribute);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_background.c b/source/blender/nodes/shader/nodes/node_shader_background.cc
similarity index 81%
rename from source/blender/nodes/shader/nodes/node_shader_background.c
rename to source/blender/nodes/shader/nodes/node_shader_background.cc
index 5fc9232ba85..b6ac0e06472 100644
--- a/source/blender/nodes/shader/nodes/node_shader_background.c
+++ b/source/blender/nodes/shader/nodes/node_shader_background.cc
@@ -19,6 +19,8 @@
#include "../node_shader_util.h"
+namespace blender::nodes::node_shader_background_cc {
+
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_background_in[] = {
@@ -41,14 +43,19 @@ static int node_shader_gpu_background(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_background", in, out);
}
+} // namespace blender::nodes::node_shader_background_cc
+
/* node type definition */
-void register_node_type_sh_background(void)
+void register_node_type_sh_background()
{
+ namespace file_ns = blender::nodes::node_shader_background_cc;
+
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BACKGROUND, "Background", NODE_CLASS_SHADER, 0);
- node_type_socket_templates(&ntype, sh_node_background_in, sh_node_background_out);
- node_type_gpu(&ntype, node_shader_gpu_background);
+ node_type_socket_templates(
+ &ntype, file_ns::sh_node_background_in, file_ns::sh_node_background_out);
+ node_type_gpu(&ntype, file_ns::node_shader_gpu_background);
nodeRegisterType(&ntype);
}
diff --git a/source/blender/nodes/shader/nodes/node_shader_bevel.c b/source/blender/nodes/shader/nodes/node_shader_bevel.cc
similarity index 83%
rename from source/blender/nodes/shader/nodes/node_shader_bevel.c
rename to source/blender/nodes/shader/nodes/node_shader_bevel.cc
index 6988563a76c..5c97d66c345 100644
--- a/source/blender/nodes/shader/nodes/node_shader_bevel.c
+++ b/source/blender/nodes/shader/nodes/node_shader_bevel.cc
@@ -19,6 +19,8 @@
#include "../node_shader_util.h"
+namespace blender::nodes::node_shader_bevel_cc {
+
/* **************** OUTPUT ******************** */
static bNodeSocketTemplate sh_node_bevel_in[] = {
@@ -54,15 +56,19 @@ static int gpu_shader_bevel(GPUMaterial *mat,
return GPU_stack_link(mat, node, "node_bevel", in, out);
}
+} // namespace blender::nodes::node_shader_bevel_cc
+
/* node type definition */
-void register_node_type_sh_bevel(void)
+void register_node_type_sh_bevel()
{
+ namespace file_ns = blender::nodes::node_shader_bevel_cc;
+
static bNodeType ntype;
sh_node_type_base(&ntype, SH_NODE_BEVEL, "Bevel", NODE_CLASS_INPUT, 0);
- node_type_socket_templates(&ntype, sh_node_bevel_in, sh_node_bevel_out);
- node_type_init(&ntype, no
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list