26 if (node->custom1 < node->custom2) {
27 fac = (p->
cfra - node->custom1) /
float(node->custom2 - node->custom1);
33 out[0] = std::clamp(fac, 0.0f, 1.0f);
#define NODE_CLASS_OP_COLOR
void node_type_size_preset(bNodeType *ntype, eNodeSizePreset size)
void node_type_socket_templates(bNodeType *ntype, bNodeSocketTemplate *inputs, bNodeSocketTemplate *outputs)
void node_type_storage(bNodeType *ntype, const char *storagename, void(*freefunc)(bNode *node), void(*copyfunc)(bNodeTree *dest_ntree, bNode *dest_node, const bNode *src_node))
void node_register_type(bNodeType *ntype)
static void rgb_exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
static blender::bke::bNodeSocketTemplate rgb_inputs[]
static void time_exec(void *data, int, bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack **out)
static void rgb_colorfn(float *out, TexParams *p, bNode *node, bNodeStack **in, short thread)
static void time_init(bNodeTree *, bNode *node)
void register_node_type_tex_curve_time()
void register_node_type_tex_curve_rgb()
static blender::bke::bNodeSocketTemplate time_outputs[]
static blender::bke::bNodeSocketTemplate rgb_outputs[]
static void time_colorfn(float *out, TexParams *p, bNode *node, bNodeStack **, short)
static void rgb_init(bNodeTree *, bNode *node)
void tex_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
void tex_input_rgba(float *out, bNodeStack *in, TexParams *params, short thread)
void tex_output(bNode *node, bNodeExecData *execdata, bNodeStack **in, bNodeStack *out, TexFn texfn, TexCallData *cdata)
void * node_initexec_curves(bNodeExecContext *, bNode *node, bNodeInstanceKey)
void node_copy_curves(bNodeTree *, bNode *dest_node, const bNode *src_node)
void node_free_curves(bNode *node)
Compact definition of a node socket.
void(* initfunc)(bNodeTree *ntree, bNode *node)
NodeInitExecFunction init_exec_fn