I3DExRendererBox Struct Reference
[External Interfaces]

Inheritance diagram for I3DExRendererBox:
IExDataExchanger IMCUnknown TBasicRendererBox

List of all members.

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

Detailed Description

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.


Member Enumeration Documentation

Enumerator:
kBumpMap 
kSpecularMap 
kNonPowerOfTwoTextureSize 

Member Function Documentation

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

Parameters:
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

Parameters:
gc,: graphic context where the rendering should be blitted
windowContentRect,: Rectangle of the window content
windowUpdateRect,: Rectangle that needs to be updated
Returns:
MC_S_OK if the blit succeeded

Implemented in TBasicRendererBox.

virtual void MCCOMAPI I3DExRendererBox::DrawInstances ( const TRenderableAndTfmArray instances,
const TRenderable2DArray renderables2D 
) [pure virtual]

Render the instances (should be called after PreDraw())

Parameters:
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

Parameters:
awnd,: Window where the rendering should be blitted.
windowContentRect,: Rectangle of the window content
windowUpdateRect,: Rectangle that needs to be updated
Returns:
MC_S_OK if the blit succeeded

Implemented in TBasicRendererBox.

virtual uint32 MCCOMAPI I3DExRendererBox::GetRenderingMode (  )  [pure virtual]

Returns the current rendering mode

Returns:
the current rendering mode

Implemented in TBasicRendererBox.

virtual void MCCOMAPI I3DExRendererBox::GetRenderingModeIDs ( TMCArray< ResourceID > &  renderingModes  )  [pure virtual]

Returns the different rendering modes

Parameters:
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

Returns:
True 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

Parameters:
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.

Note:
This call is only supported by software renderers
Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
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

Parameters:
renderActivity,: the rendering activity

Implemented in TBasicRendererBox.

virtual void MCCOMAPI I3DExRendererBox::SetRenderingMode ( const InteractiveSettings::ERenderMode  renderingMode  )  [pure virtual]

Sets the rendering mode

Parameters:
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)

Parameters:
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

Parameters:
workingBox : a pointer to the working box (can be NULL)

Implemented in TBasicRendererBox.


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