Skip to content

LightingParserDiagram

djewsbury edited this page Jan 26, 2015 · 1 revision

#Lighting Parser Diagram

The lighting parser is one of the 2 important concepts of the SceneEngine:

  • the lighting parser is responsible for rendering techniques related to lighting (and the physics of light)
  • the scene parser is responsible for the contents of the scene (including objects, light sources, environmental properties, etc)

There seems to be a convenient separation between these 2 concepts. Most clients of XLE should want to customise the objects and properties of the scene using the scene parser, so most tasks can be achieved using this interface.

Of the two, the lighting parser is less customisable. The scene parser is an open interface that can be modified for almost any purpose. The lighting parser provides some plugin interfaces for customisation. However, most significant changes to the lighting parser will require going in an changing the SceneEngine source code.

Lighting parser structure

Internally, the lighting performs a number of steps per frame. Lighting pipeline diagram

Normally, the lighting parser process is begun using the SceneEngine::LightingParser_Execute() function. Rendering operations can also be performed before and after the lighting execute. For example, often we want a Prepare() step before and a Render2D() step afterwards.