Wenn Sie ein statisches (nicht bewegtes) Licht in einem Spiel haben, haben Sie zwei Möglichkeiten, dieses Licht zu rendern. Sie könnten es wie ein dynamisches Licht rendern. Das heißt, führen Sie es durch die Shader-Pipeline, die seine Auswirkung auf alles um es herum, jedes Bild, auf dem Weg zum Bildschirm berechnet. Das ist natürlich ziemlich teuer. Oder ein Redakteur kann das Licht in die Szene einbrennen.
Was ich immer über Backen nachgedacht habe, war vielleicht eine einfachere Version: Im Grunde genommen nimmt der Editor nur die Texturen von allem, was das Licht umgibt, und berechnet die Wirkung des Lichts auf diese Texturen (hellt sie auf, färbt sie vielleicht, Schatten usw.). und speichert sie als zu verwendende Ersatztexturen. So sehen alle Texturen um das "Licht" so aus, als wären sie beleuchtet, aber zur Laufzeit gibt es vom Standpunkt der Berechnung aus eigentlich kein Licht. es ist im Wesentlichen eine optische Täuschung.
Die Einheit scheint jedoch eine Lichtkarte zu erzeugen . Dies ähnelt der obigen Vorstellung, aber die Backbeleuchtung wird separat beibehalten, anstatt die zugrunde liegende Textur zu ändern, und ich gehe davon aus, dass ein Shader die beiden zur Laufzeit zusammenführt. Dies hätte den Vorteil, dass der Vorteil gekachelter Texturen (dh geringer Speicherverbrauch) erhalten bleibt, da das Licht nicht direkt in sie eingebrannt würde und sie gekachelt bleiben könnten, und der Shader wäre sehr leicht, insbesondere im Vergleich zur Behandlung der Leicht wie dynamisch.
Ein Licht muss offensichtlich statisch sein, damit dies funktioniert. Das heißt, Sie können es während des Spiels nicht bewegen, da das Licht in die Texturen eingebrannt wurde. Dynamische Objekte im Raum (wie der Spielercharakter) werden nicht beleuchtet, daher muss es eine Ausnahme geben, bei der das Licht für dynamische Objekte gerendert wird, jedoch nicht (erneut) gerendert wird die statische Kulisse.