Real-time, IBL and PBR

I’m close to committing myself to real-time lighting + shadows for the Awareon project. Using IBL (image-based lighting = cubemaps) for ambient lighting has been the breakthrough I needed.

Real-time lighting feels great. It’s more interactive, more playful.

There’s a tradeoff though. Soft-lit bounced lighting would be more visually ideal. So I’ve been trying lightmaps here and there for months., but I haven’t managed results I’d be happy with. Unity’s directional-lightmaps don’t interact well with dynamic shadows. Dual-lightmaps are the other choice, but they tend to wash out normal-mapping and I’d still need real-time lights at close range, so performance isn’t much better.

What tips the balance to real-time for me? Productivity.

Lightmaps take a long time to generate. If I code for switchable lightmap atlases at runtime, it would be even more time-consuming and complex to manage. Plus ~ouch~ overlapping lightmaps would be a big hit on memory + storage. It’s so much faster to skip all that and have lights just “work”.

I may have to raise minimum specs. My test box takes a big hit on framerate (testing AMD 6670 and Nvidia GT 240, intentionally low-spec). Reducing shadow quality alleviates performance problems somewhat, but that’s another compromise.

It will feel nice to stop fiddling with the lightmaps and liberate myself with lighting during development. I may try lightmapping again later, but realistically when would I have the time?