Lum Engine
Lum is really fast and simple voxel renderer for very specific use-case. It achives it by limiting itself to a small scope - isometric limited view blocky(grid-aligned) games with some (non-grid-aligned) meshes (and some few visual features that i like in games)
You should only use Lum if you want renderer that looks exactly like Lum (i will add features and fix bugs on request (or when i encounter them myself), but dont expect me to make Lum something very different)
Currently written in Rust with Vulkan (ash) and WGPU (used for web, as you can see above)
A lot of expected things (like perfomance profiles with extra visual features or transparency) are missing but planned
The following is mostly describing what Lum has to offer as a renderer, you can read more on implementation here:
Features
Lighting
Lum divides lighting into several frequences, computed via different methods and then combined
- Radiance probes
- Per-block lighting. Raytraced in voxel-space and accumulated spatially & temporally
- Lightmaps
- Sunlight lightmaps for blocks and models
- Ambient occlusion
- Screen-space HBAO
- Reflections
- "Glossy" raytraced voxel-space reflections
Visaul features
- Foliage
- GPU-driven block-bound procedural foliage.
- Liquids
- Cascaded wave-simulation
- Volumetrics
- Screen-space thickness-based & Lambert law