OptionalrequireOptionalddgiOpt into the DDGI output stage: VXGI still builds the voxel grid, but instead
of its per-pixel cone trace the indirect is resolved from an irradiance-probe
volume that traces that grid (smoother, cheaper per pixel, less leaky). true
for defaults, or a DDGISettings subset to size the probe volume.
NOTE: VXGI's cone+blur still run (their result is unused) — decoupled by
design; a future grid-only flag on VXGIPass can skip them.
OptionalinstancedInstanced static-mesh batches to voxelize in addition to frame.opaque — the
editor renders large levels as instanced-skinned (identity joints), which the
mesh-draw voxelizer doesn't see. Supply the same batches the
SkinnedGeometryFeature renders so the level gets bounce lighting.
OptionalresolutionVoxels per axis (cube). Anisotropic VXGI keeps 6 directional grids + a 24-u32/voxel atomic accumulator, so memory grows fast — 64 is a good default, 96 the practical ceiling.
OptionalcenterWorld-space center of the voxel grid box.
OptionalhalfHalf-extent of the grid box on each axis (spans center ± halfSize).
OptionalstrengthOverall multiplier on the cone-traced indirect diffuse (frame.ssgi).
OptionalinjectMultiplier applied to injected radiance before voxelization.
OptionalbounceMulti-bounce feedback strength (Godot VoxelGI "propagation"). Each frame the
voxelizer re-gathers last frame's grid and re-injects albedo·indirect·this,
so light bounces multiple times (converges over a few frames). 0 = single
bounce only. ~1 ≈ Godot's default propagation.
OptionalemissiveMultiplier on injected emissive radiance (Godot VoxelGI "emission energy"). Material emissive is already HDR; raise this to make glowing surfaces light the room more strongly via GI. 1 = material value, 0 = ignore emissive.
OptionaltemporalWorld-space temporal blend weight for the new frame's radiance, 0..1. Lower = smoother + more stable but laggier; 1 = no temporal history.
OptionalblurEdge-aware blur of the GI buffer to smooth voxel blockiness. Default true.
OptionalaoAmbient-occlusion contrast from cone occlusion, 0..1. Darkens indirect in enclosed corners/crevices so the room isn't a flat uniform fill.
OptionalrevoxelizeWhen to re-run the expensive voxelize→resolve→mip stage:
'always' — every frame (fully dynamic geometry/lighting).'auto' (default) — only when the voxelization inputs (geometry transforms,
materials, lights, bounds, strengths) change; otherwise the cached grid is
reused and only the per-pixel cone trace runs. Static scenes voxelize once
then idle, a big win when nothing the GI depends on is moving (the camera
can still move — the cone trace re-runs every frame). Animated skinned
characters aren't voxelized, so they don't force a re-voxelize.
When true, the feature only produces GI if the scene contains an enabled VoxelGiVolume (Godot-VoxelGI-node behavior) — otherwise it's inert. The editor sets this so VXGI activates only when a volume is authored.