Expand description
Shadow lanes for [ShadowAgent].
Per the SAA lane model, each lane in this module is a distinct quality strategy, all implementing the same shadow domain:
StandardShadowsLane— full quality (2048² atlas + 512² cube)MediumShadowsLane— same algorithm, half resolution (1024² + 256²)LowResShadowsLane— same algorithm, quarter resolution (512² + 128²)
All produce identical output types (ShadowGpuBindings +
ShadowEntries); lit consumer lanes never need to know which one
ran. The agent picks one per frame via apply_budget.
Shared infrastructure (atlas creation, pass recording, draw-cmd
building) lives in algo as free functions that take dimensions
as parameters — never as a config struct injected by the agent.
Modules§
- algo
- Shadow rendering algorithm — free functions shared by every quality
tier (
StandardShadowsLane,LowResShadowsLane, future variants).
Structs§
- LowRes
Shadows Lane - Low-resolution shadows: 512² × 4-layer 2D atlas + 128² × 4-cube cube
atlas. Same algorithm and output types as
super::StandardShadowsLane; just lower-resolution textures — VRAM ≈ 1.5 + 0.25 MiB instead of 64 + 24 MiB. - Medium
Shadows Lane - Medium-resolution shadows: 1024² × 4-layer 2D atlas + 256² × 4-cube
cube atlas. Same algorithm and output types as
super::StandardShadowsLane; half the per-side resolution — VRAM ≈ 16 + 6 MiB instead of 64 + 24 MiB. - Standard
Shadows Lane - Full-quality shadows: 2048² × 4-layer 2D atlas + 512² × 4-cube cube
atlas. Drives the canonical CSM / spot perspective / 6-pass point
pipeline; publishes a [
khora_data::render::ShadowGpuBindings] bundle plus per-light entries into the per-frame lane context.
Constants§
- LOW_
RES_ STRATEGY_ NAME - Stable strategy name advertised to the agent / GORNA.
- MEDIUM_
STRATEGY_ NAME - Stable strategy name advertised to the agent / GORNA.
- STANDARD_
STRATEGY_ NAME - Stable strategy name advertised to the agent / GORNA.