7#if defined(WITH_OPENCOLORIO)
28class LibOCIOConfig :
public Config {
29 OCIO_NAMESPACE::ConstConfigRcPtr ocio_config_;
35 Vector<LibOCIOColorSpace> color_spaces_;
36 Vector<LibOCIOColorSpace> inactive_color_spaces_;
37 Vector<LibOCIOLook> looks_;
38 Vector<LibOCIODisplay> displays_;
42 Vector<int> sorted_color_space_index_;
44 LibOCIOGPUShaderBinder gpu_shader_binder_{*
this};
49 static std::unique_ptr<Config> create_from_environment();
50 static std::unique_ptr<Config> create_from_file(StringRefNull filename);
53 float3 get_default_luma_coefs()
const override;
54 float3x3 get_xyz_to_scene_linear_matrix()
const override;
55 const char *get_color_space_from_filepath(
const char *filepath)
const override;
58 const ColorSpace *get_color_space(StringRefNull
name)
const override;
59 int get_num_color_spaces()
const override;
60 const ColorSpace *get_color_space_by_index(
int index)
const override;
61 const ColorSpace *get_sorted_color_space_by_index(
int index)
const override;
62 const ColorSpace *get_color_space_by_interop_id(StringRefNull interop_id)
const override;
63 const ColorSpace *get_color_space_for_hdr_image(StringRefNull
name)
const override;
66 void set_scene_linear_role(StringRefNull
name)
override;
69 const Display *get_default_display()
const override;
70 const Display *get_display_by_name(StringRefNull
name)
const override;
71 int get_num_displays()
const override;
72 const Display *get_display_by_index(
int index)
const override;
75 const ColorSpace *get_display_view_color_space(StringRefNull display,
76 StringRefNull
view)
const override;
79 const Look *get_look_by_name(StringRefNull
name)
const override;
80 int get_num_looks()
const override;
81 const Look *get_look_by_index(
int index)
const override;
84 std::shared_ptr<const CPUProcessor> get_display_cpu_processor(
85 const DisplayParameters &display_parameters)
const override;
86 std::shared_ptr<const CPUProcessor> get_cpu_processor(
87 StringRefNull from_colorspace, StringRefNull to_colorspace)
const override;
90 const GPUShaderBinder &get_gpu_shader_binder()
const override;
93 const OCIO_NAMESPACE::ConstConfigRcPtr &get_ocio_config()
const
98 MEM_CXX_CLASS_ALLOC_FUNCS(
"LibOCIOConfig");
101 explicit LibOCIOConfig(
const OCIO_NAMESPACE::ConstConfigRcPtr &ocio_config);
105 void initialize_active_color_spaces();
106 void initialize_inactive_color_spaces();
107 void initialize_hdr_color_spaces();
108 void initialize_looks();
109 void initialize_displays();
blender::ocio::ColorSpace ColorSpace
Read Guarded memory(de)allocation.
VecBase< float, 3 > float3