All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
OCIO_NAMESPACE::LegacyViewingPipeline Class Referenceabstract

#include <OpenColorAppHelpers.h>

Public Member Functions

getDisplayViewTransform () const noexcept=0
virtual void setDisplayViewTransform (const ConstDisplayViewTransformRcPtr &dt) noexcept=0
virtual ConstTransformRcPtr getLinearCC () const noexcept=0
virtual void setLinearCC (const ConstTransformRcPtr &cc) noexcept=0
virtual ConstTransformRcPtr getColorTimingCC () const noexcept=0
virtual void setColorTimingCC (const ConstTransformRcPtr &cc) noexcept=0
virtual ConstTransformRcPtr getChannelView () const noexcept=0
virtual void setChannelView (const ConstTransformRcPtr &transform) noexcept=0
virtual ConstTransformRcPtr getDisplayCC () const noexcept=0
virtual void setDisplayCC (const ConstTransformRcPtr &cc) noexcept=0
virtual void setLooksOverrideEnabled (bool enable)=0
virtual bool getLooksOverrideEnabled () const =0
virtual void setLooksOverride (const char *looks)=0
virtual const char * getLooksOverride () const =0
virtual ConstProcessorRcPtr getProcessor (const ConstConfigRcPtr &config, const ConstContextRcPtr &context) const =0
virtual ConstProcessorRcPtr getProcessor (const ConstConfigRcPtr &config) const =0
 LegacyViewingPipeline (const LegacyViewingPipeline &)=delete
LegacyViewingPipelineoperator= (const LegacyViewingPipeline &)=delete
virtual ~LegacyViewingPipeline ()=default
 Do not use (needed only for pybind11). More...

Static Public Member Functions

static LegacyViewingPipelineRcPtr Create ()

Protected Member Functions

 LegacyViewingPipeline ()=default

Detailed Description

Whereas the DisplayViewTransform simply applies a specific view from an OCIO display, the LegacyViewingPipeline provides an example of a complete viewing pipeline of the sort that could be used to implement a viewport in a typical application. It therefore adds, around the DisplayViewTransform, various optional color correction steps and RGBA channel view swizzling. The direction of the DisplayViewTranform is used as the direction of the pipeline. Note: The LegacyViewingPipeline class provides the same functionality as the OCIO v1 DisplayTransform.

Legacy viewing pipeline:

  • Start in display transform input color space.
  • If linearCC is provided:
    • Go to scene_linear colorspace.
    • Apply linearCC transform.
  • If colorTimingCC is provided:
    • Go to color_timing colorspace.
    • Apply colorTimingCC transform.
  • Apply looks (from display transform or from looks override).
    • Go to first look color space.
    • Apply first look transform.
    • Iterate for all looks.
  • Apply channelView transform.
  • Apply display transform (without looks).
  • Apply displayCC. Note that looks are applied even if the display transform involves data color spaces.

Definition at line 363 of file OpenColorAppHelpers.h.

Constructor & Destructor Documentation

OCIO_NAMESPACE::LegacyViewingPipeline::LegacyViewingPipeline ( const LegacyViewingPipeline )
virtual OCIO_NAMESPACE::LegacyViewingPipeline::~LegacyViewingPipeline ( )

Do not use (needed only for pybind11).

OCIO_NAMESPACE::LegacyViewingPipeline::LegacyViewingPipeline ( )

Member Function Documentation

static LegacyViewingPipelineRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::Create ( )
virtual ConstTransformRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getChannelView ( ) const
pure virtualnoexcept
virtual ConstTransformRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getColorTimingCC ( ) const
pure virtualnoexcept
virtual ConstTransformRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getDisplayCC ( ) const
pure virtualnoexcept
virtual ConstDisplayViewTransformRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getDisplayViewTransform ( ) const
pure virtualnoexcept
virtual ConstTransformRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getLinearCC ( ) const
pure virtualnoexcept
virtual const char* OCIO_NAMESPACE::LegacyViewingPipeline::getLooksOverride ( ) const
pure virtual
virtual bool OCIO_NAMESPACE::LegacyViewingPipeline::getLooksOverrideEnabled ( ) const
pure virtual
virtual ConstProcessorRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getProcessor ( const ConstConfigRcPtr config,
const ConstContextRcPtr context 
) const
pure virtual
virtual ConstProcessorRcPtr OCIO_NAMESPACE::LegacyViewingPipeline::getProcessor ( const ConstConfigRcPtr config) const
pure virtual
LegacyViewingPipeline& OCIO_NAMESPACE::LegacyViewingPipeline::operator= ( const LegacyViewingPipeline )
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setChannelView ( const ConstTransformRcPtr transform)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setColorTimingCC ( const ConstTransformRcPtr cc)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setDisplayCC ( const ConstTransformRcPtr cc)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setDisplayViewTransform ( const ConstDisplayViewTransformRcPtr dt)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setLinearCC ( const ConstTransformRcPtr cc)
pure virtualnoexcept
virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setLooksOverride ( const char *  looks)
pure virtual

A user can optionally override the looks that are, by default, used with the expected display / view combination. A common use case for this functionality is in an image viewing app, where per-shot looks are supported. If for some reason a per-shot look is not defined for the current Context, the Config::getProcessor fcn will not succeed by default. Thus, with this mechanism the viewing app could override to looks = "", and this will allow image display to continue (though hopefully) the interface would reflect this fallback option.

Looks is a potentially comma (or colon) delimited list of lookNames, where +/- prefixes are optionally allowed to denote forward/inverse look specification (and forward is assumed in the absence of either).

virtual void OCIO_NAMESPACE::LegacyViewingPipeline::setLooksOverrideEnabled ( bool  enable)
pure virtual

Specify whether the lookOverride should be used, or not. This is a separate flag, as it's often useful to override "looks" to an empty string.

The documentation for this class was generated from the following file: