29 .default_value({1.0f, 1.0f, 1.0f, 1.0f})
30 .compositor_domain_priority(0);
99 "highlights_saturation",
105 "highlights_contrast",
120 "midtones_saturation",
135 "shadows_saturation",
176 "highlights_saturation",
182 "midtones_saturation",
188 "shadows_saturation",
202 "highlights_contrast",
293 float enabled_channels[3];
295 float luminance_coefficients[3];
302 "node_composite_color_correction",
333 for (
int i = 0; i < 3; i++) {
334 enabled_channels[i] = (
bnode().
custom1 & (1 << i)) ? 1.0f : 0.0f;
353 ntype.
declare = file_ns::cmp_node_colorcorrection_declare;
354 ntype.
draw_buttons = file_ns::node_composit_buts_colorcorrection;
355 ntype.
draw_buttons_ex = file_ns::node_composit_buts_colorcorrection_ex;
357 ntype.
initfunc = file_ns::node_composit_init_colorcorrection;
#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_constant(const float *num)
GPUNodeLink * GPU_uniform(const float *num)
BLI_INLINE void IMB_colormanagement_get_luminance_coefficients(float r_rgb[3])
void uiItemL(uiLayout *layout, const char *name, int icon)
uiLayout * uiLayoutRow(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
int compositor_domain_priority() const
void compile(GPUMaterial *material) override
void get_enabled_channels(float enabled_channels[3])
GPUNodeStack * get_inputs_array()
GPUNodeStack * get_outputs_array()
const bNode & bnode() const
local_group_size(16, 16) .push_constant(Type b
void node_type_size(bNodeType *ntype, int width, int minwidth, int maxwidth)
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_colorcorrection_ex(uiLayout *layout, bContext *, PointerRNA *ptr)
static void node_composit_buts_colorcorrection(uiLayout *layout, bContext *, PointerRNA *ptr)
static void cmp_node_colorcorrection_declare(NodeDeclarationBuilder &b)
static ShaderNode * get_compositor_shader_node(DNode node)
static void node_composit_init_colorcorrection(bNodeTree *, bNode *node)
void register_node_type_cmp_colorcorrection()
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)
ColorCorrectionData shadows
ColorCorrectionData midtones
ColorCorrectionData master
ColorCorrectionData highlights
void(* initfunc)(bNodeTree *ntree, bNode *node)
void(* draw_buttons_ex)(uiLayout *, bContext *C, PointerRNA *ptr)
void(* draw_buttons)(uiLayout *, bContext *C, PointerRNA *ptr)
NodeDeclareFunction declare
NodeGetCompositorShaderNodeFunction get_compositor_shader_node