Blender V2.61 - r43446
|
#include "DNA_node_types.h"
#include "BKE_node.h"
#include "node_shader_util.h"
#include "node_common.h"
#include "node_exec.h"
Go to the source code of this file.
Functions | |
static void | copy_stack (bNodeStack *to, bNodeStack *from) |
static void | move_stack (bNodeStack *to, bNodeStack *from) |
static void * | group_initexec (bNode *node) |
static void | group_freeexec (bNode *UNUSED(node), void *nodedata) |
static void | group_copy_inputs (bNode *node, bNodeStack **in, bNodeStack *gstack) |
static void | group_move_outputs (bNode *node, bNodeStack **out, bNodeStack *gstack) |
static void | group_execute (void *data, int thread, struct bNode *node, void *nodedata, struct bNodeStack **in, struct bNodeStack **out) |
static void | group_gpu_copy_inputs (bNode *node, GPUNodeStack *in, bNodeStack *gstack) |
static void | group_gpu_move_outputs (bNode *node, GPUNodeStack *out, bNodeStack *gstack) |
static int | gpu_group_execute (GPUMaterial *mat, bNode *node, void *nodedata, GPUNodeStack *in, GPUNodeStack *out) |
void | register_node_type_sh_group (bNodeTreeType *ttype) |
Definition in file node_shader_common.c.
static void copy_stack | ( | bNodeStack * | to, |
bNodeStack * | from | ||
) | [static] |
Definition at line 42 of file node_shader_common.c.
References copy_v4_v4(), bNodeStack::data, bNodeStack::datatype, bNodeStack::is_copy, and bNodeStack::vec.
Referenced by group_copy_inputs().
static int gpu_group_execute | ( | GPUMaterial * | mat, |
bNode * | node, | ||
void * | nodedata, | ||
GPUNodeStack * | in, | ||
GPUNodeStack * | out | ||
) | [static] |
Definition at line 172 of file node_shader_common.c.
References exec(), bNode::flag, group_gpu_copy_inputs(), group_gpu_move_outputs(), NODE_GROUP_EDIT, ntreeExecGPUNodes(), and bNodeTreeExec::stack.
Referenced by register_node_type_sh_group().
static void group_copy_inputs | ( | bNode * | node, |
bNodeStack ** | in, | ||
bNodeStack * | gstack | ||
) | [static] |
Definition at line 91 of file node_shader_common.c.
References copy_stack(), ListBase::first, bNodeSocket::groupsock, bNode::inputs, bNodeSocket::next, and node_get_socket_stack().
Referenced by group_execute().
static void group_execute | ( | void * | data, |
int | thread, | ||
struct bNode * | node, | ||
void * | nodedata, | ||
struct bNodeStack ** | in, | ||
struct bNodeStack ** | out | ||
) | [static] |
Definition at line 119 of file node_shader_common.c.
References exec(), ListBase::first, group_copy_inputs(), group_move_outputs(), bNode::need_exec, bNode::next, bNodeTree::nodes, bNodeTreeExec::nodetree, ntreeExecThreadNodes(), ntreeGetThreadStack(), ntreeReleaseThreadStack(), and bNodeThreadStack::stack.
Referenced by register_node_type_sh_group().
static void group_freeexec | ( | bNode * | UNUSEDnode, |
void * | nodedata | ||
) | [static] |
Definition at line 82 of file node_shader_common.c.
References ntreeShaderEndExecTree().
Referenced by register_node_type_sh_group().
static void group_gpu_copy_inputs | ( | bNode * | node, |
GPUNodeStack * | in, | ||
bNodeStack * | gstack | ||
) | [static] |
Definition at line 142 of file node_shader_common.c.
References ListBase::first, bNodeSocket::groupsock, bNode::inputs, bNodeSocket::next, node_data_from_gpu_stack(), and node_get_socket_stack().
Referenced by gpu_group_execute().
static void group_gpu_move_outputs | ( | bNode * | node, |
GPUNodeStack * | out, | ||
bNodeStack * | gstack | ||
) | [static] |
Definition at line 158 of file node_shader_common.c.
References ListBase::first, bNodeSocket::groupsock, bNodeSocket::next, node_get_socket_stack(), node_gpu_stack_from_data(), bNode::outputs, and bNodeSocket::type.
Referenced by gpu_group_execute().
static void* group_initexec | ( | bNode * | node | ) | [static] |
Definition at line 71 of file node_shader_common.c.
References exec(), bNode::id, and ntreeShaderBeginExecTree().
Referenced by register_node_type_sh_group().
static void group_move_outputs | ( | bNode * | node, |
bNodeStack ** | out, | ||
bNodeStack * | gstack | ||
) | [static] |
Definition at line 106 of file node_shader_common.c.
References ListBase::first, bNodeSocket::groupsock, move_stack(), bNodeSocket::next, node_get_socket_stack(), and bNode::outputs.
Referenced by group_execute().
static void move_stack | ( | bNodeStack * | to, |
bNodeStack * | from | ||
) | [static] |
Definition at line 54 of file node_shader_common.c.
References copy_v4_v4(), bNodeStack::data, bNodeStack::datatype, bNodeStack::is_copy, NULL, bNodeStack::vec, and zero_v4().
Referenced by group_move_outputs().
void register_node_type_sh_group | ( | bNodeTreeType * | ttype | ) |
Definition at line 183 of file node_shader_common.c.
References gpu_group_execute(), group_execute(), group_freeexec(), group_initexec(), NODE_CLASS_GROUP, NODE_CONST_OUTPUT, NODE_GROUP, node_group_edit_clear(), node_group_edit_get(), node_group_edit_set(), node_group_init(), node_group_label(), node_group_template(), node_group_valid(), node_group_verify(), NODE_OPTIONS, node_type_base(), node_type_exec_new(), node_type_gpu_ext(), node_type_group_edit(), node_type_init(), node_type_label(), node_type_size(), node_type_socket_templates(), node_type_template(), node_type_update(), node_type_valid(), nodeRegisterType(), and NULL.
Referenced by registerShaderNodes().