52 CLAMP(fac, 0.0f, 1.0f);
70 static const char *
names[] = {
94 const float min[3] = {0.0f, 0.0f, 0.0f};
95 const float max[3] = {1.0f, 1.0f, 1.0f};
void ramp_blend(int type, float r_col[3], const float fac, const float col[3])
void node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
#define NODE_CLASS_OP_COLOR
void node_type_exec(struct bNodeType *ntype, NodeInitExecFunction init_exec_fn, NodeFreeExecFunction free_exec_fn, NodeExecFunction exec_fn)
void nodeRegisterType(struct bNodeType *ntype)
void node_type_label(struct bNodeType *ntype, void(*labelfunc)(struct bNodeTree *ntree, struct bNode *, char *label, int maxlen))
MINLINE void copy_v3_v3(float r[3], const float a[3])
#define CLAMP3(vec, b, c)
GPUNodeLink * GPU_constant(const float *num)
bool GPU_link(GPUMaterial *mat, const char *name,...)
bool GPU_stack_link(GPUMaterial *mat, struct bNode *node, const char *name, GPUNodeStack *in, GPUNodeStack *out,...)
Group RGB to Bright Vector Camera CLAMP
static void node_shader_exec_mix_rgb(void *UNUSED(data), int UNUSED(thread), bNode *node, bNodeExecData *UNUSED(execdata), bNodeStack **in, bNodeStack **out)
static int gpu_shader_mix_rgb(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
void register_node_type_sh_mix_rgb(void)
static bNodeSocketTemplate sh_node_mix_rgb_in[]
static bNodeSocketTemplate sh_node_mix_rgb_out[]
void sh_node_type_base(struct bNodeType *ntype, int type, const char *name, short nclass, short flag)
void nodestack_get_vec(float *in, short type_in, bNodeStack *ns)
void node_blend_label(bNodeTree *UNUSED(ntree), bNode *node, char *label, int maxlen)
Compact definition of a node socket.