Public Member Functions | |
virtual MCCOMErr MCCOMAPI | QueryInterface (const MCIID &riid, void **ppvObj) |
virtual uint32 MCCOMAPI | AddRef () |
virtual MCCOMErr MCCOMAPI | SetTreeTop (I3DShGroup *treeTop) |
virtual MCCOMErr MCCOMAPI | SetCamera (I3DShCamera *camera) |
virtual MCCOMErr MCCOMAPI | SetEnvironment (I3DShEnvironment *environment) |
virtual MCCOMErr MCCOMAPI | SetAmbientLight (const TMCColorRGB &ambiantColor) |
virtual MCCOMErr MCCOMAPI | SetFieldRenderingData (int32 fieldRenderingSettings, int16 firstFrame) |
virtual void MCCOMAPI | GetRenderStatistics (I3DRenderStatistics **renderstats)=0 |
virtual MCCOMErr MCCOMAPI | FinishDraw () |
virtual boolean MCCOMAPI | IsSMPAware () |
virtual void MCCOMAPI | RenderVolumetrics (boolean renderEffects) |
virtual void MCCOMAPI | RenderBackGround (boolean enable) |
virtual void MCCOMAPI | SeparateShadow (boolean enable) |
virtual void MCCOMAPI | OptimizeTileSize (TMCPoint &inOutTileSize) |
virtual void MCCOMAPI | GetTileRenderer (I3DExTileRenderer **tileRenderer) |
virtual void MCCOMAPI | BeginRendering () |
virtual void MCCOMAPI | EndRendering (boolean aborting) |
virtual void MCCOMAPI | CreateRaytracer (I3DExRaytracer **raytracer) |
virtual void MCCOMAPI | SetLightingDetailOptions (boolean atmosphereDetails, boolean volumePrimitivesDetails, boolean volumetricEffectsDetails) |
Basic Final Renderer class. Derive from this for a default implementation of I3DExFinalRenderer.
virtual uint32 MCCOMAPI TBasicFinalRenderer::AddRef | ( | ) | [inline, virtual] |
Increments the reference count of the object
Reimplemented from TBasicDataExchanger.
virtual void MCCOMAPI TBasicFinalRenderer::BeginRendering | ( | ) | [virtual] |
Called at the beginning of the rendering of an animation
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::CreateRaytracer | ( | I3DExRaytracer ** | raytracer | ) | [virtual] |
Returns a pointer to a Raytracer (or Lighting Model). This function should only be called after PrepareDraw and before FinishDraw. You cannot keep the raytracer between two frames, you need a new raytracer for each frame.
raytracer | The pointer to the raytracer that is returned |
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::EndRendering | ( | boolean | aborting | ) | [virtual] |
Called at the end of the rendering of an animation
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::FinishDraw | ( | ) | [virtual] |
Called at the end of the rendering of each frame. You can use this function to delete the temporary rendering caches.
Note, that it is called only once even in SMP.
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::GetRenderStatistics | ( | I3DRenderStatistics ** | renderstats | ) | [pure virtual] |
Returns a pointer to the rendering statistics object.
renderstats | A pointer to next render statistics. |
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::GetTileRenderer | ( | I3DExTileRenderer ** | tileRenderer | ) | [virtual] |
Creates a new tile renderer. This function is called after PrepareDraw() and before FinishDraw().
Note that you should always return a new renderer if your renderer is SMP compliant since tile renderer is created for each rendering thread.
tileRenderer | A pointer to the tile renderer created |
Implements I3DExFinalRenderer.
virtual boolean MCCOMAPI TBasicFinalRenderer::IsSMPAware | ( | ) | [virtual] |
Returns True if the renderer supports SMP (multiprocessors) which means that several tiles can be rendered at the same time in different preemptive threads.
You should returns false if the renderer does not support reentrant calls.
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::OptimizeTileSize | ( | TMCPoint & | inOutTileSize | ) | [virtual] |
Optimize the size of the tiles for rendering speed by increasing the tile if necessary
inOutTileSize | Should contain the proposed tile size when the function is called. Contains the optimized tile size when the function returns. |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::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 TBasicFinalRenderer::RenderBackGround | ( | boolean | enable | ) | [virtual] |
Turn on/off the rendering of the background of the image. (When the background rendering is turned off it should be black). This is used for alpha channel rendering/compositing. By "background" it is meant anything that is not hidden by an object, so backdrop, background, ...
enable | True if the background should be rendered |
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::RenderVolumetrics | ( | boolean | renderEffects | ) | [virtual] |
This call is called by the shell to enable/disable the rendering of volumetric effects (like light cones and light spheres)
renderEffects | True if the volumetric effects should be rendered. |
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::SeparateShadow | ( | boolean | enable | ) | [virtual] |
Turn on/off separation of the shadow in lighting computation.
enable | True if the shadows should be separated |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetAmbientLight | ( | const TMCColorRGB & | ambiantColor | ) | [virtual] |
Sets the ambient light color
ambiantColor | the color of the ambient light. |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetCamera | ( | I3DShCamera * | camera | ) | [virtual] |
Specifies the rendering camera.
camera | The rendering camera. |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetEnvironment | ( | I3DShEnvironment * | environment | ) | [virtual] |
Sets up the background, backdrop, and atmospheric shader
environment | The specified environment. |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetFieldRenderingData | ( | int32 | fieldRenderingSettings, | |
int16 | firstFrame | |||
) | [virtual] |
fieldRenderingSettings | Not documented | |
firstFrame | Not documented |
Implements I3DExFinalRenderer.
virtual void MCCOMAPI TBasicFinalRenderer::SetLightingDetailOptions | ( | boolean | atmosphereDetails, | |
boolean | volumePrimitivesDetails, | |||
boolean | volumetricEffectsDetails | |||
) | [virtual] |
Sets the lighting details options used for multipass rendering
atmosphereDetails | True if it wants atmosphere details | |
volumePrimitivesDetails | True if it wants volume primitive details | |
volumetricEffectsDetails | True if it wants volume effect details |
Implements I3DExFinalRenderer.
virtual MCCOMErr MCCOMAPI TBasicFinalRenderer::SetTreeTop | ( | I3DShGroup * | treeTop | ) | [virtual] |
Specifies which tree needs to be rendered (generally the universe).
treeTop | A pointer to the top of the tree hierarchy. |
Implements I3DExFinalRenderer.