| VRS - The Virtual Rendering System |
| version 3.3 |
#include <vrs/opengl/ambientocclusiongl.h>
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 |
| 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.
| static AOLightingConfiguration VRS::AOLightingConfiguration::create | ( | Preset | p | ) | [static] |
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.