75 for (
int a = 0;
a < 3;
a++) {
84 ext_xyz[
a][3] = (cm->
ext_out[0] != 0.0f) ?
167 bool use_opti =
true;
175 float ext_rgba[4][4];
185 ext_rgba[
a][1] = (cm->
ext_in[0] != 0.0f) ?
188 ext_rgba[
a][3] = (cm->
ext_out[0] != 0.0f) ?
193 ext_rgba[
a][1] = 0.0f;
194 ext_rgba[
a][3] = 0.0f;
199 if (range_rgba[
a] != 1.0f || ext_rgba[
a][1] != 1.0f || ext_rgba[
a][2] != 1.0f ||
void node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
void node_type_socket_templates(struct bNodeType *ntype, struct bNodeSocketTemplate *inputs, struct bNodeSocketTemplate *outputs)
void node_type_init(struct bNodeType *ntype, void(*initfunc)(struct bNodeTree *ntree, struct bNode *node))
void node_type_size_preset(struct bNodeType *ntype, eNodeSizePreset size)
void node_type_storage(struct bNodeType *ntype, const char *storagename, void(*freefunc)(struct bNode *node), void(*copyfunc)(struct bNodeTree *dest_ntree, struct bNode *dest_node, const struct bNode *src_node))
#define NODE_CLASS_OP_VECTOR
#define SH_NODE_CURVE_RGB
#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)
MINLINE float max_ff(float a, float b)
void interp_v3_v3v3(float r[3], const float a[3], const float b[3], const float t)
@ CUMA_EXTEND_EXTRAPOLATE
GPUNodeLink * GPU_color_band(GPUMaterial *mat, int size, float *pixels, float *row)
GPUNodeLink * GPU_constant(const float *num)
GPUNodeLink * GPU_uniform(const float *num)
bool GPU_stack_link(GPUMaterial *mat, struct bNode *node, const char *name, GPUNodeStack *in, GPUNodeStack *out,...)
Group RGB to Bright SH_NODE_CURVE_VEC
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
static int gpu_shader_curve_vec(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
void register_node_type_sh_curve_rgb(void)
static bNodeSocketTemplate sh_node_curve_rgb_in[]
static bNodeSocketTemplate sh_node_curve_vec_out[]
static bNodeSocketTemplate sh_node_curve_vec_in[]
void register_node_type_sh_curve_vec(void)
static bNodeSocketTemplate sh_node_curve_rgb_out[]
static void node_shader_init_curve_rgb(bNodeTree *UNUSED(ntree), bNode *node)
static void node_shader_exec_curve_vec(void *UNUSED(data), int UNUSED(thread), bNode *node, bNodeExecData *UNUSED(execdata), bNodeStack **in, bNodeStack **out)
static void node_shader_exec_curve_rgb(void *UNUSED(data), int UNUSED(thread), bNode *node, bNodeExecData *UNUSED(execdata), bNodeStack **in, bNodeStack **out)
static int gpu_shader_curve_rgb(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
static void node_shader_init_curve_vec(bNodeTree *UNUSED(ntree), bNode *node)
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_copy_curves(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
void * node_initexec_curves(bNodeExecContext *UNUSED(context), bNode *node, bNodeInstanceKey UNUSED(key))
void node_free_curves(bNode *node)
Compact definition of a node socket.