Katana Plug-in APIs 0.1
Classes | Public Types | Public Member Functions

Foundry::Katana::Render::RenderSettings Class Reference

A utility class which represents a collection of render settings which originate from the renderSettings attributes and other relevant modules. This class can be extended if renderer specific processing is required. More...

#include <RenderSettings.h>

List of all members.

Classes

struct  ChannelBuffer
struct  RenderOutput

Public Types

typedef std::map< std::string,
ChannelBuffer
ChannelBuffers
typedef std::map< std::string,
CameraSettings * > 
CameraMap
typedef std::map< std::string,
RenderOutput
RenderOutputs

Public Member Functions

 RenderSettings (Foundry::Katana::FnScenegraphIterator rootIterator)
virtual int initialise ()
bool isValid () const
virtual std::string getCameraName () const
virtual CameraSettingsgetCameraSettings () const
virtual CameraMap getAdditionalCameras () const
virtual void getCropWindow (float cropWindow[4]) const
virtual void getSampleRate (float sampleRate[2]) const
virtual std::string getResolutionName () const
virtual int getResolutionX () const
virtual int getResolutionY () const
virtual void getDisplayWindow (int displayWindow[4]) const
virtual void getOverscan (int overscan[4]) const
virtual void getDataWindow (int dataWindow[4]) const
virtual void getRegionOfInterest (int regionOfInterest[4]) const
virtual void getRegionOfInterest (float regionOfInterest[4]) const
virtual std::string getRenderer () const
virtual bool applyRenderThreads (int &renderThreads) const
virtual void getInteractiveOutputs (std::vector< std::string > &outputs) const
virtual void getChannelBuffers (ChannelBuffers &channelBuffers)
virtual RenderOutputs getRenderOutputs () const
virtual std::vector< std::string > getRenderOutputNames (const bool onlyEnabledOutputs=true) const
virtual int getNumberOfRenderOutputs () const
virtual RenderOutput getRenderOutputByName (const std::string &outputName) const
virtual int getMaxTimeSamples () const
virtual float getShutterOpen () const
virtual float getShutterClose () const
virtual bool isTileRender () const
virtual void getWindowOrigin (int windowOrigin[2]) const
virtual void getDisplayWindowSize (int displayWindowSize[2]) const
virtual void getDataWindowSize (int dataWindowSize[2]) const
virtual std::string getRenderFinishedFilename () const

Detailed Description

A utility class which represents a collection of render settings which originate from the renderSettings attributes and other relevant modules. This class can be extended if renderer specific processing is required.

Note:
Where applicable, the getter functions refer to the renderSettings attribute on the scene graph root.

Member Typedef Documentation

Maps scene graph location names of cameras to the corresponding CameraSettings.

A collection of channel buffers which is populated based on the selected interactive outputs in the render settings.

Maps render output names to a RenderOutput structure which contains the output's attributes and values.


Constructor & Destructor Documentation

Foundry::Katana::Render::RenderSettings::RenderSettings ( Foundry::Katana::FnScenegraphIterator  rootIterator)
Parameters:
rootIteratorThe root scene graph iterator

Member Function Documentation

virtual bool Foundry::Katana::Render::RenderSettings::applyRenderThreads ( int &  renderThreads) const [virtual]

Applies the number of render threads if they have been defined using renderSettings.renderThreads. The reason the function returns a boolean and the value is passed as a reference is because the thread value is allowed to be a zero value which generally asks the renderer to use all available cores, and a negative value where -1 typically represents a (no. cores - 1) value.

Note:
This value is not exposed in the parameter list and has to be set using e.g. an AttributeSet node.
Parameters:
renderThreadsThe value that will acquire the number of render threads if it has been set
Returns:
true if the render thread value was set, false otherwise
virtual CameraMap Foundry::Katana::Render::RenderSettings::getAdditionalCameras ( ) const [inline, virtual]

A collection of cameras defined by the render outputs. Each render output can reference a camera scene graph location (cameraName) where the attribute values for each location are parsed by CameraSettings if the parameter is locally set, and added to a map indexed by the camera scene graph location name.

Returns:
A map of per render output camera settings indexed by the camera name. Note that the he CameraSettings objects pointed to by the result CameraMap are only valid for the lifetime of this RenderSettings object.
See also:
CameraSettings
virtual std::string Foundry::Katana::Render::RenderSettings::getCameraName ( ) const [inline, virtual]
Returns:
The camera scene graph location (renderSettings.cameraName)
virtual CameraSettings* Foundry::Katana::Render::RenderSettings::getCameraSettings ( ) const [inline, virtual]

The CameraSettings class is created by using the camera name to look up and parse the attributes for the corresponding camera scene graph location.

Returns:
The camera settings class which represents the camera scene graph location attributes. Note that the CameraSettings object pointed to by the returned CameraSettings pointer is only valid for the lifetime of this RenderSettings object.
virtual void Foundry::Katana::Render::RenderSettings::getChannelBuffers ( ChannelBuffers channelBuffers) [virtual]

Provides the channel buffers for the selected interactive outputs.

Parameters:
channelBuffersThe channel buffer map which will be populated with ChannelBuffer structures that correspond to the selected interactive outputs
See also:
getInteractiveOutputs
virtual void Foundry::Katana::Render::RenderSettings::getCropWindow ( float  cropWindow[4]) const [virtual]

The crop window corresponding to the net region of interest

See also:
getRegionOfInterest(float[4]) const.
Parameters:
cropWindowOutput parameter where the crop window bounds will be returned as {xmin, xmax, ymin, ymax}.
Note:
Y-coordinates are top-down.
virtual void Foundry::Katana::Render::RenderSettings::getDataWindow ( int  dataWindow[4]) const [virtual]

The data window takes the overscan into account where it spans the display window plus the overscan.

Returns:
The data window (display window + overscan)
virtual void Foundry::Katana::Render::RenderSettings::getDataWindowSize ( int  dataWindowSize[2]) const [virtual]
Parameters:
dataWindowSizeThe size (width and height) of the data window
virtual void Foundry::Katana::Render::RenderSettings::getDisplayWindow ( int  displayWindow[4]) const [virtual]

The display window spans the area from the origin (0, 0) to the resolution width and height (getResolutionX(), getResolutionY()).

Returns:
The display window (0, 0, xRes, yRes)
virtual void Foundry::Katana::Render::RenderSettings::getDisplayWindowSize ( int  displayWindowSize[2]) const [virtual]
Parameters:
displayWindowSizeThe size (width and height) of the display window
virtual void Foundry::Katana::Render::RenderSettings::getInteractiveOutputs ( std::vector< std::string > &  outputs) const [virtual]

Provides the list of selected interactive output channels as specified in the render settings where each interactive output corresponds to a ChannelBuffer.

Parameters:
outputsSelected interactive outputs (renderSettings.interactiveOutputs)
See also:
getChannelBuffers
virtual int Foundry::Katana::Render::RenderSettings::getMaxTimeSamples ( ) const [inline, virtual]
Returns:
The maximum number of time samples (renderSettings.maxTimeSamples)
virtual int Foundry::Katana::Render::RenderSettings::getNumberOfRenderOutputs ( ) const [inline, virtual]
Returns:
The number of render outputs used in disk/batch/debug renders
virtual void Foundry::Katana::Render::RenderSettings::getOverscan ( int  overscan[4]) const [virtual]
Returns:
The uniform overscan (renderSettings.overscan)
virtual void Foundry::Katana::Render::RenderSettings::getRegionOfInterest ( float  regionOfInterest[4]) const [virtual]

Gets the net region of interest - this being the intersection of data window (including overscan), gross region of interest, and crop window - in pixel coordinates. Non-integer values are possible due to the fractional nature of crop window."

Parameters:
regionOfInterestOutput parameter where the active region of interest will be returned.
virtual void Foundry::Katana::Render::RenderSettings::getRegionOfInterest ( int  regionOfInterest[4]) const [virtual]

Gets the net region of interest - this being the intersection of data window (including overscan), gross region of interest, and crop window - in pixel coordinates. Non-integer values (possible due to the fractional nature of crop window) are rounded toward zero."

Parameters:
regionOfInterestOutput parameter where the active region of interest will be returned.
virtual std::string Foundry::Katana::Render::RenderSettings::getRenderer ( ) const [inline, virtual]
Returns:
The active renderer at render time (renderSettings.renderer)
virtual std::string Foundry::Katana::Render::RenderSettings::getRenderFinishedFilename ( ) const [inline, virtual]
Returns:
Path to file that renderer can optionally create to signal that render completed successfully. Useful for renderers that tend to crash on exit.
virtual RenderOutput Foundry::Katana::Render::RenderSettings::getRenderOutputByName ( const std::string &  outputName) const [virtual]
Returns:
...
virtual std::vector<std::string> Foundry::Katana::Render::RenderSettings::getRenderOutputNames ( const bool  onlyEnabledOutputs = true) const [virtual]
Returns:
The render output names in the order as they appear under (renderSettings.outputs)
virtual RenderOutputs Foundry::Katana::Render::RenderSettings::getRenderOutputs ( ) const [inline, virtual]
Returns:
A map of render outputs indexed by the output name (renderSettings.outputs)
See also:
RenderOutput
virtual std::string Foundry::Katana::Render::RenderSettings::getResolutionName ( ) const [inline, virtual]
Returns:
The name of the resolution (renderSettings.resolution)
virtual int Foundry::Katana::Render::RenderSettings::getResolutionX ( ) const [inline, virtual]
Returns:
The render resolution width (X) (renderSettings.resolution.X)
virtual int Foundry::Katana::Render::RenderSettings::getResolutionY ( ) const [inline, virtual]
Returns:
The render resolution height (Y) (renderSettings.resolution.Y)
virtual void Foundry::Katana::Render::RenderSettings::getSampleRate ( float  sampleRate[2]) const [virtual]

Returns the sample rate. Typical sample rates are:

  • (1.0, 1.0) = 100%
  • (0.5, 0.5) = 50%
  • (0.25, 0.25) = 25%
  • (0.125, 0.125) = 12.5%
Returns:
The sample rate
virtual float Foundry::Katana::Render::RenderSettings::getShutterClose ( ) const [inline, virtual]
Returns:
The shutter close value (renderSettings.shutterClose)
virtual float Foundry::Katana::Render::RenderSettings::getShutterOpen ( ) const [inline, virtual]
Returns:
The shutter open value (renderSettings.shutterOpen)
virtual void Foundry::Katana::Render::RenderSettings::getWindowOrigin ( int  windowOrigin[2]) const [virtual]
Parameters:
windowOriginThe window origin with respect to the region of interest within the display window.
virtual int Foundry::Katana::Render::RenderSettings::initialise ( ) [virtual]

Handles the render settings attribute parsing

Returns:
A zero value if successful, a non-zero value otherwise
virtual bool Foundry::Katana::Render::RenderSettings::isTileRender ( ) const [inline, virtual]

Tile rendering is set by adding a renderSettings.tileRender attribute which contains 4 integer values.

Returns:
true if tileRender is set under renderSettings, false otherwise
bool Foundry::Katana::Render::RenderSettings::isValid ( ) const [inline]
Returns:
true if the render settings have been initialised using valid renderSettings attributes, false if the renderSettings attribute is not valid.

The documentation for this class was generated from the following file:
 All Classes Functions Variables Typedefs Enumerations Enumerator