22 b.add_input<
decl::Float>(
N_(
"Value")).default_value(0.5f).min(-10000.0f).max(10000.0f);
48 if (!
params.node_tree().typeinfo->validate_link(
58 if (item->name !=
nullptr && item->identifier[0] !=
'\0') {
60 (is_geometry_node_tree &&
90 if (name !=
nullptr) {
94 float min[3] = {0.0f, 0.0f, 0.0f};
95 float max[3] = {1.0f, 1.0f, 1.0f};
107 const int mode =
node.custom1;
116 if (base_fn !=
nullptr) {
126 if (base_fn !=
nullptr) {
136 if (base_fn !=
nullptr) {
158 const int output_param_index = this->
param_amount() - 1;
162 for (
const int i :
mask) {
163 float &value = results[i];
164 CLAMP(value, 0.0f, 1.0f);
173 const bool clamp_output = builder.
node().
custom2 != 0;
void node_type_gpu(struct bNodeType *ntype, NodeGPUExecFunction gpu_fn)
void node_type_update(struct bNodeType *ntype, void(*updatefunc)(struct bNodeTree *ntree, struct bNode *node))
#define NODE_CLASS_CONVERTER
void nodeRegisterType(struct bNodeType *ntype)
#define BLT_I18NCONTEXT_ID_NODETREE
#define CTX_IFACE_(context, msgid)
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 Output data from inside of a node group A color picker Mix two input colors RGB to Convert a color s luminance to a grayscale value Generate a normal vector and a dot product Bright Control the brightness and contrast of the input color Vector Map an input vectors to used to fine tune the interpolation of the input Camera Retrieve information about the camera and how it relates to the current shading point s position CLAMP
constexpr bool is_empty() const
constexpr const char * c_str() const
void set_signature(const MFSignature *signature)
virtual void call(IndexMask mask, MFParams params, MFContext context) const =0
const MFSignature & signature() const
void set_matching_fn(const MultiFunction *fn)
void construct_and_set_matching_fn(Args &&...args)
ClampWrapperFunction(const fn::MultiFunction &fn)
void call(IndexMask mask, fn::MFParams params, fn::MFContext context) const override
void operator()(LinkSearchOpParams ¶ms)
ccl_device_inline float4 mask(const int4 &mask, const float4 &a)
static const char * gpu_shader_get_name(int mode)
static void sh_node_math_gather_link_searches(GatherLinkSearchOpParams ¶ms)
static int gpu_shader_math(GPUMaterial *mat, bNode *node, bNodeExecData *UNUSED(execdata), GPUNodeStack *in, GPUNodeStack *out)
static void sh_node_math_build_multi_function(NodeMultiFunctionBuilder &builder)
static void sh_node_math_declare(NodeDeclarationBuilder &b)
static const fn::MultiFunction * get_base_multi_function(bNode &node)
bool try_dispatch_float_math_fl_fl_to_fl(const int operation, Callback &&callback)
bool try_dispatch_float_math_fl_to_fl(const int operation, Callback &&callback)
const FloatMathOperationInfo * get_float_math_operation_info(const int operation)
bool try_dispatch_float_math_fl_fl_fl_to_fl(const int operation, Callback &&callback)
static const pxr::TfToken out("out", pxr::TfToken::Immortal)
static const pxr::TfToken b("b", pxr::TfToken::Immortal)
void register_node_type_sh_math()
void sh_fn_node_type_base(bNodeType *ntype, int type, const char *name, short nclass)
void node_math_update(bNodeTree *ntree, bNode *node)
void node_math_label(const bNodeTree *UNUSED(ntree), const bNode *node, char *label, int maxlen)
const EnumPropertyItem rna_enum_node_math_items[]
NodeGatherSocketLinkOperationsFunction gather_link_search_ops
void(* labelfunc)(const struct bNodeTree *ntree, const struct bNode *node, char *label, int maxlen)
NodeMultiFunctionBuildFunction build_multi_function
NodeDeclareFunction declare
StringRefNull shader_name
StringRefNull title_case_name