TBasicPostRenderer Class Reference
[Base Classes for plugins]

Inheritance diagram for TBasicPostRenderer:
I3DExPostRenderer TBasicDataExchanger IMCUnknown TBasicUnknown IExDataExchanger TMCObject IMCUnknown IMCUnknown

List of all members.

Public Member Functions

virtual MCCOMErr MCCOMAPI QueryInterface (const MCIID &riid, void **ppvObj)
virtual uint32 MCCOMAPI AddRef ()
virtual void MCCOMAPI GetBufferNeeds (RenderFilterNeeds &needs, void *renderer)=0
virtual MCCOMErr MCCOMAPI PrepareDraw (IShRasterLayer *input, const TMCRect &bounds, IShChannel *buffers[], I3DShScene *scene, I3DShCamera *renderingCamera, const TBBox2D &uvBox, const TBBox2D &productionFrame)=0
virtual MCCOMErr MCCOMAPI DrawRect (const TMCRect &outputRect, const TChannelDataBucket *outputTile[], const TChannelDataBucket *compositedOutputTile[], const TBBox2D &uvBox)=0
virtual MCCOMErr MCCOMAPI FinishDraw ()=0
virtual MCCOMErr MCCOMAPI BeginRender (MicroTick beginTime, MicroTick endTime, uint32 framePerSeconds, int32 nbrFrames, boolean isRenderMovie)
virtual MCCOMErr MCCOMAPI EndRender ()
virtual
IShRasterLayer::ELayerMode
MCCOMAPI 
GetEffectCompositionMode ()
virtual void MCCOMAPI SetRaytracer (I3DExRaytracer *raytracer)

Detailed Description

Basic Post Renderer class. Derive from this for a default implementation of I3DExPostRenderer

See also:
I3DExPostRenderer

Member Function Documentation

virtual uint32 MCCOMAPI TBasicPostRenderer::AddRef (  )  [inline, virtual]

Increments the reference count of the object

Reimplemented from TBasicDataExchanger.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::BeginRender ( MicroTick  beginTime,
MicroTick  endTime,
uint32  framePerSeconds,
int32  nbrFrames,
boolean  isRenderMovie 
) [inline, virtual]

Called at the beginning of the rendering of an animation. This can be used if you want to create a Post Renderer that depends on previous frames.

Parameters:
beginTime The time at which the rendering starts (in MicroTick)
endTime The time at which the rendering ends (in MicroTick)
framePerSeconds The number of frame per second
nbrFrames The total number of frame that will be rendered.
isRenderMovie True if an animation is being rendered.

Implements I3DExPostRenderer.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::DrawRect ( const TMCRect outputRect,
const TChannelDataBucket outputTile[],
const TChannelDataBucket compositedOutputTile[],
const TBBox2D uvBox 
) [pure virtual]

Called for each tile of the output image. This is where the actual rendering takes place.

Parameters:
outputRect The Rectangle of the tile (in pixels)
outputTile Pointers to pixel buckets (R,G,B,A) of the output tile.
compositedOutputTile Pointers to the compisited pixel buckets (see GetEffectCompositionMode())
uvBox The screen coordinates of the tile

Implements I3DExPostRenderer.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::EndRender (  )  [inline, virtual]

Called at the end of the rendering of an animation.

Implements I3DExPostRenderer.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::FinishDraw (  )  [pure virtual]

Called for clean up at the end of the postrendering (after DrawRect()).

Implements I3DExPostRenderer.

virtual void MCCOMAPI TBasicPostRenderer::GetBufferNeeds ( RenderFilterNeeds needs,
void *  renderer 
) [pure virtual]

Identifies which GBuffers are necessary to compute this post renderer. To find the various contants used for GBuffer check at the end of I3DExPostRenderer.h

Parameters:
needs A bit field that identifies which GBuffers are necessary. The bits are set to 1 if the corresponding GBuffer should be filled.
renderer Not used

Implements I3DExPostRenderer.

virtual IShRasterLayer::ELayerMode MCCOMAPI TBasicPostRenderer::GetEffectCompositionMode (  )  [inline, virtual]

Returns the effect compositing mode for multipass rendering. If it returns IShRasterLayer::kUnknownMode, the composition will be handled by the application, otherwise the compositedOutputTile should be correctly filled when the function DrawRect is called.

Implements I3DExPostRenderer.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::PrepareDraw ( IShRasterLayer input,
const TMCRect bounds,
IShChannel buffers[],
I3DShScene scene,
I3DShCamera renderingCamera,
const TBBox2D uvBox,
const TBBox2D productionFrame 
) [pure virtual]

Called at the begginning of postrendering to initialise the postrenderer.

Parameters:
input The color buffer of the image.
bounds The image rectangle in pixels
buffers The array of pointers to the GBuffers (The pointers are null if the corresponding buffer is not allocated)
scene The scene being rendered
renderingCamera The current renderingCamera
uvBox screen Coordinates of the image to render
productionFrame Screen coordinates of the production frame

Implements I3DExPostRenderer.

virtual MCCOMErr MCCOMAPI TBasicPostRenderer::QueryInterface ( const MCIID riid,
void **  ppvObj 
) [virtual]

Check if the object supports a given interface and returns a pointer to that interface if it does. Note that QueryInterface will increment the reference count of the object by one if the interface is found.

Parameters:
riid GUID of the interface
ppvObj A pointer to the pointer being returned.

Reimplemented from TBasicDataExchanger.

virtual void MCCOMAPI TBasicPostRenderer::SetRaytracer ( I3DExRaytracer raytracer  )  [inline, virtual]

Sets the raytracer

Parameters:
raytracer A pointer to a raytracer

Implements I3DExPostRenderer.


The documentation for this class was generated from the following file:
Generated on Mon Apr 26 22:47:57 2010 for Carrara SDK Doc by  doxygen 1.6.3