neo::scene::ppdynlight::Renderer Class Reference

#include <scene/ppdynlight/renderer.h>

Inheritance diagram for neo::scene::ppdynlight::Renderer:

Inheritance graph
[legend]
Collaboration diagram for neo::scene::ppdynlight::Renderer:

Collaboration graph
[legend]
List of all members.

Detailed Description

Implementation of scene renderer for per-pixel dynamic lighting. Shadows are generated with a stencil shadow algorithm. Three passes are made over the scene:
ambient : Render the visible set ambient pass, establish the z buffer light : For each light, iterate over the affected objects establishing the shadow data in the stencil buffer, then render the visible illuminated objects with the shadow data in the stencil buffer. final : Render any non-shadowed auxiliary data
Author:
Mattias Jansson (mattias@realityrift.com)


Public Types

enum  RenderPassID {
  AMBIENT = 0, SHADOW = 1, LIGHT_POSITIONAL = 2, LIGHT_DIRECTIONAL = 3,
  LIGHT_SPOT = 4, FINAL = 5
}
 Pass identifiers. More...

Public Member Functions

 Renderer ()
 Initialize renderer.
virtual ~Renderer ()
 Free resources.
virtual void render (Scene *p_scene)
 Render scene.

Static Public Member Functions

static unsigned int getID ()
 Get renderer ID.

Protected Attributes

core::Array< Object * > _objset
 Object set.
core::Array< Object * > _lightset
 Light set.
render::Primitive _shadow
 Shadow primitive.


Member Enumeration Documentation

enum neo::scene::ppdynlight::Renderer::RenderPassID

Enumerator:
AMBIENT  Ambient pass.
SHADOW  Shadow pass.
LIGHT_POSITIONAL  Light pass (positional).
LIGHT_DIRECTIONAL  Light pass (directional).
LIGHT_SPOT  Light pass (spot).
FINAL  Final pass.


Member Function Documentation

virtual void neo::scene::ppdynlight::Renderer::render ( Scene p_scene  )  [virtual]

Render scene in a single pass using the visible set V

Parameters:
p_scene Scene

Implements neo::scene::Renderer.

static unsigned int neo::scene::ppdynlight::Renderer::getID (  )  [static]

Returns:
Renderer ID


The documentation for this class was generated from the following file:
Generated on Sat Feb 17 20:51:08 2007 for NeoEngine 2 - Evolution by  doxygen 1.5.1