20 .description(
"Amount of influence the node exerts on the image");
22 .default_value({0.0f, 0.0f, 0.0f, 1.0f})
23 .description(
"Color input on which invertion will be applied");
39 NodeItem fac = get_input_value(
"Fac", NodeItem::Type::Float);
40 NodeItem color = get_input_value(
"Color", NodeItem::Type::Color3);
41 return fac.mix(color, val(1.0f) - color);
55 ntype.
declare = file_ns::node_declare;
56 ntype.
gpu_fn = file_ns::gpu_shader_invert;
#define NODE_CLASS_OP_COLOR
bool GPU_stack_link(GPUMaterial *mat, const bNode *node, const char *name, GPUNodeStack *in, GPUNodeStack *out,...)
local_group_size(16, 16) .push_constant(Type b
void node_register_type(bNodeType *ntype)
static int gpu_shader_invert(GPUMaterial *mat, bNode *node, bNodeExecData *, GPUNodeStack *in, GPUNodeStack *out)
static void node_declare(NodeDeclarationBuilder &b)
#define NODE_SHADER_MATERIALX_BEGIN
#define NODE_SHADER_MATERIALX_END
void register_node_type_sh_invert()
void sh_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
NodeMaterialXFunction materialx_fn
NodeGPUExecFunction gpu_fn
NodeDeclareFunction declare