Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Goudey <h.goudey@me.com>2021-12-01 23:08:42 +0300
committerHans Goudey <h.goudey@me.com>2021-12-01 23:08:42 +0300
commitfed4fc9c42d2f769d1e68a4573be22d1e36e710f (patch)
tree002be713ac25edf05008d898204ae5d6e47efca0 /source/blender
parent8ca838069943d0de559cfb40762dbc9d4ad0b790 (diff)
Cleanup: Move node_shader_util.c to C++
This will allow using a function I've declared in a C++ header.
Diffstat (limited to 'source/blender')
-rw-r--r--source/blender/nodes/CMakeLists.txt2
-rw-r--r--source/blender/nodes/shader/node_shader_util.cc (renamed from source/blender/nodes/shader/node_shader_util.c)34
2 files changed, 16 insertions, 20 deletions
diff --git a/source/blender/nodes/CMakeLists.txt b/source/blender/nodes/CMakeLists.txt
index 03963e2f0d6..1253f75d9f3 100644
--- a/source/blender/nodes/CMakeLists.txt
+++ b/source/blender/nodes/CMakeLists.txt
@@ -248,7 +248,7 @@ set(SRC
shader/nodes/node_shader_wavelength.c
shader/nodes/node_shader_wireframe.c
shader/node_shader_tree.c
- shader/node_shader_util.c
+ shader/node_shader_util.cc
texture/nodes/node_texture_at.c
texture/nodes/node_texture_bricks.c
diff --git a/source/blender/nodes/shader/node_shader_util.c b/source/blender/nodes/shader/node_shader_util.cc
index e1f6c135568..3b064bdf3ac 100644
--- a/source/blender/nodes/shader/node_shader_util.c
+++ b/source/blender/nodes/shader/node_shader_util.cc
@@ -107,11 +107,11 @@ void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
{
memset(gs, 0, sizeof(*gs));
- if (ns == NULL) {
- /* node_get_stack() will generate NULL bNodeStack pointers
+ if (ns == nullptr) {
+ /* node_get_stack() will generate nullptr bNodeStack pointers
* for unknown/unsupported types of sockets. */
zero_v4(gs->vec);
- gs->link = NULL;
+ gs->link = nullptr;
gs->type = GPU_NONE;
gs->hasinput = false;
gs->hasoutput = false;
@@ -119,7 +119,7 @@ void node_gpu_stack_from_data(struct GPUNodeStack *gs, int type, bNodeStack *ns)
}
else {
nodestack_get_vec(gs->vec, type, ns);
- gs->link = ns->data;
+ gs->link = (GPUNodeLink *)ns->data;
if (type == SOCK_FLOAT) {
gs->type = GPU_FLOAT;
@@ -159,11 +159,9 @@ void node_data_from_gpu_stack(bNodeStack *ns, GPUNodeStack *gs)
static void gpu_stack_from_data_list(GPUNodeStack *gs, ListBase *sockets, bNodeStack **ns)
{
- bNodeSocket *sock;
int i;
-
- for (sock = sockets->first, i = 0; sock; sock = sock->next, i++) {
- node_gpu_stack_from_data(&gs[i], sock->type, ns[i]);
+ LISTBASE_FOREACH_INDEX (bNodeSocket *, socket, sockets, i) {
+ node_gpu_stack_from_data(&gs[i], socket->type, ns[i]);
}
gs[i].end = true;
@@ -171,10 +169,8 @@ static void gpu_stack_from_data_list(GPUNodeStack *gs, ListBase *sockets, bNodeS
static void data_from_gpu_stack_list(ListBase *sockets, bNodeStack **ns, GPUNodeStack *gs)
{
- bNodeSocket *sock;
int i;
-
- for (sock = sockets->first, i = 0; sock; sock = sock->next, i++) {
+ LISTBASE_FOREACH_INDEX (bNodeSocket *, socket, sockets, i) {
node_data_from_gpu_stack(ns[i], &gs[i]);
}
}
@@ -182,14 +178,14 @@ static void data_from_gpu_stack_list(ListBase *sockets, bNodeStack **ns, GPUNode
bNode *nodeGetActiveTexture(bNodeTree *ntree)
{
/* this is the node we texture paint and draw in textured draw */
- bNode *node, *tnode, *inactivenode = NULL, *activetexnode = NULL, *activegroup = NULL;
+ bNode *inactivenode = nullptr, *activetexnode = nullptr, *activegroup = nullptr;
bool hasgroup = false;
if (!ntree) {
- return NULL;
+ return nullptr;
}
- for (node = ntree->nodes.first; node; node = node->next) {
+ LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->flag & NODE_ACTIVE_TEXTURE) {
activetexnode = node;
/* if active we can return immediately */
@@ -212,7 +208,7 @@ bNode *nodeGetActiveTexture(bNodeTree *ntree)
/* first, check active group for textures */
if (activegroup) {
- tnode = nodeGetActiveTexture((bNodeTree *)activegroup->id);
+ bNode *tnode = nodeGetActiveTexture((bNodeTree *)activegroup->id);
/* active node takes priority, so ignore any other possible nodes here */
if (tnode) {
return tnode;
@@ -225,9 +221,9 @@ bNode *nodeGetActiveTexture(bNodeTree *ntree)
if (hasgroup) {
/* node active texture node in this tree, look inside groups */
- for (node = ntree->nodes.first; node; node = node->next) {
+ LISTBASE_FOREACH (bNode *, node, &ntree->nodes) {
if (node->type == NODE_GROUP) {
- tnode = nodeGetActiveTexture((bNodeTree *)node->id);
+ bNode *tnode = nodeGetActiveTexture((bNodeTree *)node->id);
if (tnode && ((tnode->flag & NODE_ACTIVE_TEXTURE) || !inactivenode)) {
return tnode;
}
@@ -257,7 +253,7 @@ void ntreeExecGPUNodes(bNodeTreeExec *exec, GPUMaterial *mat, bNode *output_node
do_it = false;
/* for groups, only execute outputs for edited group */
if (node->typeinfo->nclass == NODE_CLASS_OUTPUT) {
- if ((output_node != NULL) && (node == output_node)) {
+ if ((output_node != nullptr) && (node == output_node)) {
do_it = true;
}
}
@@ -307,7 +303,7 @@ void node_shader_gpu_tex_mapping(GPUMaterial *mat,
GPUNodeStack *in,
GPUNodeStack *UNUSED(out))
{
- NodeTexBase *base = node->storage;
+ NodeTexBase *base = (NodeTexBase *)node->storage;
TexMapping *texmap = &base->tex_mapping;
float domin = (texmap->flag & TEXMAP_CLIP_MIN) != 0;
float domax = (texmap->flag & TEXMAP_CLIP_MAX) != 0;