Wie kann ich eine schnelle Beleuchtung mit mehreren Lichtern implementieren?
Ich möchte den Spieler nicht zurückhalten, er kann eine unbegrenzte Anzahl und möglicherweise überlappende (Punkt-) Lichter in das Level setzen.
Das Problem ist, dass Shader, die dynamische Schleifen enthalten, die zur Berechnung der Beleuchtung erforderlich wären, sehr langsam sind.
Ich hatte die Idee, wenn es zur Kompilierungszeit möglich sein könnte, einen Shader n-mal zu kompilieren, wobei n die Anzahl der Lichter ist. Wenn die Nummer n zur Kompilierungszeit bekannt ist, können die Schleifen automatisch abgewickelt werden. Ist es möglich, n Versionen desselben Shaders mit nur einer unterschiedlichen Anzahl von Lichtern zu generieren?
Zur Laufzeit konnte ich dann entscheiden, welcher Shader für welchen Teil des Levels verwendet werden soll.