This class describes a post-processing step whereby one or more tone curves (aka calibration curves) are applied to the current rendered result. More...
#include <renderspec.h>
Public Member Functions | |
virtual ePostProcessType | getType () const |
Get the type of post processing this spec represents. | |
![]() | |
virtual void | addRef () const =0 |
Increases the reference count of the actual object pointed to. This would take place during an assignment or copying. | |
virtual bool | decRef () const =0 |
Decreases the reference count of the actual object pointed to. When the reference count falls to Zero, it deletes the actual object pointed to. | |
virtual int32 | getRefCount () const =0 |
Retrieve the current reference count of the actual object pointed to. | |
Static Public Member Functions | |
static JAWSMAKO_API CToneCurvesPostProcessSpecPtr | create (const CEDLVector< CFloatVect > &_toneCurves) |
Create a tone-mapping post process. | |
Additional Inherited Members | |
![]() | |
enum | ePostProcessType { ePPTColorConversion , ePPTToneCurves , ePPTSpotMerge , ePPTInkLimit , ePPTCustomColor , ePPTCustomSpot , ePPTCustomSpotMerge } |
The possible types of post processing operations. More... | |
![]() | |
virtual | ~IRCObject () |
Virtual destructor. | |
This class describes a post-processing step whereby one or more tone curves (aka calibration curves) are applied to the current rendered result.
Chiefly used for calibration purposes, but can also be used to blank-out one or more channels (by using an-always-white tone curve for those channels), which can be useful for some display purposes.
|
static |
Create a tone-mapping post process.
A tone curve must be provided for every channel in progress. That is, a tone curve for every process component, and every retained spot component. An empty tone curve for a component simply does nothing for that component. Here a tone curve is represented as a vector of floating point values interpreted as a series of output values covering the input range 0 to 1, where the first value corresponds to an input value of 0, the last corresponding to an input value of 1, and the others distributed evenly over the 0 to 1 range. For example, consider a simple tone curve as follows: { 0, 0.3, 0.5, 0.9, 1.0 }. This will be interpreted as: - The output will be 0 when the rendered value is 0 - The output will be 0.3 when the rendered value is 0.25 - The output will be 0.5 when the rendered value is 0.5 - The output will be 0.9 when the rendered value is 0.75 - The output will be 1.0 when the rendered value is 1.0 - Other outputs will be linearly interpolated between these entries. For example, an input value of 0.125 will result in an output value of (0.3 - 0) / 2 = 0.15. An empty tone curve for a separation is equivalent to a linear tone curve. You may provide tone curves with up to 4096 entries. In all cases the values are specified in the natural color space. For example, for CMYK and spots, 0.0 represents no ink, and 1.0 represents 100% ink. For RGB, 0.0 indicates no light, and 1.0 indicates 100% light in that colorant.
_toneCurves | The tone curves to apply. |
|
inlinevirtual |
Get the type of post processing this spec represents.
Implements JawsMako::IPostProcessSpec.