5 #ifndef INCLUDED_OCIO_OPENCOLORTYPES_H
6 #define INCLUDED_OCIO_OPENCOLORTYPES_H
10 #ifndef OCIO_NAMESPACE
11 #error This header cannot be used directly. Use <OpenColorIO/OpenColorIO.h> instead.
277 template <
class T,
class U>
280 return OCIO_DYNAMIC_POINTER_CAST<T,U>(
ptr);
OCIO_SHARED_PTR< const ExponentWithLinearTransform > ConstExponentWithLinearTransformRcPtr
OCIO_SHARED_PTR< const LegacyViewingPipeline > ConstLegacyViewingPipelineRcPtr
OCIOEXPORT const char * OCIO_ACTIVE_VIEWS_ENVVAR
Algorithm used in ACES Output Transforms through v0.7.
ASC CDL specification v1.2.
OCIO_SHARED_PTR< DisplayViewTransform > DisplayViewTransformRcPtr
EnvironmentMode
Controls which environment variables are loaded into a Context object.
OCIOEXPORT const char * ROLE_SCENE_LINEAR
"scene_linear"
RGB to HSY (Hue, Saturation, Luminance) for linear spaces.
OCIO_SHARED_PTR< const GpuShaderCreator > ConstGpuShaderCreatorRcPtr
OCIO_SHARED_PTR< const ViewTransform > ConstViewTransformRcPtr
OCIOEXPORT const char * ROLE_COLOR_TIMING
"color_timing"
Linearly extrapolate the curve for negative values.
OCIOEXPORT const char * OCIO_VIEW_USE_DISPLAY_NAME
OCIO_SHARED_PTR< const LogAffineTransform > ConstLogAffineTransformRcPtr
OCIOEXPORT const char * InterpolationToString(Interpolation interp)
Image gamma value (double floating point value)
OCIOEXPORT EnvironmentMode EnvironmentModeFromString(const char *s)
Default RGB to Hue, Saturation, Luma conversion.
This class holds the GPU-related information needed to build a shader program from a specific process...
cubic interpolation (not supported)
OCIO_SHARED_PTR< LookTransform > LookTransformRcPtr
OpenGL Shading Language for Vulkan.
OCIOEXPORT const char * RangeStyleToString(RangeStyle style)
OCIO_SHARED_PTR< ViewingRules > ViewingRulesRcPtr
HueCurveType
Types for GradingHueCurve.
OCIOEXPORT const char * ROLE_INTERCHANGE_DISPLAY
Replace identity gamma ops.
OCIO_SHARED_PTR< GpuShaderCreator > GpuShaderCreatorRcPtr
Classic RGB to HSV function.
OCIOEXPORT const char * ROLE_MATTE_PAINT
std::array< float, 3 > Float3
Image contrast value (double floating point value)
RangeStyle
A RangeTransform may be set to clamp the values, or not.
OCIO_SHARED_PTR< const ConfigMergingParameters > ConstConfigMergingParametersRcPtr
ACES 2.0 Gamut compression – EXPERIMENTAL.
OCIOEXPORT const char * GradingStyleToString(GradingStyle style)
ChannelOrdering
Used by PackedImageDesc to indicate the channel ordering of the image to process. ...
This is a light-weight wrapper around an image, that provides a context for pixel access...
OCIO_SHARED_PTR< const LogCameraTransform > ConstLogCameraTransformRcPtr
Algorithms for Scene Linear color spaces.
OCIO_SHARED_PTR< Processor > ProcessorRcPtr
OCIO_SHARED_PTR< const ColorSpaceMenuHelper > ConstColorSpaceMenuHelperRcPtr
OCIO_SHARED_PTR< ExponentTransform > ExponentTransformRcPtr
OCIOEXPORT const char * METADATA_DESCRIPTION
OpenGL ES Shading Language.
ACES 2.0 Display Rendering – EXPERIMENTAL.
ACES 1.3 Parametric Gamut Compression (expects ACEScg values)
OCIO_SHARED_PTR< DynamicPropertyGradingTone > DynamicPropertyGradingToneRcPtr
OCIOEXPORT Allocation AllocationFromString(const char *s)
OCIO_SHARED_PTR< ColorSpaceMenuParameters > ColorSpaceMenuParametersRcPtr
OCIO_SHARED_PTR< GradingHueCurve > GradingHueCurveRcPtr
OptimizationFlags
Provides control over how the ops in a Processor are combined in order to improve performance...
Interface used to access dynamic property double value.
OCIO_SHARED_PTR< const GpuShaderDesc > ConstGpuShaderDescRcPtr
OCIO_SHARED_PTR< AllocationTransform > AllocationTransformRcPtr
OCIO_SHARED_PTR< const Transform > ConstTransformRcPtr
OCIO_SHARED_PTR< const ExponentTransform > ConstExponentTransformRcPtr
OCIO_SHARED_PTR< GPUProcessor > GPUProcessorRcPtr
OCIO_SHARED_PTR< FileRules > FileRulesRcPtr
Replace identity ops (other than gamma).
Parametrized gamma and log segments with mirroring.
An exception class to throw for errors detected at runtime.
OCIO_SHARED_PTR< const BuiltinTransformRegistry > ConstBuiltinTransformRegistryRcPtr
OCIOEXPORT const char * OCIO_CONFIG_ARCHIVE_FILE_EXT
OCIO_SHARED_PTR< ConfigIOProxy > ConfigIOProxyRcPtr
OCIO_SHARED_PTR< const DynamicPropertyGradingPrimary > ConstDynamicPropertyGradingPrimaryRcPtr
OCIO_SHARED_PTR< Lut1DTransform > Lut1DTransformRcPtr
OCIOEXPORT const char * NegativeStyleToString(NegativeStyle style)
OCIO_SHARED_PTR< const ExposureContrastTransform > ConstExposureContrastTransformRcPtr
HSYTransformStyle
Types for GradingHueCurve.
OCIO_SHARED_PTR< LogCameraTransform > LogCameraTransformRcPtr
Positive curve is rotated 180 degrees around the origin to handle negatives.
DynamicPropertyType
Types for dynamic properties.
No RGB to HSY conversion (use an outboard conversion).
Adjust saturation as a function of saturation (a diagonal is the identity).
Interface used to access dynamic property GradingTone value.
CIE XYZ to 1976 CIELUV colour space (D65 white)
OCIO_SHARED_PTR< const Lut3DTransform > ConstLut3DTransformRcPtr
OCIO_SHARED_PTR< const CDLTransform > ConstCDLTransformRcPtr
ACES 2.0 Tonescale and chroma compression – EXPERIMENTAL.
OCIO_SHARED_PTR< const DynamicPropertyGradingHueCurve > ConstDynamicPropertyGradingHueCurveRcPtr
OCIO_SHARED_PTR< const ConfigMerger > ConstConfigMergerRcPtr
OCIOEXPORT const char * METADATA_INFO
CIE XYZ to 1931 xy chromaticity coordinates.
OCIOEXPORT const char * METADATA_ID
OCIO_SHARED_PTR< FixedFunctionTransform > FixedFunctionTransformRcPtr
Horizontal (at 1) B-spline used for the lum-sat and sat-lum curves.
OCIO_SHARED_PTR< LegacyViewingPipeline > LegacyViewingPipelineRcPtr
the 'best' suitable interpolation type
OCIO_SHARED_PTR< const NamedTransform > ConstNamedTransformRcPtr
OCIOEXPORT BitDepth BitDepthFromString(const char *s)
OCIO_SHARED_PTR< const MixingColorSpaceManager > ConstMixingColorSpaceManagerRcPtr
OCIO_SHARED_PTR< DynamicPropertyGradingRGBCurve > DynamicPropertyGradingRGBCurveRcPtr
OCIO_SHARED_PTR< ExponentWithLinearTransform > ExponentWithLinearTransformRcPtr
OCIOEXPORT const char * LoggingLevelToString(LoggingLevel level)
the reference space for display color spaces
RGB to HSY (Hue, Saturation, Luma) for video spaces.
OCIOEXPORT const char * CDLStyleToString(CDLStyle style)
OCIOEXPORT const char * OCIO_BUILTIN_URI_PREFIX
GpuLanguage
Used when there is a choice of hardware shader language.
ProcessorCacheFlags
cpp:type:: Enum to control the behavior of the internal caches e.g. the processor cache in ...
OCIO_SHARED_PTR< const ColorSpaceMenuParameters > ConstColorSpaceMenuParametersRcPtr
OCIO_SHARED_PTR< const LogTransform > ConstLogTransformRcPtr
OCIO_SHARED_PTR< Look > LookRcPtr
OCIO_SHARED_PTR< const RangeTransform > ConstRangeTransformRcPtr
OCIOEXPORT bool BoolFromString(const char *s)
OCIOEXPORT const char * METADATA_INPUT_DESCRIPTOR
OCIO_SHARED_PTR< const ProcessorMetadata > ConstProcessorMetadataRcPtr
OCIO_SHARED_PTR< const GroupTransform > ConstGroupTransformRcPtr
OCIOEXPORT LoggingLevel LoggingLevelFromString(const char *s)
Replace a pair of ops where one is the inverse of the other.
OCIO_SHARED_PTR< ColorSpaceTransform > ColorSpaceTransformRcPtr
OCIO_SHARED_PTR< const FileTransform > ConstFileTransformRcPtr
OCIOEXPORT const char * AllocationToString(Allocation allocation)
OCIO_SHARED_PTR< const Context > ConstContextRcPtr
Vector of floats (size is set by uniform).
OCIO_SHARED_PTR< ProcessorMetadata > ProcessorMetadataRcPtr
OCIO_SHARED_PTR< const CPUProcessor > ConstCPUProcessorRcPtr
Interface used to access dynamic property ConstGradingRGBCurveRcPtr value.
Algorithms for Logarithmic color spaces.
OCIO_SHARED_PTR< DynamicPropertyDouble > DynamicPropertyDoubleRcPtr
OCIO_SHARED_PTR< Lut3DTransform > Lut3DTransformRcPtr
ACES 0.7 Gamut clamping algorithm – NOT IMPLEMENTED YET.
OCIOEXPORT const char * EnvironmentModeToString(EnvironmentMode mode)
OCIO_SHARED_PTR< const DynamicPropertyGradingRGBCurve > ConstDynamicPropertyGradingRGBCurveRcPtr
OCIO_SHARED_PTR< ExposureContrastTransform > ExposureContrastTransformRcPtr
OCIOEXPORT const char * OCIO_CONFIG_DEFAULT_FILE_EXT
OCIO_SHARED_PTR< const Baker > ConstBakerRcPtr
Used by GradingHueCurveTransform.
OCIOEXPORT const char * GpuLanguageToString(GpuLanguage language)
E/C to be applied to a linear space image.
OCIOEXPORT TransformDirection TransformDirectionFromString(const char *s)
Will throw if string is not recognized.
OCIO_SHARED_PTR< Baker > BakerRcPtr
OCIO_SHARED_PTR< LogTransform > LogTransformRcPtr
Image exposure value (double floating point value)
OCIO_SHARED_PTR< MixingColorSpaceManager > MixingColorSpaceManagerRcPtr
OCIOEXPORT GradingStyle GradingStyleFromString(const char *s)
A config defines all the color spaces to be available at runtime.
OCIOEXPORT const char * METADATA_NAME
OCIOEXPORT TransformDirection CombineTransformDirections(TransformDirection d1, TransformDirection d2)
Periodic, horizontal (at 0) B-spline used for the hue-fx curve.
OCIOEXPORT const char * ROLE_DATA
"data"
BSplineType
Types for GradingBSplineCurve.
Used by GradingRGBCurveTransform.
For quite lossy optimizations.
OCIOEXPORT const char * ROLE_TEXTURE_PAINT
OCIOEXPORT const char * OCIO_INACTIVE_COLORSPACES_ENVVAR
linear interpolation (trilinear for Lut3D)
Vector of int pairs (size is set by uniform).
OCIOEXPORT const char * ExposureContrastStyleToString(ExposureContrastStyle style)
std::function< void(const char *)> LoggingFunction
Define the logging function signature.
OCIOEXPORT GpuLanguage GpuLanguageFromString(const char *s)
OCIO_SHARED_PTR< CPUProcessor > CPUProcessorRcPtr
the default interpolation type
OCIO_SHARED_PTR< const LookTransform > ConstLookTransformRcPtr
OCIO_SHARED_PTR< const ColorSpaceTransform > ConstColorSpaceTransformRcPtr
OCIO_SHARED_PTR< GradingPrimaryTransform > GradingPrimaryTransformRcPtr
Here for historical reason but that's not supported.
RGB to HSY (Hue, Saturation, Luma) for log spaces.
OCIO_SHARED_PTR< GradingBSplineCurve > GradingBSplineCurveRcPtr
OCIO_SHARED_PTR< const Processor > ConstProcessorRcPtr
OCIOEXPORT const char * ROLE_INTERCHANGE_SCENE
Adjust saturation as a function of luma (a value of 1.0 is the identity).
OCIO_SHARED_PTR< DynamicPropertyGradingHueCurve > DynamicPropertyGradingHueCurveRcPtr
OCIO_SHARED_PTR< const ColorSpaceSet > ConstColorSpaceSetRcPtr
OCIO_SHARED_PTR< const FileRules > ConstFileRulesRcPtr
OCIO_SHARED_PTR< const ImageDesc > ConstImageDescRcPtr
OCIOEXPORT const char * OCIO_CONFIG_ENVVAR
The envvar 'OCIO' provides a path to the config file used by Config::CreateFromEnv.
Map input hue to output hue (where a diagonal line is the identity).
OCIOEXPORT const char * OCIO_DISABLE_ALL_CACHES
rst::
OCIO_SHARED_PTR< GradingRGBCurve > GradingRGBCurveRcPtr
Used by GradingPrimaryTransform.
OCIO_SHARED_PTR< MatrixTransform > MatrixTransformRcPtr
Monotonic and periodic B-spline used for the hue-hue curve.
UniformDataType
Types for uniform data.
OCIOEXPORT const char * FixedFunctionStyleToString(FixedFunctionStyle style)
OCIO_SHARED_PTR< Transform > TransformRcPtr
Weighted Yellow Power Norm – NOT IMPLEMENTED YET.
Adjust saturation as a function of hue (a value of 1.0 is the identity).
GradingStyle
Styles for grading transforms.
OCIO_SHARED_PTR< const DisplayViewTransform > ConstDisplayViewTransformRcPtr
OCIOEXPORT NegativeStyle NegativeStyleFromString(const char *style)
std::function< std::string(const std::string &)> ComputeHashFunction
Define Compute Hash function signature.
Adjust luma as a function of hue (a value of 1.0 is the identity).
OCIO_SHARED_PTR< const Lut1DTransform > ConstLut1DTransformRcPtr
OCIOEXPORT const char * OCIO_OPTIMIZATION_FLAGS_ENVVAR
OCIO_SHARED_PTR< const SystemMonitors > ConstSystemMonitorsRcPtr
OCIOEXPORT const char * OCIO_CONFIG_DEFAULT_NAME
OCIO_SHARED_PTR< ColorSpaceSet > ColorSpaceSetRcPtr
OCIO_SHARED_PTR< SystemMonitors > SystemMonitorsRcPtr
Monotonic quadratic B-spline for the sat-sat and lum-lum curves.
OCIO_SHARED_PTR< ColorSpaceMenuHelper > ColorSpaceMenuHelperRcPtr
OCIO_SHARED_PTR< const Config > ConstConfigRcPtr
Compose a pair of ops into a single op.
OCIO_SHARED_PTR< const ConfigIOProxy > ConstConfigIOProxyRcPtr
OCIO_SHARED_PTR< RangeTransform > RangeTransformRcPtr
OCIO_SHARED_PTR< GradingToneTransform > GradingToneTransformRcPtr
OCIO_SHARED_PTR< NamedTransform > NamedTransformRcPtr
Load all env. vars (note: may reduce performance)
OCIO_SHARED_PTR< const MatrixTransform > ConstMatrixTransformRcPtr
OCIOEXPORT FixedFunctionStyle FixedFunctionStyleFromString(const char *style)
OCIO_SHARED_PTR< const Look > ConstLookRcPtr
OCIO_SHARED_PTR< const BuiltinTransform > ConstBuiltinTransformRcPtr
the main scene reference space
E/C to be applied to a video space image.
OCIO_SHARED_PTR< DynamicPropertyGradingPrimary > DynamicPropertyGradingPrimaryRcPtr
Used by GradingToneTransform.
OCIO_SHARED_PTR< const GradingRGBCurveTransform > ConstGradingRGBCurveTransformRcPtr
OCIO_SHARED_PTR< const AllocationTransform > ConstAllocationTransformRcPtr
SMPTE ST-2084 OETF, scaled with 100 nits at 1.0 (neg vals mirrored)
DirectX High Level Shading Language.
OCIOEXPORT const char * OCIO_ACTIVE_DISPLAYS_ENVVAR
Interface used to access dynamic property GradingPrimary value.
OCIOEXPORT const char * BoolToString(bool val)
OCIO_SHARED_PTR< Config > ConfigRcPtr
OCIOEXPORT const char * OCIO_DISABLE_CACHE_FALLBACK
rst::
Map input hue to delta output hue (a value of 0.0 is the identity).
OCIO_SHARED_PTR< const FixedFunctionTransform > ConstFixedFunctionTransformRcPtr
E/C to be applied to a log space image.
Rec.2100 surround correction (takes one double for the gamma param)
OCIO_SHARED_PTR< BuiltinTransform > BuiltinTransformRcPtr
OCIO_SHARED_PTR< Context > ContextRcPtr
OCIO_SHARED_PTR< FileTransform > FileTransformRcPtr
OCIO_SHARED_PTR< BuiltinTransformRegistry > BuiltinTransformRegistryRcPtr
OCIO_SHARED_PTR< const GradingPrimaryTransform > ConstGradingPrimaryTransformRcPtr
OCIOEXPORT Interpolation InterpolationFromString(const char *s)
Periodic, horizontal (at 1) B-spline for hue-sat and hue-lum curves.
OCIO_SHARED_PTR< const GradingHueCurve > ConstGradingHueCurveRcPtr
OCIO_SHARED_PTR< ImageDesc > ImageDescRcPtr
OCIOEXPORT RangeStyle RangeStyleFromString(const char *style)
OCIO_SHARED_PTR< const DynamicProperty > ConstDynamicPropertyRcPtr
OCIOEXPORT const char * ROLE_REFERENCE
"reference"
Apply all possible optimizations.
Lut1DHueAdjust
Used by :cpp:classLut1DTransform to control optional hue restoration algorithm.
OCIOEXPORT ExposureContrastStyle ExposureContrastStyleFromString(const char *style)
OCIOEXPORT const char * OCIO_USER_CATEGORIES_ENVVAR
Adjust luma as a function of luma, maintaining hue & sat (diagonal is identity).
OCIO_SHARED_PTR< const GradingBSplineCurve > ConstGradingBSplineCurveRcPtr
OCIOEXPORT CDLStyle CDLStyleFromString(const char *style)
OCIO_SHARED_PTR< LogAffineTransform > LogAffineTransformRcPtr
OCIOEXPORT const char * ROLE_COLOR_PICKING
"color_picking"
OCIOEXPORT int BitDepthToInt(BitDepth bitDepth)
OCIO_SHARED_PTR< ConfigMerger > ConfigMergerRcPtr
OCIO_SHARED_PTR< GpuShaderDesc > GpuShaderDescRcPtr
FixedFunctionStyle
Enumeration of the :cpp:class:FixedFunctionTransform transform algorithms.
OCIO_SHARED_PTR< GroupTransform > GroupTransformRcPtr
OCIOEXPORT const char * METADATA_OUTPUT_DESCRIPTOR
ACES 2.0 RGB to JMh – EXPERIMENTAL.
ACES 0.2 Gamut clamping algorithm – NOT IMPLEMENTED YET.
OCIO_SHARED_PTR< const GradingHueCurveTransform > ConstGradingHueCurveTransformRcPtr
OCIOEXPORT const char * ROLE_RENDERING
OCIO_SHARED_PTR< const DynamicPropertyGradingTone > ConstDynamicPropertyGradingToneRcPtr
OCIOEXPORT const char * TransformDirectionToString(TransformDirection dir)
OCIOEXPORT TransformDirection GetInverseTransformDirection(TransformDirection dir)
Only load vars in the config's environment section.
Adjust luma as a function of saturation (a value of 1.0 is the identity).
OCIO_SHARED_PTR< CDLTransform > CDLTransformRcPtr
Glow function (ACES 0.3/0.7)
OCIO_SHARED_PTR< const GradingToneTransform > ConstGradingToneTransformRcPtr
OCIOEXPORT bool BitDepthIsFloat(BitDepth bitDepth)
OCIO_SHARED_PTR< const ViewingRules > ConstViewingRulesRcPtr
OCIO_SHARED_PTR< GradingRGBCurveTransform > GradingRGBCurveTransformRcPtr
A BSpline curve defined with GradingControlPoint.
OCIO_SHARED_PTR< ColorSpace > ColorSpaceRcPtr
OCIOEXPORT const char * ROLE_COMPOSITING_LOG
"compositing_log"
OCIOEXPORT const char * ROLE_DEFAULT
"default"
OCIO_SHARED_PTR< const GradingRGBCurve > ConstGradingRGBCurveRcPtr
Two parameterized LogAffineTransforms with a middle linear segment.
Red modifier (ACES 0.3/0.7)
OpenGL ES Shading Language.
OCIO_SHARED_PTR< GradingHueCurveTransform > GradingHueCurveTransformRcPtr
Interface used to access dynamic property ConstGradingHueCurveRcPtr value.
OCIO_SHARED_PTR< ConfigMergingParameters > ConfigMergingParametersRcPtr
OCIO_SHARED_PTR< const DynamicPropertyDouble > ConstDynamicPropertyDoubleRcPtr
tetrahedral interpolation (Lut3D only)
OCIO_SHARED_PTR< const ColorSpace > ConstColorSpaceRcPtr
CIE XYZ to 1976 u'v' chromaticity coordinates.
Negative values are passed through unchanged.
RGBCurveType
Types for GradingRGBCurve.
Dark to dim surround correction (ACES 1.0)
OCIO_SHARED_PTR< T > DynamicPtrCast(OCIO_SHARED_PTR< U > const &ptr)
OCIO_SHARED_PTR< const GPUProcessor > ConstGPUProcessorRcPtr
OCIOEXPORT const char * BitDepthToString(BitDepth bitDepth)
OCIOEXPORT const char * OCIO_DISABLE_PROCESSOR_CACHES
rst::
Monotonic quadratic B-spline used for the RGBM curves.
The File Rules are a set of filepath to color space mappings that are evaluated from first to last...
OCIO_SHARED_PTR< ViewTransform > ViewTransformRcPtr
Algorithms for Video color spaces.
ExposureContrastStyle
Enumeration of the :cpp:class:ExposureContrastTransform transform algorithms.
OCIO_SHARED_PTR< DynamicProperty > DynamicPropertyRcPtr