AW: Textur backen: Wozu?
Aber konnt ihr mir bitte noch mit einfachen Wort erklären was genau "Textur Backen" heisst? Das klingt doof von mir aber ich fürchte ich habe den Sinn des Wortes immer noch nicht verstanden.
"Fixieren" war schon ganz gut als Anfang. Du hälst dabei als eine Möglichkeit Licht und Schatten fest, gebacken wird immer auf eine Bitmap.
Stell Dir vor, Du willst 5 Minuten durch ein Gebäude fahren das komplett mit GI ausgeleuchtet werden soll. Jetzt dauert das Rendern aber 20 Minuten/Frame, Dein Rechner bedankt sich und verabschiedet sich beim Gedanken an über 100 Tage Renderzeit.
Stell Dir weiterhin vor, Du kannst das enorm verkürzen, indem Du alle möglichen Licht- und Schatteneffekte direkt auf eine Bitmap nagelst, nicht nur die ursprüngliche Farbinformation. Dazu "bäckst" Du alle Effekte auf eine Leuchttextur, Licht wird ab jetzt nicht mehr gebraucht, das Rendern geht in deutlich weniger als 1 Minute/Frame.
Das ist nebenbei der übliche Weg bei vielen Gameengines gewesen, ungefähr bis es dynamische Lichteffekte gab (teilweise wird immer noch gebacken, aber das ist ein anderes Thema).
Ein Nachteil bei der Methode ist nämlich, dass Animiertes, also bewegte Lichter, Objekte, Texturen nicht bzw. nur über einen Film, also 1 Textur pro Frame, gebacken werden könnten. Und da das Backen genauso lange oder länger als 1 Frame rendert, hilft es in dem Fall mit wenigen Ausnahmen nicht mehr, es sei denn man kann die Schattentextur sehr klein halten.
Solange also alles ruhig ist, kann man das Rendern auf die Weise enorm beschleunigen. Aber auch hier gibt es Klippen, z.B. kann man Transparenz oder Spiegelungen so nicht backen, da sich diese mit der Kamera mitbewegen, was eine gebackene Textur nicht tut. Hier gibt es teilweise ebenfalls Workarounds wie gefakte Spiegelungen.
Ein anderes Thema hatte Hardkorn schon angesprochen, die prozeduralen Shader. Also Noises, Überblendungen, Oberflächen wie "Tiles" oder "Wasser" usw.
Neben dem Export hilft auch hier das Backen dieser Shader, also Schreiben in eine Bitmap, um das Rendern zu u.U. beschleunigen. Prozedurale Shader nehmen zwar erstmal wesentlich weniger Platz weg, müssen aber on the fly während des Renderns berechnet werden und kosten dann je nach Aufbau sogar sehr viel Speicherplatz und Zeit als eine Textur, selbst eine animierte.
Wenn Du mal ganze einfache Szenen in Cinema mit wenigen Polygonen und Bitmaps renderst und die sehr lange braucht, weil zig komplexe Shader mit dabei sind, weißt Du, dass es Zeit fürs Backen ist