version 3.3

VRS::AOLightingConfiguration Struct Reference

The LightingConfiguration summarizes the parameters that control the lighting calculation. More...

#include <vrs/opengl/ambientocclusiongl.h>

List of all members.

Public Types

enum  Preset { PS_Dawn, PS_SunnyDay, PS_Debug }
 Convenience method for typical preset settings. Enum will be extended in the future. More...

Public Member Functions

 AOLightingConfiguration ()
 The default values are configured to achieve a typical Berlin sky, in which the light comes from all directions due to scattering within clouds and no sun is visible.

Static Public Member Functions

static AOLightingConfiguration create (Preset p)

Public Attributes

int numSkyLightDirections
 The sky light is simulated by light directions that are randomly distributed over the upper hemisphere.
VRS::Color skyColor
int numSunLightDirections
 The sun light is simulated by light directions that are densely distributed around a given primary sun direction.
VRS::Vector primarySunDirection
double sunSize
double sunIntensityFactor
VRS::Color sunColor
double brightness
 A brightness scaling factor that is applied to sky light as well as sun light.
SO< VRS::Iterator< VRS::Vector > > lightDirections
 Usually, the light directions are generated automatically based on the parameters described above.
SO< VRS::Iterator< VRS::Vector > > scaledLightColors


Detailed Description

The LightingConfiguration summarizes the parameters that control the lighting calculation.

Member Enumeration Documentation

Convenience method for typical preset settings. Enum will be extended in the future.

Enumerator:
PS_Dawn 
PS_SunnyDay 
PS_Debug 


Constructor & Destructor Documentation

VRS::AOLightingConfiguration::AOLightingConfiguration (  ) 

The default values are configured to achieve a typical Berlin sky, in which the light comes from all directions due to scattering within clouds and no sun is visible.


Member Function Documentation

static AOLightingConfiguration VRS::AOLightingConfiguration::create ( Preset  p  )  [static]


Member Data Documentation

The sky light is simulated by light directions that are randomly distributed over the upper hemisphere.

A larger number of light directions increases preprocessing time but increases visual quality. 'numSkyLightDirections' may be 0, so that only directed sun light is visible.

The sun light is simulated by light directions that are densely distributed around a given primary sun direction.

'numSunLightDirection' may be set to 0 to achieve typical Berlin weather. Larger values for 'numSunLightDirections' lead to smooth soft shadows, where small values, e.g., 1, lead to hard shaodws. The 'sunSize' is given in degrees of tolerance around the 'primarySunDirection'. The 'sunIntensityFactor' controls the brightness weighting between sun and sky.

A brightness scaling factor that is applied to sky light as well as sun light.

Usually, the light directions are generated automatically based on the parameters described above.

Additionally, explicitly given light directions can be specified as well. If you want to use exclusively the explicit ones, set 'numSkyLightDirections' and 'numSunLightDirections' to 0. Note: Either both iterators must be NULL or they must both be defined and of equal size.


The documentation for this struct was generated from the following file:

Generated on Thu May 24 06:00:22 2012 by Doxygen 1.5.6
© 2001-2010 Hasso-Plattner-Institut | Impressum | Contact