[Bf-blender-cvs] [576d99e59aa] master: Cleanup: move texture nodes to C++
Jacques Lucke
noreply at git.blender.org
Thu Nov 17 13:04:59 CET 2022
Commit: 576d99e59aa2b0e709aed0239eaf653bf1e2e716
Author: Jacques Lucke
Date: Thu Nov 17 13:04:45 2022 +0100
Branches: master
https://developer.blender.org/rB576d99e59aa2b0e709aed0239eaf653bf1e2e716
Cleanup: move texture nodes to C++
No functional changes are expected. The goal here is to make
further refactorings to the nodes system easier.
===================================================================
M source/blender/nodes/texture/CMakeLists.txt
R093 source/blender/nodes/texture/node_texture_tree.c source/blender/nodes/texture/node_texture_tree.cc
R092 source/blender/nodes/texture/node_texture_util.c source/blender/nodes/texture/node_texture_util.cc
R100 source/blender/nodes/texture/node_texture_util.h source/blender/nodes/texture/node_texture_util.hh
R091 source/blender/nodes/texture/nodes/node_texture_at.c source/blender/nodes/texture/nodes/node_texture_at.cc
R096 source/blender/nodes/texture/nodes/node_texture_bricks.c source/blender/nodes/texture/nodes/node_texture_bricks.cc
R093 source/blender/nodes/texture/nodes/node_texture_checker.c source/blender/nodes/texture/nodes/node_texture_checker.cc
R094 source/blender/nodes/texture/nodes/node_texture_combine_color.c source/blender/nodes/texture/nodes/node_texture_combine_color.cc
R086 source/blender/nodes/texture/nodes/node_texture_common.c source/blender/nodes/texture/nodes/node_texture_common.cc
R091 source/blender/nodes/texture/nodes/node_texture_compose.c source/blender/nodes/texture/nodes/node_texture_compose.cc
R088 source/blender/nodes/texture/nodes/node_texture_coord.c source/blender/nodes/texture/nodes/node_texture_coord.cc
R086 source/blender/nodes/texture/nodes/node_texture_curves.c source/blender/nodes/texture/nodes/node_texture_curves.cc
R081 source/blender/nodes/texture/nodes/node_texture_decompose.c source/blender/nodes/texture/nodes/node_texture_decompose.cc
R091 source/blender/nodes/texture/nodes/node_texture_distance.c source/blender/nodes/texture/nodes/node_texture_distance.cc
R095 source/blender/nodes/texture/nodes/node_texture_hueSatVal.c source/blender/nodes/texture/nodes/node_texture_hueSatVal.cc
R092 source/blender/nodes/texture/nodes/node_texture_image.c source/blender/nodes/texture/nodes/node_texture_image.cc
R090 source/blender/nodes/texture/nodes/node_texture_invert.c source/blender/nodes/texture/nodes/node_texture_invert.cc
R098 source/blender/nodes/texture/nodes/node_texture_math.c source/blender/nodes/texture/nodes/node_texture_math.cc
R092 source/blender/nodes/texture/nodes/node_texture_mixRgb.c source/blender/nodes/texture/nodes/node_texture_mixRgb.cc
R097 source/blender/nodes/texture/nodes/node_texture_output.c source/blender/nodes/texture/nodes/node_texture_output.cc
R096 source/blender/nodes/texture/nodes/node_texture_proc.c source/blender/nodes/texture/nodes/node_texture_proc.cc
R094 source/blender/nodes/texture/nodes/node_texture_rotate.c source/blender/nodes/texture/nodes/node_texture_rotate.cc
R092 source/blender/nodes/texture/nodes/node_texture_scale.c source/blender/nodes/texture/nodes/node_texture_scale.cc
R086 source/blender/nodes/texture/nodes/node_texture_separate_color.c source/blender/nodes/texture/nodes/node_texture_separate_color.cc
R094 source/blender/nodes/texture/nodes/node_texture_texture.c source/blender/nodes/texture/nodes/node_texture_texture.cc
R091 source/blender/nodes/texture/nodes/node_texture_translate.c source/blender/nodes/texture/nodes/node_texture_translate.cc
R093 source/blender/nodes/texture/nodes/node_texture_valToNor.c source/blender/nodes/texture/nodes/node_texture_valToNor.cc
R089 source/blender/nodes/texture/nodes/node_texture_valToRgb.c source/blender/nodes/texture/nodes/node_texture_valToRgb.cc
R097 source/blender/nodes/texture/nodes/node_texture_viewer.c source/blender/nodes/texture/nodes/node_texture_viewer.cc
===================================================================
diff --git a/source/blender/nodes/texture/CMakeLists.txt b/source/blender/nodes/texture/CMakeLists.txt
index 2d704ac2228..3c3135bd909 100644
--- a/source/blender/nodes/texture/CMakeLists.txt
+++ b/source/blender/nodes/texture/CMakeLists.txt
@@ -22,35 +22,35 @@ set(INC
set(SRC
- nodes/node_texture_at.c
- nodes/node_texture_bricks.c
- nodes/node_texture_checker.c
- nodes/node_texture_combine_color.c
- nodes/node_texture_common.c
- nodes/node_texture_compose.c
- nodes/node_texture_coord.c
- nodes/node_texture_curves.c
- nodes/node_texture_decompose.c
- nodes/node_texture_distance.c
- nodes/node_texture_hueSatVal.c
- nodes/node_texture_image.c
- nodes/node_texture_invert.c
- nodes/node_texture_math.c
- nodes/node_texture_mixRgb.c
- nodes/node_texture_output.c
- nodes/node_texture_proc.c
- nodes/node_texture_rotate.c
- nodes/node_texture_scale.c
- nodes/node_texture_separate_color.c
- nodes/node_texture_texture.c
- nodes/node_texture_translate.c
- nodes/node_texture_valToNor.c
- nodes/node_texture_valToRgb.c
- nodes/node_texture_viewer.c
- node_texture_tree.c
- node_texture_util.c
+ nodes/node_texture_at.cc
+ nodes/node_texture_bricks.cc
+ nodes/node_texture_checker.cc
+ nodes/node_texture_combine_color.cc
+ nodes/node_texture_common.cc
+ nodes/node_texture_compose.cc
+ nodes/node_texture_coord.cc
+ nodes/node_texture_curves.cc
+ nodes/node_texture_decompose.cc
+ nodes/node_texture_distance.cc
+ nodes/node_texture_hueSatVal.cc
+ nodes/node_texture_image.cc
+ nodes/node_texture_invert.cc
+ nodes/node_texture_math.cc
+ nodes/node_texture_mixRgb.cc
+ nodes/node_texture_output.cc
+ nodes/node_texture_proc.cc
+ nodes/node_texture_rotate.cc
+ nodes/node_texture_scale.cc
+ nodes/node_texture_separate_color.cc
+ nodes/node_texture_texture.cc
+ nodes/node_texture_translate.cc
+ nodes/node_texture_valToNor.cc
+ nodes/node_texture_valToRgb.cc
+ nodes/node_texture_viewer.cc
+ node_texture_tree.cc
+ node_texture_util.cc
- node_texture_util.h
+ node_texture_util.hh
)
set(LIB
diff --git a/source/blender/nodes/texture/node_texture_tree.c b/source/blender/nodes/texture/node_texture_tree.cc
similarity index 93%
rename from source/blender/nodes/texture/node_texture_tree.c
rename to source/blender/nodes/texture/node_texture_tree.cc
index 99146f1a25c..f35d98891db 100644
--- a/source/blender/nodes/texture/node_texture_tree.c
+++ b/source/blender/nodes/texture/node_texture_tree.cc
@@ -26,7 +26,7 @@
#include "NOD_texture.h"
#include "node_common.h"
#include "node_exec.h"
-#include "node_texture_util.h"
+#include "node_texture_util.hh"
#include "node_util.h"
#include "DEG_depsgraph.h"
@@ -106,7 +106,7 @@ static void localize(bNodeTree *localtree, bNodeTree *UNUSED(ntree))
bNode *node, *node_next;
/* replace muted nodes and reroute nodes by internal links */
- for (node = localtree->nodes.first; node; node = node_next) {
+ for (node = static_cast<bNode *>(localtree->nodes.first); node; node = node_next) {
node_next = node->next;
if (node->flag & NODE_MUTED || node->type == NODE_REROUTE) {
@@ -137,8 +137,7 @@ bNodeTreeType *ntreeType_Texture;
void register_node_tree_type_tex(void)
{
- bNodeTreeType *tt = ntreeType_Texture = MEM_callocN(sizeof(bNodeTreeType),
- "texture node tree type");
+ bNodeTreeType *tt = ntreeType_Texture = MEM_cnew<bNodeTreeType>("texture node tree type");
tt->type = NTREE_TEXTURE;
strcpy(tt->idname, "TextureNodeTree");
@@ -173,7 +172,7 @@ bNodeThreadStack *ntreeGetThreadStack(bNodeTreeExec *exec, int thread)
}
if (!nts) {
- nts = MEM_callocN(sizeof(bNodeThreadStack), "bNodeThreadStack");
+ nts = MEM_cnew<bNodeThreadStack>("bNodeThreadStack");
nts->stack = (bNodeStack *)MEM_dupallocN(exec->stack);
nts->used = true;
BLI_addtail(lb, nts);
@@ -226,9 +225,9 @@ bNodeTreeExec *ntreeTexBeginExecTree_internal(bNodeExecContext *context,
exec = ntree_exec_begin(context, ntree, parent_key);
/* allocate the thread stack listbase array */
- exec->threadstack = MEM_callocN(BLENDER_MAX_THREADS * sizeof(ListBase), "thread stack array");
+ exec->threadstack = MEM_cnew_array<ListBase>(BLENDER_MAX_THREADS, "thread stack array");
- for (node = exec->nodetree->nodes.first; node; node = node->next) {
+ for (node = static_cast<bNode *>(exec->nodetree->nodes.first); node; node = node->next) {
node->need_exec = 1;
}
@@ -267,7 +266,8 @@ static void tex_free_delegates(bNodeTreeExec *exec)
int th, a;
for (th = 0; th < BLENDER_MAX_THREADS; th++) {
- for (nts = exec->threadstack[th].first; nts; nts = nts->next) {
+ for (nts = static_cast<bNodeThreadStack *>(exec->threadstack[th].first); nts;
+ nts = nts->next) {
for (ns = nts->stack, a = 0; a < exec->stacksize; a++, ns++) {
if (ns->data && !ns->is_copy) {
MEM_freeN(ns->data);
@@ -286,7 +286,8 @@ void ntreeTexEndExecTree_internal(bNodeTreeExec *exec)
tex_free_delegates(exec);
for (a = 0; a < BLENDER_MAX_THREADS; a++) {
- for (nts = exec->threadstack[a].first; nts; nts = nts->next) {
+ for (nts = static_cast<bNodeThreadStack *>(exec->threadstack[a].first); nts;
+ nts = nts->next) {
if (nts->stack) {
MEM_freeN(nts->stack);
}
diff --git a/source/blender/nodes/texture/node_texture_util.c b/source/blender/nodes/texture/node_texture_util.cc
similarity index 92%
rename from source/blender/nodes/texture/node_texture_util.c
rename to source/blender/nodes/texture/node_texture_util.cc
index 248114f242a..e61a3018964 100644
--- a/source/blender/nodes/texture/node_texture_util.c
+++ b/source/blender/nodes/texture/node_texture_util.cc
@@ -21,7 +21,7 @@
* over other previous ones.
*/
-#include "node_texture_util.h"
+#include "node_texture_util.hh"
bool tex_node_poll_default(bNodeType *UNUSED(ntype),
bNodeTree *ntree,
@@ -51,7 +51,7 @@ static void tex_call_delegate(TexDelegate *dg, float *out, TexParams *params, sh
static void tex_input(float *out, int num, bNodeStack *in, TexParams *params, short thread)
{
- TexDelegate *dg = in->data;
+ TexDelegate *dg = static_cast<TexDelegate *>(in->data);
if (dg) {
tex_call_delegate(dg, in->vec, params, thread);
@@ -118,10 +118,11 @@ void tex_output(bNode *node,
if (!out->data) {
/* Freed in tex_end_exec (node.cc) */
- dg = out->data = MEM_mallocN(sizeof(TexDelegate), "tex delegate");
+ dg = MEM_new<TexDelegate>("tex delegate");
+ out->data = dg;
}
else {
- dg = out->data;
+ dg = static_cast<TexDelegate *>(out->data);
}
dg->cdata = cdata;
@@ -135,7 +136,7 @@ void tex_output(bNode *node,
void ntreeTexCheckCyclics(struct bNodeTree *ntree)
{
bNode *node;
- for (node = ntree->nodes.first; node; node = node->next) {
+ for (node = static_cast<bNode *>(ntree->nodes.first); node; node = node->next) {
if (node->type == TEX_NODE_TEXTURE && node->id) {
/* custom2 stops the node from rendering */
diff --git a/source/blender/nodes/texture/node_texture_util.h b/source/blender/nodes/texture/node_texture_util.hh
similarity index 100%
rename from source/blender/nodes/texture/node_texture_util.h
rename to source/blender/nodes/texture/node_texture_util.hh
diff --git a/source/blender/nodes/texture/nodes/node_texture_at.c b/source/blender/nodes/texture/nodes/node_texture_at.cc
similarity index 91%
rename from source/blender/nodes/texture/nodes/node_texture_at.c
rename to source/blender/nodes/texture/nodes/node_texture_at.cc
index e2e635b7d92..65e6a2eb5d7 100644
--- a/source/blender/nodes/texture/nodes/node_texture_at.c
+++ b/source/blender/nodes/texture/nodes/node_texture_at.cc
@@ -6,7 +6,7 @@
*/
#include "NOD_texture.h"
-#include "node_texture_util.h"
+#include "node_texture_util.hh"
static bNodeSocketTemplate inputs[] = {
{SOCK_RGBA, N_("Texture"), 0.0f, 0.0f, 0.0f, 1.0f},
@@ -35,7 +35,7 @@ static void exec(void *data,
bNodeStack **in,
bNodeStack **out)
{
- tex_output(node, execdata, in, out[0], &colorfn, data);
+ tex_output(node, execdata, in, out[0], &colorfn, static_cast<TexCallData *>(data));
}
void register_node_type_tex_at(void)
diff --git a/source/blender/nodes/texture/nodes/node_texture_bricks.c b/source/blender/nodes/texture/nodes/node_texture_bricks.cc
similarity index 96%
rename from source/blender/nodes/texture/nodes/node_texture_bricks.c
rename to source/blender/nodes/texture/nodes/node_texture_bricks.cc
index b68bf4fcb8d..abee596d229 100644
--- a/source/blender/nodes/texture/nodes/node_texture_bricks.c
+++ b/source/blender/nodes/texture/nodes/node_texture_bricks.cc
@@ -6,7 +6,7 @@
*/
#include "NOD_texture.h"
-#include "node_texture_util.h"
+#include "node_texture_util.hh"
#include <math.h>
@@ -96,7 +96,7 @@ static void exec(void *data,
bNodeStack **in,
bNodeStack **out)
{
- tex_output(node, execdata, in, out[0], &colorfn, data);
+ tex_output(node, execdata, in, out[0], &colorfn, static_cast<TexCallData *>(data));
}
void register_node_type_tex_bricks(void)
diff --git a/source/blender/nodes/texture/nodes/node_texture_checker.c b/source/blender/nodes/texture/nodes/node_texture_checker.cc
similarity index 93%
rename from source/blender/nodes/texture/nodes/node_texture_checker.c
rename to source/blender/nodes/texture/nodes/node_texture_checker.cc
index d66eb7e6953..c920ec77725 100644
--- a/source/blender/nodes/texture/nodes/node_texture_checker.c
+++ b/source/blender/nodes/texture/nodes/node_texture_checker.cc
@@ -6,7 +6,7 @@
*/
#include "NOD_texture.h"
-#include "node_texture_util.h"
+#include "node_texture_util.hh"
#include <math.h>
static bNodeSocketTemplate inputs[] = {
@@ -47,7 +47,7 @@ static void exec(void *data,
bNodeStack **in,
bNodeStack **out)
{
- tex_output(node, execdata, in, out[0], &colorfn, data);
+ tex_output(node, execdata, in, out[0], &colorfn, static_cast<TexCallData *>(data));
}
void register_node_type_tex_checker(void)
diff --git a/source/blender/nodes/texture/nodes/node_texture_combine_color.c b/source/blender/n
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list