Support Forum       G3D Web Page     
Public Member Functions | Public Attributes | List of all members
G3D::DDGIVolumeSpecification Class Reference

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...
 

Detailed Description

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.

Constructor & Destructor Documentation

◆ DDGIVolumeSpecification() [1/3]

G3D::DDGIVolumeSpecification::DDGIVolumeSpecification ( )

Referenced by DDGIVolumeSpecification().

◆ DDGIVolumeSpecification() [2/3]

G3D::DDGIVolumeSpecification::DDGIVolumeSpecification ( const Any ,
const AABox defaultInscribedBounds,
const AABox defaultCircumscribedBounds 
)

◆ DDGIVolumeSpecification() [3/3]

G3D::DDGIVolumeSpecification::DDGIVolumeSpecification ( const Any any)
inline

Member Function Documentation

◆ toAny()

Any G3D::DDGIVolumeSpecification::toAny ( ) const

Member Data Documentation

◆ bounds

AABox G3D::DDGIVolumeSpecification::bounds = AABox(Point3(0.0f, 0.0f, 0.0f), Point3(0.0f, 0.0f, 0.0f))

Bounding box on the volume.

◆ cameraLocked

bool G3D::DDGIVolumeSpecification::cameraLocked = false

◆ depthFormatIndex

int G3D::DDGIVolumeSpecification::depthFormatIndex = 1

◆ depthSharpness

float G3D::DDGIVolumeSpecification::depthSharpness = 50.0f

Exponent for depth testing.

A high value will rapidly react to depth discontinuities, but risks exhibiting banding.

◆ detectLargeObjectMotion

bool G3D::DDGIVolumeSpecification::detectLargeObjectMotion = true

◆ enableProbeUpdate

bool G3D::DDGIVolumeSpecification::enableProbeUpdate = true

◆ enableSecondOrderGlossy

bool G3D::DDGIVolumeSpecification::enableSecondOrderGlossy = true

◆ encloseBounds

bool G3D::DDGIVolumeSpecification::encloseBounds = true

◆ glossyToMatte

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.

◆ hysteresis

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.

◆ irradianceFormatIndex

int G3D::DDGIVolumeSpecification::irradianceFormatIndex = 2

◆ irradianceGamma

float G3D::DDGIVolumeSpecification::irradianceGamma = 5.0f

We blend in post-tone map space...

◆ irradianceProbeResolution

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().

◆ probeCounts

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().

◆ probeOffsetLimit

float G3D::DDGIVolumeSpecification::probeOffsetLimit = 0.5f

◆ raysPerProbe

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.

◆ selfShadowBias

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.

◆ showLights

bool G3D::DDGIVolumeSpecification::showLights = false

◆ visibilityProbeResolution

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().


documentation generated on Wed Nov 24 2021 08:01:54 using doxygen 1.8.15