Blender  V2.93
ocio_impl.h
Go to the documentation of this file.
1 /*
2  * This program is free software; you can redistribute it and/or
3  * modify it under the terms of the GNU General Public License
4  * as published by the Free Software Foundation; either version 2
5  * of the License, or (at your option) any later version.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * along with this program; if not, write to the Free Software Foundation,
14  * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
15  *
16  * The Original Code is Copyright (C) 2012 Blender Foundation.
17  * All rights reserved.
18  */
19 
20 #ifndef __OCIO_IMPL_H__
21 #define __OCIO_IMPL_H__
22 
23 #include "ocio_capi.h"
24 
25 class IOCIOImpl {
26  public:
27  virtual ~IOCIOImpl()
28  {
29  }
30 
31  virtual OCIO_ConstConfigRcPtr *getCurrentConfig(void) = 0;
32  virtual void setCurrentConfig(const OCIO_ConstConfigRcPtr *config) = 0;
33 
34  virtual OCIO_ConstConfigRcPtr *configCreateFromEnv(void) = 0;
35  virtual OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename) = 0;
36 
37  virtual void configRelease(OCIO_ConstConfigRcPtr *config) = 0;
38 
39  virtual int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config) = 0;
40  virtual const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
41  virtual OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config,
42  const char *name) = 0;
43  virtual int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
44 
45  virtual int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs) = 0;
46  virtual int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs) = 0;
47  virtual void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
48  OCIO_ConstColorSpaceRcPtr *cs,
49  bool &is_scene_linear,
50  bool &is_srgb) = 0;
51 
52  virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs) = 0;
53 
54  virtual const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config) = 0;
55  virtual int configGetNumDisplays(OCIO_ConstConfigRcPtr *config) = 0;
56  virtual const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index) = 0;
57  virtual const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
58  virtual int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display) = 0;
59  virtual const char *configGetView(OCIO_ConstConfigRcPtr *config,
60  const char *display,
61  int index) = 0;
62  virtual const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
63  const char *display,
64  const char *view) = 0;
65 
66  virtual void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb) = 0;
67  virtual void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]) = 0;
68 
69  virtual int configGetNumLooks(OCIO_ConstConfigRcPtr *config) = 0;
70  virtual const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index) = 0;
71  virtual OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name) = 0;
72 
73  virtual const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look) = 0;
74  virtual void lookRelease(OCIO_ConstLookRcPtr *look) = 0;
75 
76  virtual OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
77  const char *srcName,
78  const char *dstName) = 0;
79  virtual void processorRelease(OCIO_ConstProcessorRcPtr *processor) = 0;
80 
81  virtual OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *p) = 0;
82  virtual void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
83  OCIO_PackedImageDesc *img) = 0;
84  virtual void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
85  OCIO_PackedImageDesc *img) = 0;
86  virtual void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel) = 0;
87  virtual void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel) = 0;
88  virtual void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
89  float *pixel) = 0;
90  virtual void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor) = 0;
91 
92  virtual const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs) = 0;
93  virtual const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs) = 0;
94  virtual const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs) = 0;
95 
96  virtual OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
97  const char *input,
98  const char *view,
99  const char *display,
100  const char *look,
101  const float scale,
102  const float exponent) = 0;
103 
104  virtual OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
105  long width,
106  long height,
107  long numChannels,
108  long chanStrideBytes,
109  long xStrideBytes,
110  long yStrideBytes) = 0;
111 
112  virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p) = 0;
113 
114  /* Optional GPU support. */
115  virtual bool supportGPUShader()
116  {
117  return false;
118  }
119  virtual bool gpuDisplayShaderBind(OCIO_ConstConfigRcPtr * /*config*/,
120  const char * /*input*/,
121  const char * /*view*/,
122  const char * /*display*/,
123  const char * /*look*/,
124  OCIO_CurveMappingSettings * /*curve_mapping_settings*/,
125  const float /*scale*/,
126  const float /*exponent*/,
127  const float /*dither*/,
128  const bool /*use_predivide*/,
129  const bool /*use_overlay*/)
130  {
131  return false;
132  }
133  virtual void gpuDisplayShaderUnbind(void)
134  {
135  }
136  virtual void gpuCacheFree(void)
137  {
138  }
139 
140  virtual const char *getVersionString(void) = 0;
141  virtual int getVersionHex(void) = 0;
142 };
143 
144 class FallbackImpl : public IOCIOImpl {
145  public:
147  {
148  }
149 
150  OCIO_ConstConfigRcPtr *getCurrentConfig(void);
151  void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
152 
153  OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
154  OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
155 
156  void configRelease(OCIO_ConstConfigRcPtr *config);
157 
158  int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
159  const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
160  OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
161  int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
162 
163  int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
164  int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
165  void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
166  OCIO_ConstColorSpaceRcPtr *cs,
167  bool &is_scene_linear,
168  bool &is_srgb);
169 
170  void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
171 
172  const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
173  int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
174  const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
175  const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
176  int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
177  const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
178  const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
179  const char *display,
180  const char *view);
181 
182  void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
183  void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
184 
185  int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
186  const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
187  OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
188 
189  const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
190  void lookRelease(OCIO_ConstLookRcPtr *look);
191 
192  OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
193  const char *srcName,
194  const char *dstName);
195  void processorRelease(OCIO_ConstProcessorRcPtr *processor);
196 
197  OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor);
198  void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img);
199  void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
200  OCIO_PackedImageDesc *img);
201  void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
202  void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
203  void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
204  void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor);
205 
206  const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
207  const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
208  const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
209 
210  OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
211  const char *input,
212  const char *view,
213  const char *display,
214  const char *look,
215  const float scale,
216  const float exponent);
217 
218  OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
219  long width,
220  long height,
221  long numChannels,
222  long chanStrideBytes,
223  long xStrideBytes,
224  long yStrideBytes);
225 
226  void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
227 
228  const char *getVersionString(void);
229  int getVersionHex(void);
230 };
231 
232 #ifdef WITH_OCIO
233 class OCIOImpl : public IOCIOImpl {
234  public:
235  OCIOImpl(){};
236 
237  OCIO_ConstConfigRcPtr *getCurrentConfig(void);
238  void setCurrentConfig(const OCIO_ConstConfigRcPtr *config);
239 
240  OCIO_ConstConfigRcPtr *configCreateFromEnv(void);
241  OCIO_ConstConfigRcPtr *configCreateFromFile(const char *filename);
242 
243  void configRelease(OCIO_ConstConfigRcPtr *config);
244 
245  int configGetNumColorSpaces(OCIO_ConstConfigRcPtr *config);
246  const char *configGetColorSpaceNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
247  OCIO_ConstColorSpaceRcPtr *configGetColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
248  int configGetIndexForColorSpace(OCIO_ConstConfigRcPtr *config, const char *name);
249 
250  int colorSpaceIsInvertible(OCIO_ConstColorSpaceRcPtr *cs);
251  int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs);
252  void colorSpaceIsBuiltin(OCIO_ConstConfigRcPtr *config,
253  OCIO_ConstColorSpaceRcPtr *cs,
254  bool &is_scene_linear,
255  bool &is_srgb);
256 
257  void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs);
258 
259  const char *configGetDefaultDisplay(OCIO_ConstConfigRcPtr *config);
260  int configGetNumDisplays(OCIO_ConstConfigRcPtr *config);
261  const char *configGetDisplay(OCIO_ConstConfigRcPtr *config, int index);
262  const char *configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display);
263  int configGetNumViews(OCIO_ConstConfigRcPtr *config, const char *display);
264  const char *configGetView(OCIO_ConstConfigRcPtr *config, const char *display, int index);
265  const char *configGetDisplayColorSpaceName(OCIO_ConstConfigRcPtr *config,
266  const char *display,
267  const char *view);
268 
269  void configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb);
270  void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3]);
271 
272  int configGetNumLooks(OCIO_ConstConfigRcPtr *config);
273  const char *configGetLookNameByIndex(OCIO_ConstConfigRcPtr *config, int index);
274  OCIO_ConstLookRcPtr *configGetLook(OCIO_ConstConfigRcPtr *config, const char *name);
275 
276  const char *lookGetProcessSpace(OCIO_ConstLookRcPtr *look);
277  void lookRelease(OCIO_ConstLookRcPtr *look);
278 
279  OCIO_ConstProcessorRcPtr *configGetProcessorWithNames(OCIO_ConstConfigRcPtr *config,
280  const char *srcName,
281  const char *dstName);
282  void processorRelease(OCIO_ConstProcessorRcPtr *processor);
283 
284  OCIO_ConstCPUProcessorRcPtr *processorGetCPUProcessor(OCIO_ConstProcessorRcPtr *processor);
285  void cpuProcessorApply(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img);
286  void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor,
287  OCIO_PackedImageDesc *img);
288  void cpuProcessorApplyRGB(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
289  void cpuProcessorApplyRGBA(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
290  void cpuProcessorApplyRGBA_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, float *pixel);
291  void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor);
292 
293  const char *colorSpaceGetName(OCIO_ConstColorSpaceRcPtr *cs);
294  const char *colorSpaceGetDescription(OCIO_ConstColorSpaceRcPtr *cs);
295  const char *colorSpaceGetFamily(OCIO_ConstColorSpaceRcPtr *cs);
296 
297  OCIO_ConstProcessorRcPtr *createDisplayProcessor(OCIO_ConstConfigRcPtr *config,
298  const char *input,
299  const char *view,
300  const char *display,
301  const char *look,
302  const float scale,
303  const float exponent);
304 
305  OCIO_PackedImageDesc *createOCIO_PackedImageDesc(float *data,
306  long width,
307  long height,
308  long numChannels,
309  long chanStrideBytes,
310  long xStrideBytes,
311  long yStrideBytes);
312 
313  void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p);
314 
315  bool supportGPUShader();
316  bool gpuDisplayShaderBind(OCIO_ConstConfigRcPtr *config,
317  const char *input,
318  const char *view,
319  const char *display,
320  const char *look,
321  OCIO_CurveMappingSettings *curve_mapping_settings,
322  const float scale,
323  const float exponent,
324  const float dither,
325  const bool use_predivide,
326  const bool use_overlay);
327  void gpuDisplayShaderUnbind(void);
328  void gpuCacheFree(void);
329 
330  const char *getVersionString(void);
331  int getVersionHex(void);
332 };
333 #endif
334 
335 #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 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
_GL_VOID GLfloat value _GL_VOID_RET _GL_VOID const GLuint GLboolean *residences _GL_BOOL_RET _GL_VOID GLsizei height
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 configGetDefaultLumaCoefs(OCIO_ConstConfigRcPtr *config, float *rgb)
int colorSpaceIsData(OCIO_ConstColorSpaceRcPtr *cs)
const char * getVersionString(void)
OCIO_ConstProcessorRcPtr * createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, const char *view, const char *display, const char *look, const float scale, const float exponent)
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)
void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3])
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)
void cpuProcessorApply_predivide(OCIO_ConstCPUProcessorRcPtr *cpu_processor, OCIO_PackedImageDesc *img)
void cpuProcessorRelease(OCIO_ConstCPUProcessorRcPtr *cpu_processor)
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 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:27
virtual bool supportGPUShader()
Definition: ocio_impl.h:115
virtual const char * configGetDefaultView(OCIO_ConstConfigRcPtr *config, const char *display)=0
virtual void colorSpaceRelease(OCIO_ConstColorSpaceRcPtr *cs)=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:119
virtual void configGetXYZtoRGB(OCIO_ConstConfigRcPtr *config, float xyz_to_rgb[3][3])=0
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_ConstProcessorRcPtr * createDisplayProcessor(OCIO_ConstConfigRcPtr *config, const char *input, const char *view, const char *display, const char *look, const float scale, const float exponent)=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:136
virtual void lookRelease(OCIO_ConstLookRcPtr *look)=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:133
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
CCL_NAMESPACE_BEGIN ccl_device float3 xyz_to_rgb(KernelGlobals *kg, float3 xyz)
Definition: kernel_color.h:24