Blender  V3.3
ocio_impl.h
Go to the documentation of this file.
1 /* SPDX-License-Identifier: GPL-2.0-or-later
2  * Copyright 2012 Blender Foundation. All rights reserved. */
3 
4 #ifndef __OCIO_IMPL_H__
5 #define __OCIO_IMPL_H__
6 
7 #include "ocio_capi.h"
8 
9 class IOCIOImpl {
10  public:
11  virtual ~IOCIOImpl()
12  {
13  }
14 
15  virtual OCIO_ConstConfigRcPtr *getCurrentConfig(void) = 0;
16  virtual void setCurrentConfig(const OCIO_ConstConfigRcPtr *config) = 0;
17 
18  virtual OCIO_ConstConfigRcPtr *configCreateFromEnv(void) = 0;
19  virtual OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename) = 0;
20 
21  virtual void configRelease(OCIO_ConstConfigRcPtr *config) = 0;
22 
23  virtual int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config) = 0;
24  virtual const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
25  virtual OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config,
26  const char *name) = 0;
27  virtual int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
28 
29  virtual int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs) = 0;
30  virtual int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs) = 0;
31  virtual void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
32  OCIO_ConstColorSpaceRcPtr *cs,
33  bool &is_scene_linear,
34  bool &is_srgb) = 0;
35 
36  virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs) = 0;
37 
38  virtual const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config) = 0;
39  virtual int configGetNumDisplays(OCIO_ConstConfigRcPtr *config) = 0;
40  virtual const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index) = 0;
41  virtual const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
42  virtual int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
43  virtual const char *configGetView(OCIO_ConstConfigRcPtr *config,
44  const char *display,
45  int index) = 0;
46  virtual const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
47  const char *display,
48  const char *view) = 0;
49 
50  virtual void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb) = 0;
51  virtual void configGetXYZtoSceneLinear(OCIO_ConstConfigRcPtr *config,
52  float xyz_to_scene_linear[3][3]) = 0;
53 
54  virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config) = 0;
55  virtual const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
56  virtual OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
57 
58  virtual const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look) = 0;
59  virtual void lookRelease(OCIO_ConstLookRcPtr *look) = 0;
60 
61  virtual OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
62  const char *srcName,
63  const char *dstName) = 0;
64  virtual void processorRelease(OCIO_ConstProcessorRcPtr *processor) = 0;
65 
66  virtual OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *p) = 0;
67  virtual void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
68  OCIO_PackedImageDesc *img) = 0;
69  virtual void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
70  OCIO_PackedImageDesc *img) = 0;
71  virtual void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel) = 0;
72  virtual void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel) = 0;
73  virtual void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
74  float *pixel) = 0;
75  virtual void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor) = 0;
76 
77  virtual const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs) = 0;
78  virtual const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs) = 0;
79  virtual const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs) = 0;
80  virtual int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs) = 0;
81  virtual const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index) = 0;
82 
83  virtual OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
84  const char *input,
85  const char *view,
86  const char *display,
87  const char *look,
88  const float scale,
89  const float exponent,
90  const bool inverse) = 0;
91 
92  virtual OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
93  long width,
94  long height,
95  long numChannels,
96  long chanStrideBytes,
97  long xStrideBytes,
98  long yStrideBytes) = 0;
99 
100  virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p) = 0;
101 
102  /* Optional GPU support. */
103  virtual bool supportGPUShader()
104  {
105  return false;
106  }
107  virtual bool gpuDisplayShaderBind(OCIO_ConstConfigRcPtr * /*config*/,
108  const char * /*input*/,
109  const char * /*view*/,
110  const char * /*display*/,
111  const char * /*look*/,
112  OCIO_CurveMappingSettings * /*curve_mapping_settings*/,
113  const float /*scale*/,
114  const float /*exponent*/,
115  const float /*dither*/,
116  const bool /*use_predivide*/,
117  const bool /*use_overlay*/)
118  {
119  return false;
120  }
121  virtual void gpuDisplayShaderUnbind(void)
122  {
123  }
124  virtual void gpuCacheFree(void)
125  {
126  }
127 
128  virtual const char *getVersionString(void) = 0;
129  virtual int getVersionHex(void) = 0;
130 };
131 
132 class FallbackImpl : public IOCIOImpl {
133  public:
135  {
136  }
137 
138  OCIO_ConstConfigRcPtr *getCurrentConfig(void);
139  void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
140 
141  OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
142  OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
143 
144  void configRelease(OCIO_ConstConfigRcPtr *config);
145 
146  int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
147  const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
148  OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
149  int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
150 
151  int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
152  int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
153  void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
154  OCIO_ConstColorSpaceRcPtr *cs,
155  bool &is_scene_linear,
156  bool &is_srgb);
157 
158  void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
159 
160  const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
161  int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
162  const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
163  const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
164  int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
165  const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
166  const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
167  const char *display,
168  const char *view);
169 
170  void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
171  void configGetXYZtoSceneLinear(OCIO_ConstConfigRcPtr *config, float xyz_to_scene_linear[3][3]);
172 
173  int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
174  const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
175  OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
176 
177  const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
178  void lookRelease(OCIO_ConstLookRcPtr *look);
179 
180  OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
181  const char *srcName,
182  const char *dstName);
183  void processorRelease(OCIO_ConstProcessorRcPtr *processor);
184 
185  OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor);
186  void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img);
187  void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
188  OCIO_PackedImageDesc *img);
189  void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
190  void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
191  void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
192  void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor);
193 
194  const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
195  const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
196  const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
197  int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs);
198  const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index);
199 
200  OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
201  const char *input,
202  const char *view,
203  const char *display,
204  const char *look,
205  const float scale,
206  const float exponent,
207  const bool inverse);
208 
209  OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
210  long width,
211  long height,
212  long numChannels,
213  long chanStrideBytes,
214  long xStrideBytes,
215  long yStrideBytes);
216 
217  void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
218 
219  const char *getVersionString(void);
220  int getVersionHex(void);
221 };
222 
223 #ifdef WITH_OCIO
224 class OCIOImpl : public IOCIOImpl {
225  public:
226  OCIOImpl(){};
227 
228  OCIO_ConstConfigRcPtr *getCurrentConfig(void);
229  void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
230 
231  OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
232  OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
233 
234  void configRelease(OCIO_ConstConfigRcPtr *config);
235 
236  int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
237  const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
238  OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
239  int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
240 
241  int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
242  int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
243  void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
244  OCIO_ConstColorSpaceRcPtr *cs,
245  bool &is_scene_linear,
246  bool &is_srgb);
247 
248  void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
249 
250  const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
251  int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
252  const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
253  const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
254  int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
255  const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
256  const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
257  const char *display,
258  const char *view);
259 
260  void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
261  void configGetXYZtoSceneLinear(OCIO_ConstConfigRcPtr *config, float xyz_to_scene_linear[3][3]);
262 
263  int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
264  const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
265  OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
266 
267  const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
268  void lookRelease(OCIO_ConstLookRcPtr *look);
269 
270  OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
271  const char *srcName,
272  const char *dstName);
273  void processorRelease(OCIO_ConstProcessorRcPtr *processor);
274 
275  OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor);
276  void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img);
277  void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
278  OCIO_PackedImageDesc *img);
279  void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
280  void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
281  void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
282  void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor);
283 
284  const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
285  const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
286  const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
287  int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs);
288  const char *colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index);
289 
290  OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
291  const char *input,
292  const char *view,
293  const char *display,
294  const char *look,
295  const float scale,
296  const float exponent,
297  const bool inverse);
298 
299  OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
300  long width,
301  long height,
302  long numChannels,
303  long chanStrideBytes,
304  long xStrideBytes,
305  long yStrideBytes);
306 
307  void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
308 
309  bool supportGPUShader();
310  bool gpuDisplayShaderBind(OCIO_ConstConfigRcPtr *config,
311  const char *input,
312  const char *view,
313  const char *display,
314  const char *look,
315  OCIO_CurveMappingSettings *curve_mapping_settings,
316  const float scale,
317  const float exponent,
318  const float dither,
319  const bool use_predivide,
320  const bool use_overlay);
321  void gpuDisplayShaderUnbind(void);
322  void gpuCacheFree(void);
323 
324  const char *getVersionString(void);
325  int getVersionHex(void);
326 };
327 #endif
328 
329 #endif /* OCIO_IMPL_H */
static AppView * view
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei GLfloat GLfloat GLfloat GLfloat const GLubyte *bitmap _GL_VOID_RET _GL_VOID GLenum const void *lists _GL_VOID_RET _GL_VOID const GLdouble *equation _GL_VOID_RET _GL_VOID GLdouble GLdouble blue _GL_VOID_RET _GL_VOID GLfloat GLfloat blue _GL_VOID_RET _GL_VOID GLint GLint blue _GL_VOID_RET _GL_VOID GLshort GLshort blue _GL_VOID_RET _GL_VOID GLubyte GLubyte blue _GL_VOID_RET _GL_VOID GLuint GLuint blue _GL_VOID_RET _GL_VOID GLushort GLushort blue _GL_VOID_RET _GL_VOID GLbyte GLbyte GLbyte alpha _GL_VOID_RET _GL_VOID GLdouble GLdouble GLdouble alpha _GL_VOID_RET _GL_VOID GLfloat GLfloat GLfloat alpha _GL_VOID_RET _GL_VOID GLint GLint GLint alpha _GL_VOID_RET _GL_VOID GLshort GLshort GLshort alpha _GL_VOID_RET _GL_VOID GLubyte GLubyte GLubyte alpha _GL_VOID_RET _GL_VOID GLuint GLuint GLuint alpha _GL_VOID_RET _GL_VOID GLushort GLushort GLushort alpha _GL_VOID_RET _GL_VOID GLenum mode _GL_VOID_RET _GL_VOID GLint GLsizei width
btMatrix3x3 inverse() const
Return the inverse of the matrix.
Definition: btTransform.h:182
const char * colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs)
int configGetNumDisplays(OCIO_ConstConfigRcPtr *config)
const char * configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index)
int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name)
const char * configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config)
void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs)
const char * configGetDisplay(OCIO_ConstConfigRcPtr *config, int index)
void configGetXYZtoSceneLinear(OCIO_ConstConfigRcPtr *config, float xyz_to_scene_linear[3][3])
void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb)
int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs)
int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs)
const char * getVersionString(void)
void processorRelease(OCIO_ConstProcessorRcPtr *processor)
void setCurrentConfig(const OCIO_ConstConfigRcPtr *config)
int getVersionHex(void)
OCIO_PackedImageDesc * createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, long chanStrideBytes, long xStrideBytes, long yStrideBytes)
OCIO_ConstConfigRcPtr * configCreateFromEnv(void)
OCIO_ConstConfigRcPtr * getCurrentConfig(void)
const char * configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display)
void configRelease(OCIO_ConstConfigRcPtr *config)
void lookRelease(OCIO_ConstLookRcPtr *look)
OCIO_ConstColorSpaceRcPtr * configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name)
const char * colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs)
const char * configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view)
void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p)
OCIO_ConstProcessorRcPtr * createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, const char *view, const char *display, const char *look, const float scale, const float exponent, const bool inverse)
void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)
void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor)
const char * colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index)
int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs)
const char * colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs)
void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)
const char * lookGetProcessSpace(OCIO_ConstLookRcPtr *look)
void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config, OCIO_ConstColorSpaceRcPtr *cs, bool &is_scene_linear, bool &is_srgb)
int configGetNumLooks(OCIO_ConstConfigRcPtr *config)
OCIO_ConstConfigRcPtr * configCreateFromFile(const char *filename)
const char * configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index)
void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)
OCIO_ConstCPUProcessorRcPtr * processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor)
OCIO_ConstProcessorRcPtr * configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName)
int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display)
OCIO_ConstLookRcPtr * configGetLook(OCIO_ConstConfigRcPtr *config, const char *name)
int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config)
const char * configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index)
virtual OCIO_ConstProcessorRcPtr * configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config, const char *srcName, const char *dstName)=0
virtual OCIO_ConstColorSpaceRcPtr * configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name)=0
virtual const char * colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config, OCIO_ConstColorSpaceRcPtr *cs, bool &is_scene_linear, bool &is_srgb)=0
virtual const char * colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual const char * colorSpaceGetAlias(OCIO_ConstColorSpaceRcPtr *cs, const int index)=0
virtual int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display)=0
virtual void configRelease(OCIO_ConstConfigRcPtr *config)=0
virtual OCIO_ConstCPUProcessorRcPtr * processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *p)=0
virtual ~IOCIOImpl()
Definition: ocio_impl.h:11
virtual bool supportGPUShader()
Definition: ocio_impl.h:103
virtual const char * configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display)=0
virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual OCIO_ConstProcessorRcPtr * createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, const char *view, const char *display, const char *look, const float scale, const float exponent, const bool inverse)=0
virtual void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)=0
virtual void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)=0
virtual int configGetNumDisplays(OCIO_ConstConfigRcPtr *config)=0
virtual const char * configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index)=0
virtual const char * configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config, const char *display, const char *view)=0
virtual OCIO_ConstConfigRcPtr * configCreateFromFile(const char *filename)=0
virtual int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config)=0
virtual int getVersionHex(void)=0
virtual int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config)=0
virtual void setCurrentConfig(const OCIO_ConstConfigRcPtr *config)=0
virtual const char * lookGetProcessSpace(OCIO_ConstLookRcPtr *look)=0
virtual bool gpuDisplayShaderBind(OCIO_ConstConfigRcPtr *, const char *, const char *, const char *, const char *, OCIO_CurveMappingSettings *, const float, const float, const float, const bool, const bool)
Definition: ocio_impl.h:107
virtual void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)=0
virtual const char * configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config)=0
virtual void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb)=0
virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p)=0
virtual OCIO_PackedImageDesc * createOCIO_PackedImageDesc(float *data, long width, long height, long numChannels, long chanStrideBytes, long xStrideBytes, long yStrideBytes)=0
virtual void gpuCacheFree(void)
Definition: ocio_impl.h:124
virtual void lookRelease(OCIO_ConstLookRcPtr *look)=0
virtual int colorSpaceGetNumAliases(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual const char * configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index)=0
virtual OCIO_ConstConfigRcPtr * getCurrentConfig(void)=0
virtual int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual OCIO_ConstConfigRcPtr * configCreateFromEnv(void)=0
virtual const char * getVersionString(void)=0
virtual int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name)=0
virtual void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)=0
virtual void processorRelease(OCIO_ConstProcessorRcPtr *processor)=0
virtual const char * configGetDisplay(OCIO_ConstConfigRcPtr *config, int index)=0
virtual void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor)=0
virtual void gpuDisplayShaderUnbind(void)
Definition: ocio_impl.h:121
virtual const char * colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs)=0
virtual OCIO_ConstLookRcPtr * configGetLook(OCIO_ConstConfigRcPtr *config, const char *name)=0
virtual void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel)=0
virtual const char * configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index)=0
virtual void configGetXYZtoSceneLinear(OCIO_ConstConfigRcPtr *config, float xyz_to_scene_linear[3][3])=0
ccl_global KernelShaderEvalInput * input
static const pxr::TfToken rgb("rgb", pxr::TfToken::Immortal)