Public Types | |
enum | EAdvancedRednerCapabilities { kBumpMap = 0, kSpecularMap = 1, kNonPowerOfTwoTextureSize } |
Public Member Functions | |
virtual void MCCOMAPI | SetCamera (I3DShCamera *camera, const TBBox2D &viewPane)=0 |
virtual void MCCOMAPI | SetScene (I3DShScene *scene)=0 |
virtual void MCCOMAPI | SetWorkingBox (IWorkingBox *workingBox)=0 |
virtual void MCCOMAPI | DeleteRenderableCache (I3DShRenderable &renderable)=0 |
virtual void MCCOMAPI | PreDraw (SystWindowPtr awnd, const TMCRect &windowContentRect, const TMCRect &windowUpdateRect)=0 |
virtual void MCCOMAPI | DrawInstances (const TRenderableAndTfmArray &instances, const TRenderable2DArray &renderables2D)=0 |
virtual MCErr MCCOMAPI | PostDraw ()=0 |
virtual MCCOMErr MCCOMAPI | DrawOnScreen (SystWindowPtr awnd, const TMCRect &windowContentRect, const TMCRect &windowUpdateRect)=0 |
virtual MCCOMErr MCCOMAPI | DrawInGC (IMCGraphicContext *gc, const TMCRect &windowContentRect, const TMCRect &windowUpdateRect)=0 |
virtual void MCCOMAPI | SetRenderingMode (const InteractiveSettings::ERenderMode renderingMode)=0 |
virtual uint32 MCCOMAPI | GetRenderingMode ()=0 |
virtual void MCCOMAPI | GetRenderingModeIDs (TMCArray< ResourceID > &renderingModes)=0 |
virtual void MCCOMAPI | SetRenderActivity (const InteractiveSettings::ERenderActivity renderActivity)=0 |
virtual void MCCOMAPI | Set2DZoomAndPan (const TVector2 &zoom, const TVector2 &pan)=0 |
virtual void MCCOMAPI | Dehydrate ()=0 |
virtual void MCCOMAPI | Rehydrate ()=0 |
virtual MCCOMErr MCCOMAPI | PreDrawChannels (TMCPixelBucket *colorChannel, TMCPixelBucket *depthChannel, TMCPixelBucket *objectChannel, const boolean useAverageZ)=0 |
virtual boolean MCCOMAPI | MustDrawInSeparateWindow ()=0 |
virtual void | PrepareToDestroy ()=0 |
virtual void MCCOMAPI | SetPlaneImage (TMCPixelBucket *bucket, TMCPoint &startPoint)=0 |
virtual boolean MCCOMAPI | DoesSupportCapability (EAdvancedRednerCapabilities querriedCapability) const =0 |
virtual boolean MCCOMAPI | DoesRequireReRender () const =0 |
virtual void MCCOMAPI | GetRenderWindow (IShowBackBufferWindow **window, TMCRect &bounds)=0 |
A Renderer Box is a real time renderer used to display objects in the 3D view window. (For instance OpenGL is implemented as a renderer box.
virtual void MCCOMAPI I3DExRendererBox::Dehydrate | ( | ) | [pure virtual] |
Free all render buffers to dehydrate InteractiveRenderer when it's not activated
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::DeleteRenderableCache | ( | I3DShRenderable & | renderable | ) | [pure virtual] |
Delete a single renderable cache
renderable | : the renderable whose cache should be deleted |
Implemented in TBasicRendererBox.
virtual boolean MCCOMAPI I3DExRendererBox::DoesRequireReRender | ( | ) | const [pure virtual] |
virtual boolean MCCOMAPI I3DExRendererBox::DoesSupportCapability | ( | EAdvancedRednerCapabilities | querriedCapability | ) | const [pure virtual] |
virtual MCCOMErr MCCOMAPI I3DExRendererBox::DrawInGC | ( | IMCGraphicContext * | gc, | |
const TMCRect & | windowContentRect, | |||
const TMCRect & | windowUpdateRect | |||
) | [pure virtual] |
Update the screen without rerendering
gc,: | graphic context where the rendering should be blitted | |
windowContentRect,: | Rectangle of the window content | |
windowUpdateRect,: | Rectangle that needs to be updated |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::DrawInstances | ( | const TRenderableAndTfmArray & | instances, | |
const TRenderable2DArray & | renderables2D | |||
) | [pure virtual] |
Render the instances (should be called after PreDraw())
instances | : array of renderables that needs to be drawn | |
renderables2D | : array of renderables 2D that needs to be drawn |
Implemented in TBasicRendererBox.
virtual MCCOMErr MCCOMAPI I3DExRendererBox::DrawOnScreen | ( | SystWindowPtr | awnd, | |
const TMCRect & | windowContentRect, | |||
const TMCRect & | windowUpdateRect | |||
) | [pure virtual] |
This is an opportunity for the renderer to update the screen without re-rendering
awnd,: | Window where the rendering should be blitted. | |
windowContentRect,: | Rectangle of the window content | |
windowUpdateRect,: | Rectangle that needs to be updated |
Implemented in TBasicRendererBox.
virtual uint32 MCCOMAPI I3DExRendererBox::GetRenderingMode | ( | ) | [pure virtual] |
Returns the current rendering mode
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::GetRenderingModeIDs | ( | TMCArray< ResourceID > & | renderingModes | ) | [pure virtual] |
Returns the different rendering modes
renderingModes,: | returns the list of rendering modes supported by this rendering |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::GetRenderWindow | ( | IShowBackBufferWindow ** | window, | |
TMCRect & | bounds | |||
) | [pure virtual] |
virtual boolean MCCOMAPI I3DExRendererBox::MustDrawInSeparateWindow | ( | ) | [pure virtual] |
Tells the application if the renderer needs to draw in its own platform window
Implemented in TBasicRendererBox.
virtual MCErr MCCOMAPI I3DExRendererBox::PostDraw | ( | ) | [pure virtual] |
Finishes the rendering (should be called after DrawInstances())
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::PreDraw | ( | SystWindowPtr | awnd, | |
const TMCRect & | windowContentRect, | |||
const TMCRect & | windowUpdateRect | |||
) | [pure virtual] |
Called at the beginning of the rendering
awnd | : pointer to a system window ( specific to the platform ) | |
windowContentRect | : rectangle corresponding to the content of the window | |
windowUpdateRect | : rectangle that needs to be rendered |
Implemented in TBasicRendererBox.
virtual MCCOMErr MCCOMAPI I3DExRendererBox::PreDrawChannels | ( | TMCPixelBucket * | colorChannel, | |
TMCPixelBucket * | depthChannel, | |||
TMCPixelBucket * | objectChannel, | |||
const boolean | useAverageZ | |||
) | [pure virtual] |
An optional call that the default interactive renderer supports. The caller supplies pixel buckets to render channel data from the renderer into. Only two channels at a time, so multiple passes may be required to generate the various channels. This call is followed with DrawInstances, PostDraw.
colorChannel,: | A pointer to the bucket where the color channel must be stored (can be NULL) | |
depthChannel,: | A pointer to the bucket where the depth channel must be stored (can be NULL) | |
objectChannel,: | A pointer to the bucket where the object channel must be stored (can be NULL) | |
useAverageZ,: | If true the depth channel will be filled with the average value of z |
Implemented in TBasicRendererBox.
virtual void I3DExRendererBox::PrepareToDestroy | ( | ) | [pure virtual] |
Called by the shell to notify the renderer that it is not going to be used anymore. This allow the renderer to delete caches and references to windows or context.
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::Rehydrate | ( | ) | [pure virtual] |
Called when the renderer must be active again
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::Set2DZoomAndPan | ( | const TVector2 & | zoom, | |
const TVector2 & | pan | |||
) | [pure virtual] |
Sets the zoom and pan
zoom,: | the zoom to be set | |
pan,: | the pan to be set |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetCamera | ( | I3DShCamera * | camera, | |
const TBBox2D & | viewPane | |||
) | [pure virtual] |
Called by the 3D database to inform the renderer that the rendering camera changed
camera,: | The camera used for the rendering | |
viewPane,: | The coordinates of the view pane (be careful this is not in camera coordinates! You need to apply the zoom and pan to the camera coordinates). |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetPlaneImage | ( | TMCPixelBucket * | bucket, | |
TMCPoint & | startPoint | |||
) | [pure virtual] |
Sets a pointer to an image to be display before display the scene in real time rendering. This image won't be rendered in the final rendering, it's just an helper image.
Note that the Sree software rendere does not support this mode
bucket | pointer to the image | |
startPoint | in window where to start the rendering |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetRenderActivity | ( | const InteractiveSettings::ERenderActivity | renderActivity | ) | [pure virtual] |
Tell the renderer about the render activity taking place
renderActivity,: | the rendering activity |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetRenderingMode | ( | const InteractiveSettings::ERenderMode | renderingMode | ) | [pure virtual] |
Sets the rendering mode
renderingMode | : the new rendering mode |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetScene | ( | I3DShScene * | scene | ) | [pure virtual] |
Sets the scene that is going to rendered. (used to get the backdrop)
scene,: | the scene that is going to be rendered. |
Implemented in TBasicRendererBox.
virtual void MCCOMAPI I3DExRendererBox::SetWorkingBox | ( | IWorkingBox * | workingBox | ) | [pure virtual] |
To set the working box information, don't forget to invalidate renderer if it changes
workingBox | : a pointer to the working box (can be NULL) |
Implemented in TBasicRendererBox.