Vulkan Schnee 0.0.1 (22840dc8)
High-performance rendering engine
Loading...
Searching...
No Matches
Renderer

The Vulkan Schnee renderer targets desktop VR and desktop mirror output. Per frame, the renderer runs a sequence of GPU passes: compute passes cull and prepare draw commands on the GPU, then a graphics pass draws into the eye render targets, and the result is tonemapped and presented to the headset and the mirror window.

Render Passes

The graph shows the per-frame pass order. Compute passes write visibility and draw data to shared buffers; the graphics passes consume that data. Optional passes (shaded gray) run only when their feature is enabled.

Pass Order

The passes run in a fixed order each frame:

  1. CPU frame update uploads view-projection matrices, frustum planes, per-object data, and LOD configuration, then resets the visibility and pipeline counters.
  2. Sun shadow pass culls shadow casters against the cascade volumes and records the shadow map draws. It reuses the visibility buffers and clears them before camera culling.
  3. Primitive culling tests active primitives against the stereo frustum and routes survivors to the mesh-shader, vertex-shader, or LOD paths.
  4. Parallel LOD selection (optional) selects visible LOD clusters for primitives with cluster LOD data.
  5. Meshlet binning allocator groups survivors into per-pipeline bins.
  6. Meshlet unpacking expands the allocations into visible meshlet records; its dispatch size is GPU-driven.
  7. Prepare draw converts per-pipeline counts into indirect draw commands for the mesh shader.
  8. VS instanced drawing bins single-meshlet geometry and prepares instanced vertex-shader draws.
  9. Particle compute (optional) emits, simulates, and prepares wind-trail particle draws.
  10. Main graphics pass records the mesh-shader and vertex-shader draws into the eye render targets.
  11. Tonemap converts the render targets to the swapchain image.
  12. Present submits the frame to the headset compositor and the desktop mirror window.

Detailed Documentation

The pass internals are documented per topic:

Architecture Split

The renderer separates CPU-side orchestration from GPU-side execution. CPU objects own the per-frame state, buffers, and synchronization; the GPU runs the visibility and draw passes. The same render results feed the headset swapchain and the optional desktop mirror output.