Download

VR need performance which means lightmaps. We need a way to swap out lightmaps.

Back in the Quake 1,2,3 days the engine would generate multiple lightmaps for surfaces a light affected. That way you could toggle certain lights on and off and even adjust their brightness even though they were “static”.

I have a project that could really use the ability to save two sets of lightmaps and switch between the two but also can’t use stationary lighting due to rendering speed requirements of VR.

Given that we can see the lightmaps generated by lightmass in the world it seems like it should be too big of a deal to generate a set of lightmaps, then save them, then generate another set and be able to swap them out.

Any idea how much effort would be involved doing something like this?

Incidentally, as lightmaps have four channels then a single lightmap pixel can support up to four stationary lights affecting it. So they pretty much do exactly what you are saying and this enables you to manipulate a stationary lights intensity and colour during runtime without switching out or blending the texture which would add extra overhead. I can see that you can run into performance problems with stationary lights, most of their cost comes from calculating the “dynamic” component for them: specular highlight and dynamic shadows for dynamic objects if you use them. Idk maybe it is possible to make the stationary lights cheaper in that regard that they only affect the diffuse component of materials but that is getting away from the physically plausible lighting model, which is something I personally am not willing to sacrifice as its positives heavily outweigh the negatives. I can see how this might be of use though in certain situations and more performance limited platforms like Gear VR, though like I said, I’d try to find the milliseconds in some other place first.

*This comes form working with dk2, things might change drastically with higher resolution and higher required framerate.

Any luck with this? We would love to be able to swap out lightmaps too.

This isn’t what you are asking for at all, but worth checking out (blending between skylight cubemaps):

Might be useful for changing from sunny to overcast, etc.

https://github.com/AlanIWBFT/UnrealEngine

Looks good, but not a good idea apparently.