diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:18:55 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2020-02-11 17:19:04 +0300 |
commit | 804e90b42d728ecb1073af8d0bae15a91b13a469 (patch) | |
tree | 309de25d99c92286b10c9d27e547fd43a69299c1 /intern/opencolorio/ocio_impl.h | |
parent | 58cdab8b9759dd59b55895f2f76b9624addbb324 (diff) |
DRW: Color Management improvement
Reviewed By: brecht sergey jbakker
Differential Revision: http://developer.blender.org/D6729
Diffstat (limited to 'intern/opencolorio/ocio_impl.h')
-rw-r--r-- | intern/opencolorio/ocio_impl.h | 46 |
1 files changed, 40 insertions, 6 deletions
diff --git a/intern/opencolorio/ocio_impl.h b/intern/opencolorio/ocio_impl.h index 082aa4a091e..3ffc0a4a475 100644 --- a/intern/opencolorio/ocio_impl.h +++ b/intern/opencolorio/ocio_impl.h @@ -117,6 +117,16 @@ class IOCIOImpl { virtual void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p) = 0; + virtual OCIO_GroupTransformRcPtr *createGroupTransform(void) = 0; + virtual void groupTransformSetDirection(OCIO_GroupTransformRcPtr *gt, const bool forward) = 0; + virtual void groupTransformPushBack(OCIO_GroupTransformRcPtr *gt, + OCIO_ConstTransformRcPtr *transform) = 0; + virtual void groupTransformRelease(OCIO_GroupTransformRcPtr *gt) = 0; + + virtual OCIO_ColorSpaceTransformRcPtr *createColorSpaceTransform(void) = 0; + virtual void colorSpaceTransformSetSrc(OCIO_ColorSpaceTransformRcPtr *ct, const char *name) = 0; + virtual void colorSpaceTransformRelease(OCIO_ColorSpaceTransformRcPtr *ct) = 0; + virtual OCIO_ExponentTransformRcPtr *createExponentTransform(void) = 0; virtual void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent) = 0; @@ -132,10 +142,12 @@ class IOCIOImpl { virtual bool supportGLSLDraw(void) = 0; virtual bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, - OCIO_ConstProcessorRcPtr *processor, + OCIO_ConstProcessorRcPtr *ocio_processor_scene_to_ui, + OCIO_ConstProcessorRcPtr *ocio_processor_ui_to_display, OCIO_CurveMappingSettings *curve_mapping_settings, float dither, - bool predivide) = 0; + bool predivide, + bool overlay) = 0; virtual void finishGLSLDraw(struct OCIO_GLSLDrawState *state) = 0; virtual void freeGLState(struct OCIO_GLSLDrawState *state_r) = 0; @@ -229,6 +241,15 @@ class FallbackImpl : public IOCIOImpl { void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p); + OCIO_GroupTransformRcPtr *createGroupTransform(void); + void groupTransformSetDirection(OCIO_GroupTransformRcPtr *gt, const bool forward); + void groupTransformPushBack(OCIO_GroupTransformRcPtr *gt, OCIO_ConstTransformRcPtr *transform); + void groupTransformRelease(OCIO_GroupTransformRcPtr *gt); + + OCIO_ColorSpaceTransformRcPtr *createColorSpaceTransform(void); + void colorSpaceTransformSetSrc(OCIO_ColorSpaceTransformRcPtr *ct, const char *name); + void colorSpaceTransformRelease(OCIO_ColorSpaceTransformRcPtr *ct); + OCIO_ExponentTransformRcPtr *createExponentTransform(void); void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent); void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et); @@ -243,10 +264,12 @@ class FallbackImpl : public IOCIOImpl { bool supportGLSLDraw(void); bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, - OCIO_ConstProcessorRcPtr *processor, + OCIO_ConstProcessorRcPtr *ocio_processor_scene_to_ui, + OCIO_ConstProcessorRcPtr *ocio_processor_ui_to_display, OCIO_CurveMappingSettings *curve_mapping_settings, float dither, - bool predivide); + bool predivide, + bool overlay); void finishGLSLDraw(struct OCIO_GLSLDrawState *state); void freeGLState(struct OCIO_GLSLDrawState *state_r); @@ -339,6 +362,15 @@ class OCIOImpl : public IOCIOImpl { void OCIO_PackedImageDescRelease(OCIO_PackedImageDesc *p); + OCIO_GroupTransformRcPtr *createGroupTransform(void); + void groupTransformSetDirection(OCIO_GroupTransformRcPtr *gt, const bool forward); + void groupTransformPushBack(OCIO_GroupTransformRcPtr *gt, OCIO_ConstTransformRcPtr *transform); + void groupTransformRelease(OCIO_GroupTransformRcPtr *gt); + + OCIO_ColorSpaceTransformRcPtr *createColorSpaceTransform(void); + void colorSpaceTransformSetSrc(OCIO_ColorSpaceTransformRcPtr *ct, const char *name); + void colorSpaceTransformRelease(OCIO_ColorSpaceTransformRcPtr *ct); + OCIO_ExponentTransformRcPtr *createExponentTransform(void); void exponentTransformSetValue(OCIO_ExponentTransformRcPtr *et, const float *exponent); void exponentTransformRelease(OCIO_ExponentTransformRcPtr *et); @@ -353,10 +385,12 @@ class OCIOImpl : public IOCIOImpl { bool supportGLSLDraw(void); bool setupGLSLDraw(struct OCIO_GLSLDrawState **state_r, - OCIO_ConstProcessorRcPtr *processor, + OCIO_ConstProcessorRcPtr *ocio_processor_scene_to_ui, + OCIO_ConstProcessorRcPtr *ocio_processor_ui_to_display, OCIO_CurveMappingSettings *curve_mapping_settings, float dither, - bool predivide); + bool predivide, + bool overlay); void finishGLSLDraw(struct OCIO_GLSLDrawState *state); void freeGLState(struct OCIO_GLSLDrawState *state_r); |