Milestone Roadmap — From Static Scene Demo to Real-Time Path Tracing
The Himalaya renderer follows a three-milestone progressive enhancement strategy, each delivering a self-contained visual quality plateau. This roadmap traces the full arc from a static scene demo with basic PBR lighting through to a real-time path-traced rendering mode comparable to commercial game engines. Every milestone has a clear "look and feel" target, a bounded feature set, and explicitly declared limitations that are resolved in subsequent milestones.
Sources: milestone-1.md, milestone-2.md, milestone-3.md
The Big Picture
Himalaya's roadmap is organized around a single architectural conviction: use offline quality to solve real-time problems. Baked Lightmaps and Reflection Probes deliver photorealistic indirect lighting at nearly zero runtime cost. Screen-space effects (GTAO, Contact Shadows, future SSR/SSGI) provide the layer of dynamic detail that baking cannot capture. Path tracing serves as both an offline baking tool and a real-time rendering mode. This layered approach means each milestone builds upon — rather than replaces — the previous one.
Vulkan Core +
Basic Pipeline] M1B[Phase 3-4
PBR + Shadows
+ Instancing] M1C[Phase 5
Screen-Space
Effects] M1D[Phase 6
RT Infrastructure
+ PT Reference] M1E[Phase 7-10
Baking + Indirect
+ Transparency + Post] M1A --> M1B --> M1C --> M1D --> M1E end subgraph "Milestone 2 — Quality Leap + Real-Time PT" M2A[Visual Upgrades
SSR, SSGI, Bruneton] M2B[Real-Time PT
ReSTIR DI + SHaRC + NRD] M2C[Hybrid RT
RT Reflections
RT Shadows] end subgraph "Milestone 3 — Dynamics + Scale" M3A[Dynamic Objects
Motion Vectors
Light Probes] M3B[Performance
Clustered Forward
Shadow Atlas] M3C[PT Upgrade
ReSTIR GI] end M1E --> M2A M1D --> M2B M1D --> M2C M2B --> M3C
Sources: requirements-and-philosophy.md, technical-decisions.md, milestone-future.md
Guiding Principles Behind the Roadmap
Each milestone's content is shaped by nine design principles documented in the project's requirements specification. The three most impactful on the roadmap are:
Progressive enhancement — every technology follows a Pass 1 → Pass 2 → Pass 3 evolution. Forward rendering goes brute-force → Tiled → Clustered. Shadows go basic Shadow Map → CSM → CSM+PCSS. GI goes ambient → baked Lightmap → SSGI. This means each milestone "locks in" a quality plateau while keeping the upgrade path open.
Performance sweet spot — technologies are chosen at the point where implementation cost is proportional to visual or performance gain. GPU-Driven Rendering, Virtual Shadow Maps, and Mesh Shaders are explicitly excluded because the project's scene scale does not justify their complexity.
Infrastructure reuse — a single investment in temporal filtering (Milestone 1 Phase 5) serves GTAO, future SSR, and SSGI. The depth PrePass serves forward rendering, all screen-space effects, and hardware occlusion queries. The RT infrastructure (Phase 6) serves the baking tool, the reference viewer, and the full real-time PT mode.
Sources: requirements-and-philosophy.md, technical-decisions.md
Milestone 1 — Static Scene Demo
Goal: A static scene with free camera movement, physically-based shading, multi-cascade shadows, screen-space ambient occlusion, baked indirect lighting, and a path-traced reference viewer. Indoor and outdoor scenes both supported.
Visual Target
Indoor scenes feature baked indirect lighting (Lightmap) with soft light bouncing through windows. Outdoor scenes have directional light shadows covering near-to-far distances (CSM), contact-hardening soft shadows (PCSS), and per-pixel contact shadows at object-ground contact points. All surfaces use Cook-Torrance PBR with split-sum IBL. A path-traced reference view with OIDN denoising provides ground-truth comparison.
Sources: milestone-1.md
Development Phases
Milestone 1 is divided into ten sequential phases, each producing a visible, verifiable result. The dependency chain ensures that no phase works on infrastructure for too long without producing something observable.
| Phase | Theme | Key Output |
|---|---|---|
| 1 | Minimum visible triangle | Vulkan context, swapchain, shader compilation — a triangle on screen |
| 2 | Basic rendering pipeline | glTF loading, bindless textures, render graph, camera, frustum culling |
| 3 | PBR lighting foundation | Cook-Torrance specular, IBL split-sum, depth PrePass, MSAA, tonemapping |
| 4 | Shadows | CSM (4 cascades, PSSM split, texel snapping), PCF, instancing, alpha-masked shadows |
| 5 | Screen-space effects | GTAO + spatial/temporal denoising, contact shadows, roughness buffer |
| 6 | RT infrastructure + PT reference | Vulkan RT extensions, BLAS/TLAS, RT pipeline, accumulation, OIDN denoising |
| 7 | PT baking tool | Lightmap baker + Reflection Probe baker (xatlas UV2, BC6H, KTX2) |
| 8 | Indirect lighting integration | Lightmap + Reflection Probe sampling in Forward pass |
| 9 | Transparency | Alpha blending, screen-space refraction |
| 10 | Post-processing chain | Auto-exposure, bloom, height fog, vignette, color grading |
Sources: m1-development-order.md
Phase Dependency Graph
Triangle] --> P2[Phase 2
Pipeline] P2 --> P3[Phase 3
PBR] P2 --> P5[Phase 5
Screen-Space] P3 --> P4[Phase 4
Shadows] P3 --> P5 P4 --> P5 P5 --> P6[Phase 6
RT + PT Ref] P6 --> P7[Phase 7
Baking] P7 --> P8[Phase 8
Indirect Light] P3 --> P9[Phase 9
Transparency] P2 --> P10[Phase 10
Post-Processing]
Sources: m1-development-order.md
Current Status (Phase 6 In Progress)
Phase 6 is the current active phase, implementing the RT infrastructure and path-traced reference viewer. It consists of 13 steps, with Steps 1–10 completed (115 tasks done, 42 remaining). The remaining work covers advanced PT sampling techniques:
| Step | Topic | Status |
|---|---|---|
| 1–5 | RT extensions, AS abstraction, RT pipeline, RHI/framework infrastructure, Scene AS Builder | ✅ Complete |
| 6a–6b | pt_common.glsl + RT shader files | ✅ Complete |
| 7 | Reference View Pass + accumulation | ✅ Complete |
| 8 | Independent render path + mode switching | ✅ Complete |
| 9 | OIDN integration (async denoising) | ✅ Complete |
| 10 | ImGui PT panel | ✅ Complete |
| 11 | Environment Map Importance Sampling | 🔲 Remaining |
| 12a | EmissiveLightBuilder + infrastructure | 🔲 Remaining |
| 12b | Shader NEE Emissive + MIS | 🔲 Remaining |
| 13 | Texture LOD (Ray Cones) | 🔲 Remaining |
Sources: m1-phase6.md, current-phase.md
Known Limitations
Milestone 1 intentionally scopes out several visual features. Each limitation has a clear resolution milestone:
| Limitation | Root Cause | Resolution |
|---|---|---|
| No precise reflections | Reflection Probes are approximate | M2 (SSR) → M2 (RT Reflections) |
| Uniform shadow softness | PCF kernel width is fixed | M1 Phase 4 delivered PCSS — upgraded early |
| No dynamic indirect light | Only baked Lightmap color bleeding | M2 (SSGI) |
| Static sky | HDR Cubemap, no day/night cycle | M2 (Bruneton atmospheric scattering) |
| No volumetric lighting | No light shafts or fog scattering | M2 (God Rays) → M3 (Froxel Fog) |
| MSAA only | No temporal anti-aliasing | M2 (FSR/DLSS SDK) |
| Single directional light | Limited shadow map infrastructure | M2 (multi-light CSM) |
| No dynamic light shadows | Only sun has shadow casting | M3 (point/spot light shadows) |
Sources: milestone-1.md
Milestone 2 — Quality Leap + Real-Time Path Tracing
Goal: On top of M1's foundation, capture all low-hanging visual fruit and introduce a real-time path-traced rendering mode. The rasterized mode should achieve a quality level noticeably superior to M1, while the PT mode targets visual fidelity comparable to DOOM: The Dark Ages path-traced mode.
Visual Target
The rasterized mode gains: dynamic sky with day/night cycle (Bruneton atmospheric scattering replacing static Cubemap), physically correct aerial perspective (replacing height fog), screen-space reflections and indirect lighting, and FSR/DLSS upscaling with temporal stability. The PT mode provides real-time path tracing with reservoir-based spatiotemporal resampling.
Sources: milestone-2.md
Feature Breakdown by Effort
| Category | Feature | Purpose |
|---|---|---|
| Trivial | Burley Diffuse | Replace Lambert; better grazing angle appearance |
| Trivial | Film Grain | Mask banding, add texture |
| Trivial | Chromatic Aberration | Lens character |
| Low | SSR | Screen-space reflection for smooth surfaces |
| Low | Tiled Forward | 2D tile-based light culling |
| Low | FSR SDK | Unified upscaling interface |
| Medium | SSGI | Screen-space indirect lighting, shares ray march with SSR |
| Medium | Bruneton Atmosphere | Dynamic sky + aerial perspective |
| Medium | POM | Parallax-occlusion mapping for surface depth |
| Medium | Gaussian DOF | Depth-based blur |
| Medium | DLSS SDK | NVIDIA-specific upscaling (second backend) |
Sources: milestone-2.md
Real-Time Path Tracing Mode
The PT mode builds directly on M1's RT infrastructure (acceleration structures, RT pipeline abstraction, scene AS builder). Three key algorithms bring real-time path tracing to fruition:
| Component | Algorithm | Role |
|---|---|---|
| Direct lighting | ReSTIR DI | Reservoir-based spatiotemporal resampling for efficient direct light sampling at million-light scales |
| Indirect lighting | SHaRC | Spatial Hash Radiance Cache — early path termination via radiance cache lookup |
| Denoising | NRD | Intel's Real-time Denoiser (ReBLUR for indirect, ReLAX for ReSTIR signals, SIGMA for shadows) |
Sources: milestone-2.md, technical-decisions.md
Hybrid RT Effects
In rasterized mode, RT selectively replaces only the techniques where rasterization has the most visible artifacts:
| Effect | Replaces | Why RT is worth it here |
|---|---|---|
| RT Reflections | SSR + Reflection Probes | SSR loses screen-edge information; Probes are low-frequency approximations — this is rasterization's biggest visual gap |
| RT Shadows | CSM / PCSS | Shadow map resolution aliasing, cascade boundary transitions, missing shadows for distant objects |
Sources: milestone-2.md
Milestone 3 — Dynamic Objects + Scale + PT Upgrade
Goal: Support dynamic objects (non-character), fill remaining visual gaps, provide performance tooling for larger scenes, and upgrade PT indirect light quality.
Milestone 3's three directions can be prioritized flexibly based on demo needs: showing dynamic objects, larger scenes, or indoor lighting atmosphere. This adaptability is intentional — the milestone delivers a toolkit rather than a fixed sequence.
Sources: milestone-3.md
Feature Matrix
| Category | Feature | Impact |
|---|---|---|
| Visual Quality | Point/spot light shadows + caching | Indoor lamps finally cast shadows |
| Visual Quality | Froxel Volumetric Fog | Replaces screen-space God Rays — true volumetric light shafts and morning fog |
| Visual Quality | Multiscatter GGX | Energy-conserving specular for high-roughness metals |
| Visual Quality | Khronos PBR Neutral tonemapping | What You See Is What You Get — minimal tonemapping distortion of material appearance |
| Dynamic Objects | Light Probes | Dynamic objects receive indirect light from baked Lightmap data |
| Dynamic Objects | Per-object motion vectors | All temporal effects (DLSS, FSR, motion blur) work correctly with moving objects |
| Performance | Clustered Forward | 3D depth-sliced light culling — performance guarantee at scale |
| Performance | Hardware Occlusion Query | Conservative two-pass strategy — zero false negatives |
| Performance | Discrete LOD + dithering | Far objects reduce polygon count; large scene performance guarantee |
| PT Upgrade | ReSTIR GI replaces SHaRC | Pixel-level path resampling for indirect light — near Cyberpunk 2077 RT Overdrive quality |
Sources: milestone-3.md
Path Tracing Evolution Across Milestones
The PT rendering capability follows its own progressive enhancement arc, spanning all three milestones and beyond:
Lightmap + Probes] PT2[PT Reference View
Accumulation + OIDN] PT1 --- PT2 end subgraph "Milestone 2" PT3[Real-Time PT
ReSTIR DI + SHaRC + NRD] PT4[Hybrid RT Effects
RT Reflections + RT Shadows] PT3 --- PT4 end subgraph "Milestone 3" PT5[ReSTIR GI
Pixel-level Indirect] end subgraph "Future" PT6[NRC + DLSS RR
Neural Rendering] PT7[ReSTIR PT
Unified Path Resampling] PT6 --- PT7 end PT2 -->|RT Infrastructure| PT3 PT3 -->|ReSTIR Family| PT5 PT5 --> PT6
| Evolution | Algorithm | Milestone | Quality Target |
|---|---|---|---|
| Pass 1 | GPU PT Baker + Reference View (NEE + MIS + Russian Roulette) | M1 | Offline quality, progressive convergence |
| Pass 2 | Real-Time PT (ReSTIR DI + SHaRC + NRD) + Hybrid RT | M2 | ≈ DOOM: The Dark Ages PT mode |
| Pass 3 | ReSTIR GI replaces SHaRC | M3 | ≈ Cyberpunk 2077 RT Overdrive |
| Pass 4 | Neural rendering (NRC + DLSS Ray Reconstruction + ReSTIR PT) | Future | State of the art |
Sources: technical-decisions.md, milestone-future.md
Technology Replacement Chains
Several technologies are explicitly designed to be replaced, not accumulated. This keeps the rendering stack lean and avoids maintaining redundant systems:
| From | To | Trigger Milestone |
|---|---|---|
| Lambert diffuse | Burley Diffuse | M2 |
| Static HDR Cubemap sky | Bruneton atmospheric scattering | M2 |
| Height fog | Bruneton aerial perspective | M2 |
| SSR + Reflection Probes | RT Reflections (hybrid mode) | M2 |
| CSM / PCSS | RT Shadows (hybrid mode) | M2 |
| Screen-Space God Rays | Froxel Volumetric Fog | M3 |
| SHaRC indirect cache | ReSTIR GI | M3 |
| ACES tonemapping | Khronos PBR Neutral | M3 |
| Tiled Forward | Clustered Forward | M3 |
| Gaussian DOF | Bokeh DOF (optional) | Future |
| 2D cloud layer | Volumetric clouds | Future |
Sources: requirements-and-philosophy.md, technical-decisions.md
What Is Explicitly Excluded
Not every rendering technology fits the project's design constraints. The following are documented as "will not implement" with clear reasoning:
| Technology | Exclusion Reason |
|---|---|
| GPU-Driven Rendering | Complexity diffuses across the entire architecture; Vulkan multi-threaded command buffers handle thousands of draw calls adequately |
| Mesh Shader | No mobile support; without GPU-Driven, limited benefit |
| HLOD | High offline toolchain cost; scene scale doesn't demand it |
| Nanite-style virtual geometry | Unrealistic for a solo project built from scratch |
| Virtual Shadow Maps | Extreme implementation complexity (virtual texture system + page management + GPU-driven culling); CSM is sufficient |
| Visibility Buffer | Limited public documentation; doesn't meet the "rich reference material" constraint for AI-assisted development |
Sources: milestone-future.md
Future Horizons
Beyond M3, the roadmap records technologies with explicit trigger conditions — they are not scheduled but are documented so architectural decisions today don't close doors:
- Neural rendering (NRC, DLSS Ray Reconstruction, Cooperative Vectors) — depends on Tensor Core availability and cross-vendor standardization
- ReSTIR PT — unifies ReSTIR DI + ReSTIR GI under the GRIS framework for full light transport path resampling
- Irradiance Probes + SDF GI — conditional on SDF infrastructure existing; marginal benefit over Lightmap + SSGI unless the scene has dynamic changes in off-screen areas
- HDR output — requires dual tonemapping parameters, UI brightness handling, and calibration interface
- Water rendering — most needs already covered by existing infrastructure (SSR, refraction, PBR Fresnel)
Sources: milestone-future.md
Key Infrastructure That Bridges Milestones
Several foundational systems are built once in M1 and serve multiple milestones:
| Infrastructure | Built In | Serves |
|---|---|---|
| Temporal filtering (RG temporal double buffer + per-frame Set 2 + compute push descriptors) | M1 Phase 5 | GTAO, SSR, SSGI, DLSS/FSR |
| Depth PrePass (depth + normal + roughness) | M1 Phase 3 | Forward Z-fill, all screen-space effects, hardware OQ |
| RT stack (BLAS/TLAS, RT Pipeline, pt_common.glsl) | M1 Phase 6 | PT reference view, baking tool, real-time PT, hybrid RT |
| BRDF Integration LUT generation | M1 Phase 3 | IBL split-sum, multiscatter GGX (M3) |
| Bindless texture architecture | M1 Phase 2 | All shader stages including RT closest-hit/anyhit |
| Render Graph barrier system | M1 Phase 2 | All passes, all modes (rasterization / PT / baking) |
Sources: m1-development-order.md, m1-design-decisions-core.md
Next reading: For the design philosophy driving these milestone boundaries, see Design Principles — Tradeoffs, Progressive Enhancement, and Sweet-Spot Engineering. For the detailed technical decisions underlying each feature, see the corresponding layer deep-dive pages in the catalog.