58 out[1]->
vec[0] = out[0]->
vec[3];
83 mul_bias[1] = -mul_bias[0] * coba->
data[0].
pos;
86 "valtorgb_opti_linear",
96 "valtorgb_opti_constant",
104 mul_bias[1] = -mul_bias[0] * coba->
data[0].
pos;
107 "valtorgb_opti_ease",
191 {
SOCK_RGBA,
N_(
"Color"), 0.5f, 0.5f, 0.5f, 1.0f, 0.0f, 1.0f}, {-1,
""}};
193 {
SOCK_FLOAT,
N_(
"Val"), 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 1.0f}, {-1,
""}};
struct ColorBand * BKE_colorband_add(bool rangetype)
bool BKE_colorband_evaluate(const struct ColorBand *coba, float in, float out[4])
void BKE_colorband_evaluate_table_rgba(const struct ColorBand *coba, float **array, int *size)
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))
#define NODE_CLASS_CONVERTOR
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))
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)
@ COLBAND_INTERP_CONSTANT
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,...)
BLI_INLINE float IMB_colormanagement_get_luminance(const float rgb[3])
static DBVT_INLINE btScalar size(const btDbvtVolume &a)
void call(blender::IndexMask mask, blender::fn::MFParams params, blender::fn::MFContext UNUSED(context)) const override
static blender::fn::MFSignature create_signature()
ColorBandFunction(const ColorBand &color_band)
void set_signature(const MFSignature *signature)
const MFSignature & signature() const
T & construct_and_set_matching_fn(Args &&... args)
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 sh_fn_node_type_base(bNodeType *ntype, int type, const char *name, short nclass, short flag)
static bNodeSocketTemplate sh_node_rgbtobw_out[]
static int gpu_shader_rgbtobw(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
static int gpu_shader_valtorgb(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
static bNodeSocketTemplate sh_node_valtorgb_out[]
static void sh_node_valtorgb_expand_in_mf_network(blender::nodes::NodeMFNetworkBuilder &builder)
static void node_shader_init_valtorgb(bNodeTree *UNUSED(ntree), bNode *node)
static void node_shader_exec_rgbtobw(void *UNUSED(data), int UNUSED(thread), bNode *UNUSED(node), bNodeExecData *UNUSED(execdata), bNodeStack **in, bNodeStack **out)
static void node_shader_exec_valtorgb(void *UNUSED(data), int UNUSED(thread), bNode *node, bNodeExecData *UNUSED(execdata), bNodeStack **in, bNodeStack **out)
void register_node_type_sh_rgbtobw(void)
void register_node_type_sh_valtorgb(void)
static bNodeSocketTemplate sh_node_rgbtobw_in[]
static bNodeSocketTemplate sh_node_valtorgb_in[]
void node_copy_standard_storage(bNodeTree *UNUSED(dest_ntree), bNode *dest_node, const bNode *src_node)
void node_free_standard_storage(bNode *node)
struct SELECTID_Context context
Compact definition of a node socket.
NodeExpandInMFNetworkFunction expand_in_mf_network
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)