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) |
Basic Post Renderer class. Derive from this for a default implementation of I3DExPostRenderer
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.
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.
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
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.
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.
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] |