IndirectLightVolumeclass
Dynamic Diffuse Global Illumination volume that provides indirect lighting using a 3D probe grid. Probes store irradiance and distance data in volume textures that can be sampled by shaders.
Constructors1
Showing 1 constructors
public IndirectLightVolume()
No results match this filter.
Methods6
Showing 6 methods
public static System.Threading.Tasks.Task BakeAll()
Task—public System.Threading.Tasks.Task BakeProbes(System.Threading.CancellationToken ct = null)
Starts the probe baking process to capture lighting into the volume textures.
| Parameter | Type | Description |
|---|---|---|
| ct = null | CancellationToken | — |
Task—public void BakeProbesUnavailableMessage()
Explains why baking is unavailable until the scene has been saved.
void—public void ClearProbeRelocation()
Clears all probe relocation offsets.
void—public void ComputeProbeRelocation()
Computes probe relocation offsets for all probes in the volume. Uses iterative refinement with mesh tracing. All computations are relative to probe spacing for resolution-independent behavior.
void—public void ExtendToSceneBounds()
Automatically sizes the volume to encompass all scene geometry.
void—No results match this filter.
Properties17
Showing 17 properties
public int Sandbox.IndirectLightVolume.BakeVersion { get; set; }
Encoding of the saved probe data. Missing versions use legacy visibility; version 1 stores normalized mean distance and standard deviation.
int—public float Sandbox.IndirectLightVolume.BlendDistance { get; set; }
Distance in world units over which the volume fades outward from its bounds. Remaining influence passes to overlapping volumes in the existing volume order.
float—public BBox Sandbox.IndirectLightVolume.Bounds { get; set; }
Local-space bounding box that defines the volume coverage area.
public virtual int Sandbox.IndirectLightVolume.ComponentVersion { get; set; }
Versions serialized probe settings while preserving existing scenes.
int—public Sandbox.Texture Sandbox.IndirectLightVolume.DistanceTexture { get; set; }
Volume texture storing probe distance/visibility data.
public Sandbox.IndirectLightVolume.InsideGeometryBehavior Sandbox.IndirectLightVolume.InsideGeometry { get; set; }
How to handle probes detected inside geometry.
public Sandbox.Texture Sandbox.IndirectLightVolume.IrradianceTexture { get; set; }
Volume texture storing probe irradiance data (color).
public float Sandbox.IndirectLightVolume.NormalBias { get; set; }
World-space bias along surface normals to prevent self-occlusion artifacts.
float—public Vector3Int Sandbox.IndirectLightVolume.ProbeCounts { get; set; }
Calculated probe count along each axis based on bounds and density.
public int Sandbox.IndirectLightVolume.ProbeDensity { get; set; }
Number of probe intervals per 1024 local units. Higher values increase probe resolution.
int—public Sandbox.Texture Sandbox.IndirectLightVolume.RelocationTexture { get; set; }
Volume texture storing probe relocation offsets (XYZ = offset, W = active).
public Sandbox.TagSet Sandbox.IndirectLightVolume.RenderExcludeTags { get; set; }
Objects with any of these tags will be excluded when baking probes for this volume.
public float Sandbox.IndirectLightVolume.RuntimeContrast { get; set; }
Adjusts sampled indirect lighting around 0.18 in linear light. One is unchanged. Applies immediately without rebaking and is excluded from probe captures.
float—public float Sandbox.IndirectLightVolume.RuntimeIntensity { get; set; }
Multiplies sampled indirect lighting without changing the baked textures.
float—public float Sandbox.IndirectLightVolume.RuntimeSaturation { get; set; }
Adjusts the color of sampled indirect lighting. Zero is grayscale; one is unchanged. Applies immediately without rebaking and is excluded from probe captures.
float—public Color Sandbox.IndirectLightVolume.RuntimeTint { get; set; }
Multiplies sampled indirect lighting by an RGB tint. Alpha is ignored.
public float Sandbox.IndirectLightVolume.ViewBias { get; set; }
World-space bias toward the viewing position to reduce self-occlusion at corners in new bakes.
float—No results match this filter.