31 .default_value({1.0f, 1.0f, 1.0f, 1.0f})
32 .compositor_domain_priority(0);
42 if (first_colorspace && first_colorspace[0]) {
58 uiItemL(layout,
RPT_(
"Disabled, built without OpenColorIO"), ICON_ERROR);
85 const char *source = node_storage(
bnode()).from_color_space;
86 const char *target = node_storage(
bnode()).to_color_space;
116 const char *source = node_storage(
bnode()).from_color_space;
117 const char *target = node_storage(
bnode()).to_color_space;
134 const char *source = node_storage(
bnode()).from_color_space;
135 const char *target = node_storage(
bnode()).to_color_space;
137 if (
STREQ(source, target)) {
164 ntype.
declare = file_ns::CMP_NODE_CONVERT_COLOR_SPACE_declare;
165 ntype.
draw_buttons = file_ns::node_composit_buts_convert_colorspace;
167 ntype.
initfunc = file_ns::node_composit_init_convert_colorspace;
#define NODE_CLASS_CONVERTER
#define NODE_STORAGE_FUNCS(StorageT)
#define STRNCPY(dst, src)
ColormanageProcessor * IMB_colormanagement_colorspace_processor_new(const char *from_colorspace, const char *to_colorspace)
bool IMB_colormanagement_space_name_is_data(const char *name)
const char * IMB_colormanagement_role_colorspace_name_get(int role)
@ COLOR_ROLE_SCENE_LINEAR
void IMB_colormanagement_processor_free(ColormanageProcessor *cm_processor)
void IMB_colormanagement_processor_apply_pixel(ColormanageProcessor *cm_processor, float *pixel, int channels)
void uiItemL(uiLayout *layout, const char *name, int icon)
void uiItemR(uiLayout *layout, PointerRNA *ptr, const char *propname, eUI_Item_Flag flag, const char *name, int icon)
@ UI_ITEM_R_SPLIT_EMPTY_NAME
struct GPUShader GPUShader
StaticCacheManager & cache_manager()
NodeOperation(Context &context, DNode node)
const bNode & bnode() const
OCIOColorSpaceConversionShader & get(Context &context, std::string source, std::string target)
const char * input_sampler_name()
const char * output_image_name()
void unbind_shader_and_resources()
GPUShader * bind_shader_and_resources()
Result & get_input(StringRef identifier) const
Result & get_result(StringRef identifier)
Context & context() const
virtual Domain compute_domain()
void bind_as_image(GPUShader *shader, const char *image_name, bool read=false) const
void pass_through(Result &target)
void unbind_as_texture() const
float4 get_color_value() const
void unbind_as_image() const
bool is_single_value() const
void allocate_texture(Domain domain, bool from_pool=true)
void set_color_value(const float4 &value)
void bind_as_texture(GPUShader *shader, const char *texture_name) const
void allocate_single_value()
OCIOColorSpaceConversionShaderContainer ocio_color_space_conversion_shaders
local_group_size(16, 16) .push_constant(Type b
void *(* MEM_callocN)(size_t len, const char *str)
void node_type_size_preset(bNodeType *ntype, eNodeSizePreset size)
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 NodeOperation * get_compositor_operation(Context &context, DNode node)
static void node_composit_buts_convert_colorspace(uiLayout *layout, bContext *, PointerRNA *ptr)
static void CMP_NODE_CONVERT_COLOR_SPACE_declare(NodeDeclarationBuilder &b)
static void node_composit_init_convert_colorspace(bNodeTree *, bNode *node)
void compute_dispatch_threads_at_least(GPUShader *shader, int2 threads_range, int2 local_size=int2(16))
void register_node_type_cmp_convert_color_space()
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)
char from_color_space[64]
NodeGetCompositorOperationFunction get_compositor_operation
void(* initfunc)(bNodeTree *ntree, bNode *node)
void(* draw_buttons)(uiLayout *, bContext *C, PointerRNA *ptr)
NodeDeclareFunction declare