Blog

Game Engine Progress: Lurking in the Shadows ยป posted Mon 22 Jun 2020 12:57:44 PM EDT

More engine development stuff! This month has been a bit slow in terms of new features, as I've been busy trying to figure out what the h*ck to do for the fall semester. Alas... The most notable addition is dynamic shadow and reflection maps, done using a texture atlas cache sort of thing similar to Doom 2016. Otherwise, I've spent time doing desperately needed housekeeping and bug fixes, and some small quality of life improvements.

Without further ado, here's some pictures:

Money shot

Multiple point lights with their own shadow cube maps. Note that the shadow maps are unfiltered, resulting in rough jagged edges farther away from the light, I still need to implement PCF to fix that.

Closer

Atlases

3 points lights and a reflection probe

Pictured above is sponza with 3 point lights visible (there's 5 in the scene), all casting shadows. Looking at the atlas textures:

Shadow atlas (depth maps)
Reflection atlas for the scene (there's only one probe)

While these are all rendered at the same size, the atlas is managed with a quadtree that can handle power-of-two sizes up to size/2, so that allows the possibility of doing LOD'ing of shadows and reflections, and cascading shadow maps.

Fin.

So yup, that's all for now, stay tuned for more stuff in the future. I'll probably take a break from engine development for a bit and revisit language development again, so it may be a while before I add new stuff to the engine.