Lumen-3D icon indicating copy to clipboard operation
Lumen-3D copied to clipboard

A 3D Toy Graphics Engine/Framework

Lumen Engine

(For the record, I came up with this name much much before Unreal did :P)

An Unfinished TOY ENGINE. This project is mostly used as a testing ground to experiment with and learn various graphics techniques.

Current Feature List

  • Model Loading
  • Voxelization (with support for cascades)
  • Indirect Multibounce Diffuse Lighting (Voxel Raytracing + Screenspace RTGI/SSGI)
  • Indirect Specular/Reflections (Voxel Raytracing + (parallax correct) Cubemap/Screenspace reflections)
  • Support for checkerboard rendering (Heavily used for indirect lighting and other raytraced effects)
  • Temporal filtering/supersampling
  • SVGF For Indirect Diffuse and specialized denoising filter for indirect specular lighting
  • Cook torrance BRDF for direct lighting
  • Shadowmapping (with PCF filtering)
  • TAA + TAA-Upscaling
  • FXAA 3.11
  • Volumetric Fog (Crepuscular rays + exponential fog)
  • Post Processing pipeline (Bokeh DOF, Bloom, Chromatic Aberration, Contrast Adaptive Sharpening, Film Grain)
  • Skybox/Environment Map Support

Known issues

  • Shadow mapping iffy at steep-ish sun angles
  • Noise on aggressive movement or disocclusions

Planned

  • Physically based sky rendering (with volumetric clouds)
  • Cascaded shadow maps with PCSS filtering

Special Thanks

License

  • MIT (See LICENSE)

Notice

This project is purely educational. I own none of the assets. All the rights go to their respective owners.

Screenshots

s1

s2

s3

s4

s5

s6

Supporting

If you'd like to support this project, consider starring it. Thanks!