VulkanSceneRenderer is a C++23 Vulkan renderer for real-time scene rendering, glTF, BIM, and USD content, physically based materials, shadows, GPU culling, and debug visualization.
The CMake project and build targets use VulkanSceneRenderer. The public
include root remains include/Container, and the source namespace remains
container::, to avoid a broad source-level API rename.
Windows release:
cmake --preset windows-release
cmake --build out/build/windows-release --target VulkanSceneRenderer --config ReleaseRun tests:
ctest --test-dir out/build/windows-release --output-on-failureRun with a BIM sidecar model:
$bim = "models\buildingSMART-IFC5-development\examples\Hello Wall\hello-wall.ifcx"
.\out\build\windows-release\VulkanSceneRenderer.exe --bim-model $bimThe sidecar path also accepts USD, USDA, USDC, and USDZ mesh files through the TinyUSDZ-backed importer:
$usd = "models\my_ascii_mesh.usda"
.\out\build\windows-release\VulkanSceneRenderer.exe --bim-model $usdDownload the OpenUSD sample models with CMake:
cmake --build out/build/windows-release --target download_usd_models --config Release- Project overview - features, repository layout, and asset organization.
- Architecture - runtime ownership, frame flow, and subsystem boundaries.
- Build and test - requirements, presets, build commands, helper scripts, and known test status.
- Development guide - renderer conventions, shader/C++ layout contracts, and commenting guidance.
- MSAA - deferred raster multisampling configuration, render-pass resolves, and render graph boundaries.
- Renderer telemetry - live frame timing, GPU query backends, render graph metrics, and validation commands.
- Coordinate conventions - source of truth for coordinate systems, reverse-Z depth, viewports, culling, and matrix rules.
- Lighting system plan - lighting, shadows, tiled culling, GTAO, GPU-driven rendering, and bloom rationale.
- Refactoring plan - ownership boundaries, dependency cleanup, and render graph direction.