31 .compositor_domain_priority(2);
33 .default_value({1.0f, 1.0f, 1.0f, 1.0f})
34 .compositor_domain_priority(0);
36 .default_value({1.0f, 1.0f, 1.0f, 1.0f})
37 .compositor_domain_priority(1);
43 node->storage = MEM_cnew<NodeTwoFloats>(__func__);
67 if (premultiply_factor != 0.0f) {
70 "node_composite_alpha_over_mixed",
82 GPU_stack_link(material, &
bnode(),
"node_composite_alpha_over_premultiply", inputs, outputs);
92 return node_storage(
bnode()).x;
110 ntype.
declare = file_ns::cmp_node_alphaover_declare;
111 ntype.
draw_buttons = file_ns::node_composit_buts_alphaover;
112 ntype.
initfunc = file_ns::node_alphaover_init;
#define NODE_STORAGE_FUNCS(StorageT)
#define NODE_CLASS_OP_COLOR
bool GPU_stack_link(GPUMaterial *mat, const bNode *node, const char *name, GPUNodeStack *in, GPUNodeStack *out,...)
GPUNodeLink * GPU_uniform(const float *num)
uiLayout * uiLayoutColumn(uiLayout *layout, bool align)
void uiItemR(uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
@ UI_ITEM_R_SPLIT_EMPTY_NAME
void compile(GPUMaterial *material) override
bool get_use_premultiply()
float get_premultiply_factor()
GPUNodeStack * get_inputs_array()
GPUNodeStack * get_outputs_array()
const bNode & bnode() const
local_group_size(16, 16) .push_constant(Type b
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 node_composit_buts_alphaover(uiLayout *layout, bContext *, PointerRNA *ptr)
static void node_alphaover_init(bNodeTree *, bNode *node)
static ShaderNode * get_compositor_shader_node(DNode node)
static void cmp_node_alphaover_declare(NodeDeclarationBuilder &b)
void register_node_type_cmp_alphaover()
void cmp_node_type_base(blender::bke::bNodeType *ntype, int type, const char *name, short nclass)
void node_free_standard_storage(bNode *node)
void node_copy_standard_storage(bNodeTree *, bNode *dest_node, const bNode *src_node)
void(* initfunc)(bNodeTree *ntree, bNode *node)
void(* draw_buttons)(uiLayout *, bContext *C, PointerRNA *ptr)
NodeDeclareFunction declare
NodeGetCompositorShaderNodeFunction get_compositor_shader_node