Visualization Library

A lightweight C++ OpenGL middleware for 2D/3D graphics
[Home] [Tutorials] [All Classes] [Grouped Classes]
Public Member Functions | Protected Member Functions | Protected Attributes

vl::OcclusionCullRenderer Class Reference

Wraps a Renderer performing occlusion culling acceleration. More...

#include <OcclusionCullRenderer.hpp>

Inheritance diagram for vl::OcclusionCullRenderer:
vl::Renderer vl::RendererAbstract vl::Object

List of all members.

Public Member Functions

 OcclusionCullRenderer ()
 Constructor.
virtual const RenderQueuerender (const RenderQueue *in_render_queue, Camera *camera, Real frame_clock)
 Renders using the wrapped renderer but also performing occlusion culling.
void setWrappedRenderer (Renderer *renderer)
 The renderer to be wrapped by this occlusion culling renderer.
const RendererwrappedRenderer () const
 The renderer to be wrapped by this occlusion culling renderer.
RendererwrappedRenderer ()
 The renderer to we wrapped by this occlusion culling renderer.
void setOcclusionThreshold (int threshold)
 The number of pixels visible for an actor to be considered occluded (default = 0)
int occlusionThreshold () const
 The number of pixels visible for an actor to be considered occluded (default = 0)
const RenderTargetrenderTarget () const
 Returns the wrapped Renderer's RenderTarget.
RenderTargetrenderTarget ()
 Returns the wrapped Renderer's RenderTarget.
int statsTotalObjects () const
 Returns the total number or objects candidate for rendering before occlusion culling.
int statsOccludedObjects () const
 Returns the number or objects not rendered due to the occlusion culling.
ShaderocclusionShader ()
 The Shader used to render the bounding boxes during the occlusion culling query.
const ShaderocclusionShader () const
 The Shader used to render the bounding boxes during the occlusion culling query.
void setOcclusionShader (Shader *occ_sh)
 The Shader used to render the bounding boxes during the occlusion culling query.

Protected Member Functions

void render_pass1 (const RenderQueue *in_render_queue)
 Retrieves the occlusion culling query results from the previous rendering frame.
void render_pass2 (const RenderQueue *in_render_queue, Camera *camera)
 Performs a new set of occlusion culling queries to be tested the next frame.

Protected Attributes

vl::ref< RenderermWrappedRenderer
ref< ShadermOcclusionShader
ref< RenderQueuemCulledRenderQueue
int mOcclusionThreshold
RenderermPrevWrapRenderer
int mStatsTotalObjects
int mStatsOccludedObjects

Detailed Description

Wraps a Renderer performing occlusion culling acceleration.

For more information see OpenGL-Accelerated Occlusion Culling Tutorial


Constructor & Destructor Documentation

OcclusionCullRenderer::OcclusionCullRenderer (  )

Constructor.


Member Function Documentation

const RenderQueue * OcclusionCullRenderer::render ( const RenderQueue in_render_queue,
Camera camera,
Real  frame_clock 
) [virtual]

Renders using the wrapped renderer but also performing occlusion culling.

Reimplemented from vl::Renderer.

void OcclusionCullRenderer::setWrappedRenderer ( Renderer renderer )

The renderer to be wrapped by this occlusion culling renderer.

const Renderer* vl::OcclusionCullRenderer::wrappedRenderer (  ) const [inline]

The renderer to be wrapped by this occlusion culling renderer.

Renderer* vl::OcclusionCullRenderer::wrappedRenderer (  ) [inline]

The renderer to we wrapped by this occlusion culling renderer.

void vl::OcclusionCullRenderer::setOcclusionThreshold ( int  threshold ) [inline]

The number of pixels visible for an actor to be considered occluded (default = 0)

int vl::OcclusionCullRenderer::occlusionThreshold (  ) const [inline]

The number of pixels visible for an actor to be considered occluded (default = 0)

const RenderTarget * OcclusionCullRenderer::renderTarget (  ) const [virtual]

Returns the wrapped Renderer's RenderTarget.

Reimplemented from vl::Renderer.

RenderTarget * OcclusionCullRenderer::renderTarget (  ) [virtual]

Returns the wrapped Renderer's RenderTarget.

Reimplemented from vl::Renderer.

int vl::OcclusionCullRenderer::statsTotalObjects (  ) const [inline]

Returns the total number or objects candidate for rendering before occlusion culling.

int vl::OcclusionCullRenderer::statsOccludedObjects (  ) const [inline]

Returns the number or objects not rendered due to the occlusion culling.

Shader* vl::OcclusionCullRenderer::occlusionShader (  ) [inline]

The Shader used to render the bounding boxes during the occlusion culling query.

For example if you have problems with the zbuffer percision you can access the Shader to modify the polygon offset settings.

const Shader* vl::OcclusionCullRenderer::occlusionShader (  ) const [inline]

The Shader used to render the bounding boxes during the occlusion culling query.

For example if you have problems with the zbuffer percision you can access the Shader to modify the polygon offset settings.

void vl::OcclusionCullRenderer::setOcclusionShader ( Shader occ_sh ) [inline]

The Shader used to render the bounding boxes during the occlusion culling query.

For example if you have problems with the zbuffer percision you can access the Shader to modify the polygon offset settings.

void OcclusionCullRenderer::render_pass1 ( const RenderQueue in_render_queue ) [protected]

Retrieves the occlusion culling query results from the previous rendering frame.

void OcclusionCullRenderer::render_pass2 ( const RenderQueue in_render_queue,
Camera camera 
) [protected]

Performs a new set of occlusion culling queries to be tested the next frame.


Member Data Documentation


The documentation for this class was generated from the following files:

Visualization Library v2010.11.1125 Reference Documentation
Copyright 2005-2009 Michele Bosi. All rights reserved.
Updated on Fri Nov 26 2010 10:33:50.
Permission is granted to use this page to write and publish articles regarding Visualization Library.