Support Forum G3D Web Page |
A volume of space within which irradiance querries at arbitrary points are supported using a grid of DDGI probes. More...
Public Member Functions | |
DDGIVolumeSpecification () | |
DDGIVolumeSpecification (const Any &, const AABox &defaultInscribedBounds, const AABox &defaultCircumscribedBounds) | |
DDGIVolumeSpecification (const Any &any) | |
Any | toAny () const |
Public Attributes | |
AABox | bounds = AABox(Point3(0.0f, 0.0f, 0.0f), Point3(0.0f, 0.0f, 0.0f)) |
Bounding box on the volume. More... | |
bool | cameraLocked = false |
int | depthFormatIndex = 1 |
float | depthSharpness = 50.0f |
Exponent for depth testing. More... | |
bool | detectLargeObjectMotion = true |
bool | enableProbeUpdate = true |
bool | enableSecondOrderGlossy = true |
bool | encloseBounds = true |
bool | glossyToMatte = true |
If true, add the glossy coefficient in to matte term for a single albedo. More... | |
float | hysteresis = 0.98f |
Control the weight of new rays when updating each irradiance probe. More... | |
int | irradianceFormatIndex = 2 |
float | irradianceGamma = 5.0f |
We blend in post-tone map space... More... | |
int | irradianceProbeResolution = 8 |
Side length of one face of the probe in the texture map, not including a 1-pixel border on each side. More... | |
Vector3int32 | probeCounts = Vector3int32(8, 4, 8) |
Number of probes on each axis within the volume. More... | |
float | probeOffsetLimit = 0.5f |
int | raysPerProbe = 256 |
Number of rays emitted each frame for each probe in the scene. More... | |
float | selfShadowBias = 0.3f |
Slightly bump the location of the shadow test point away from the shadow casting surface. More... | |
bool | showLights = false |
int | visibilityProbeResolution = 16 |
Side length of one face of the probe in the texture map, not including a 1-pixel border on each side. More... | |
A volume of space within which irradiance querries at arbitrary points are supported using a grid of DDGI probes.
A single DDGIVolume may cover the entire scene and use multiple update cascades within it.
If there are parts of your scene with very different geometric density or dimensions, you can have multiple DDGIVolumes.
G3D::DDGIVolumeSpecification::DDGIVolumeSpecification | ( | ) |
Referenced by DDGIVolumeSpecification().
G3D::DDGIVolumeSpecification::DDGIVolumeSpecification | ( | const Any & | , |
const AABox & | defaultInscribedBounds, | ||
const AABox & | defaultCircumscribedBounds | ||
) |
|
inline |
Any G3D::DDGIVolumeSpecification::toAny | ( | ) | const |
AABox G3D::DDGIVolumeSpecification::bounds = AABox(Point3(0.0f, 0.0f, 0.0f), Point3(0.0f, 0.0f, 0.0f)) |
Bounding box on the volume.
bool G3D::DDGIVolumeSpecification::cameraLocked = false |
Referenced by G3D::DDGIVolume::cameraLocked(), and G3D::DDGIVolume::setCameraLocked().
int G3D::DDGIVolumeSpecification::depthFormatIndex = 1 |
float G3D::DDGIVolumeSpecification::depthSharpness = 50.0f |
Exponent for depth testing.
A high value will rapidly react to depth discontinuities, but risks exhibiting banding.
bool G3D::DDGIVolumeSpecification::detectLargeObjectMotion = true |
Referenced by G3D::DDGIVolume::onLargeObjectChange().
bool G3D::DDGIVolumeSpecification::enableProbeUpdate = true |
bool G3D::DDGIVolumeSpecification::enableSecondOrderGlossy = true |
bool G3D::DDGIVolumeSpecification::encloseBounds = true |
Referenced by G3D::DDGIVolume::encloseScene(), and G3D::DDGIVolume::setEncloseScene().
bool G3D::DDGIVolumeSpecification::glossyToMatte = true |
If true, add the glossy coefficient in to matte term for a single albedo.
Eliminates low-probability, temporally insensitive caustic effects.
float G3D::DDGIVolumeSpecification::hysteresis = 0.98f |
Control the weight of new rays when updating each irradiance probe.
A value close to 1 will very slowly change the probe textures, improving stability but reducing accuracy when objects move in the scene, while values closer to 0.9 or lower will rapidly react to scene changes but exhibit flickering.
int G3D::DDGIVolumeSpecification::irradianceFormatIndex = 2 |
float G3D::DDGIVolumeSpecification::irradianceGamma = 5.0f |
We blend in post-tone map space...
int G3D::DDGIVolumeSpecification::irradianceProbeResolution = 8 |
Side length of one face of the probe in the texture map, not including a 1-pixel border on each side.
Referenced by G3D::DDGIVolume::irradianceOctSideLength(), and G3D::DDGIVolume::setIrradianceOctSideLength().
Vector3int32 G3D::DDGIVolumeSpecification::probeCounts = Vector3int32(8, 4, 8) |
Number of probes on each axis within the volume.
Referenced by G3D::DDGIVolume::probeCount(), and G3D::DDGIVolume::probeCounts().
float G3D::DDGIVolumeSpecification::probeOffsetLimit = 0.5f |
int G3D::DDGIVolumeSpecification::raysPerProbe = 256 |
Number of rays emitted each frame for each probe in the scene.
This is independent of the resolution of the probes.
float G3D::DDGIVolumeSpecification::selfShadowBias = 0.3f |
Slightly bump the location of the shadow test point away from the shadow casting surface.
The shadow casting surface is the boundary for shadow, so the nearer an imprecise value is to it the more the light leaks.
This is roughly in the scale of world units, although it is applied to both normals and view vectors so acts more like 2x the magnitude.
bool G3D::DDGIVolumeSpecification::showLights = false |
int G3D::DDGIVolumeSpecification::visibilityProbeResolution = 16 |
Side length of one face of the probe in the texture map, not including a 1-pixel border on each side.
Referenced by G3D::DDGIVolume::setDepthOctSideLength(), and G3D::DDGIVolume::visibilityOctSideLength().