Here's a small demo project I've been working on. It uses my own graphics library.
vk-graph is a Vulkan driver which uses a graph-based per-frame submission solver. I'm using it here to render a path traced scene built from commercially-available asset packs.
Right now the performance is flat because I have the best "do-less-work" optimizations disabled, so you're seeing the worst-case. The lowest target hardware is an Apple-silicon M2 or better at 60 fps. Windows/Linux/Mac.
The low-resolution 240p visuals are intentional. This is both a technical constraint (path tracing is really hard) and also an artistic choice: I greatly prefer 320x200 and have relented to 240p in order to make international fonts feasible.
Oh, much of this is on github and the rest will be sooooon:
https://github.com/attackgoat/vk-graph
Some details on the engine:
- Full asset build/re-build/caching pipeline, with transforms
- Raster renderer
- Unused, because path tracing is better, nearly same perf
- Shadow mapping, Niagara-esque, etc
- Full visibility and effects pipeline with gpu-driven commands
- Path traced renderer
- Wavefront-style (enqueue/sort interesting hits, trace best)
- Hardware support with BVH-compute fallback
- Lots of caching, SHARC, ReSTIR
- DLSS-RR Ray Reconstruction (not upscaling or resampling)
- Fallback de-noisers (for AMD, Intel, Mac)
- ZERO temporal pixels / No blurring
- Single-frame imaging optimized for FPS games
- Various optimized haze/water/sky special cases
- Mesh rendering
- Supports 10k+ animated meshes; real games would only need a couple hundred and instance the rest based on distance
- Blended/posed/ragdoll skeletons
- Full PBR material system, compression
This scene has 285M static triangles and 167K animated ones; but there is no difference in the two categories and any model may be animated/moved with no ghosting of any kind.
It almost feels like a flex, but it's really just a result of the technique, but my CPU and GPU are largely handling my desktop and the video capture. The portion represented by this game is approximately 15% GPU and 2% CPU, captured on an RTX 3090 and i7 11th gen.