BALL::VIEW::TilingRenderer Class Reference
[Renderer]

#include <BALL/VIEW/RENDERING/tilingRenderer.h>

Inheritance diagram for BALL::VIEW::TilingRenderer:
BALL::VIEW::Renderer BALL::Object BALL::AutoDeletable

List of all members.


Public Member Functions

Constructors and Destructors
 TilingRenderer (Renderer *real_renderer, Size final_width, Size final_height, Size border=0)
 TilingRenderer (const TilingRenderer &renderer)
virtual ~TilingRenderer ()
virtual void setLights (bool reset_all=false)
 

Set the light sources according to the stage.


virtual void updateCamera (const Camera *camera=0)
virtual void updateBackgroundColor ()
 

Update the background color from the stage.


virtual bool finish ()
virtual Vector3 mapViewportTo3D (Position x, Position y)
virtual Vector2 map3DToViewport (const Vector3 &vec)
Accessors
virtual bool renderOneRepresentation (const Representation &representation)
virtual void bufferRepresentation (const Representation &rep)
virtual void removeRepresentation (const Representation &rep)
virtual void setSize (float width, float height)
 

Set the size of the display.


virtual void renderRuler ()

Predicates

Rendererreal_renderer_
 

The renderer used for rendering the individual tiles.


Size final_width_
 

The desired width of the final image.


Size final_height_
 

The desired height of the final image.


Size border_
 

The border oversampled for each tile.


Size num_cols_
Size num_rows_
virtual void renderToBuffer (RenderTarget *target)
virtual void render_ (const GeometricObject *object)
 

Wrapper for the renderering of special GeometricObjects.


void computeTilingSetup_ ()

Detailed Description

Offscreen rendering with arbitrary resolution. This class encapsulates a renderer object which it uses to render a number of individual tiles to compose them into a full image. This can be used to render very large images into files.

The idea behind this renderer is heavily based on the extremely useful open-source TR library for tile rendering by Brian Paul (http://www.mesa3d.org/brianp/TR.html).


Constructor & Destructor Documentation

BALL::VIEW::TilingRenderer::TilingRenderer ( Renderer real_renderer,
Size  final_width,
Size  final_height,
Size  border = 0 
)

Detailed Constructor.

Parameters:
real_renderer the renderer to encapsulate
final_width the width of the generated image
final_height the height of the generated image
border an optional border around each tile
BALL::VIEW::TilingRenderer::TilingRenderer ( const TilingRenderer renderer  ) 

Copy constructor.

virtual BALL::VIEW::TilingRenderer::~TilingRenderer (  )  [inline, virtual]

Destructor


Member Function Documentation

virtual void BALL::VIEW::TilingRenderer::bufferRepresentation ( const Representation rep  )  [virtual]

Buffer a Representation for later rendering.

Reimplemented from BALL::VIEW::Renderer.

void BALL::VIEW::TilingRenderer::computeTilingSetup_ (  )  [protected]
virtual bool BALL::VIEW::TilingRenderer::finish (  )  [virtual]

Reimplemented from BALL::VIEW::Renderer.

virtual Vector2 BALL::VIEW::TilingRenderer::map3DToViewport ( const Vector3 vec  )  [virtual]

Compute the 2D position on the screen corresponding to the 3D point vec

Reimplemented from BALL::VIEW::Renderer.

virtual Vector3 BALL::VIEW::TilingRenderer::mapViewportTo3D ( Position  x,
Position  y 
) [virtual]

Compute the 3D position on the view plane corresponding to point (x,y) on the view port

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::removeRepresentation ( const Representation rep  )  [virtual]

Remove a representation from the buffer.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::render_ ( const GeometricObject object  )  [virtual]

Wrapper for the renderering of special GeometricObjects.

Reimplemented from BALL::VIEW::Renderer.

virtual bool BALL::VIEW::TilingRenderer::renderOneRepresentation ( const Representation representation  )  [virtual]

Render a Representation.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::renderRuler (  )  [virtual]

Render a ruler.

If supported by the renderer implementation, this function will produce a simple ruler that is rendered together with the other representations. The main use of this function is in the edit mode, where it can help to straighten-up structures and to correctly estimate angles and distances.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::renderToBuffer ( RenderTarget target  )  [virtual]
virtual void BALL::VIEW::TilingRenderer::setLights ( bool  reset_all = false  )  [virtual]

Set the light sources according to the stage.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::setSize ( float  width,
float  height 
) [virtual]

Set the size of the display.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::updateBackgroundColor (  )  [virtual]

Update the background color from the stage.

Reimplemented from BALL::VIEW::Renderer.

virtual void BALL::VIEW::TilingRenderer::updateCamera ( const Camera camera = 0  )  [virtual]

Update the camera position either from a given Camera, or from the default Stage.

Reimplemented from BALL::VIEW::Renderer.


Member Data Documentation

The border oversampled for each tile.

The desired height of the final image.

The desired width of the final image.

The renderer used for rendering the individual tiles.