The problem I face is that I do not know how I should light my level. I create basically everything dynamically at runtime with procedural generated meshes.
As you can see here, I have a room of a space station that I generated and the lights on the wall are dynamic lights that are spawned at runtime.
The nice thing about this is that it looks nice and I can adjust the lights one by one as it suits me. For example, if I wanted to simulate an outage, I can just disable the lights in the room.
But I did not realize HOW MUCH performance a dynamic light costs… just having as many lights as there are in the screenshot makes the game unplayable.
What could I do instead?
I tried using a stationary skylight and it illuminates the room alright, but it does not look as nice anymore and I can not adjust it during gameplay.
Is there anything else that I can do?
I thought about placing a lot of stationary point-lights all over the level and at runtime only turn on those that are inside a room. But that would probably look weird and would require hundreds of lights distributed in the level…