Eine Lightmap ist eine Datenstruktur, die im Lightmapping genutzt wird; einer Form des Oberflächen-Cachings, bei der die Helligkeit von Oberflächen aus virtuellen Umgebungen vorberechnet und in Texture Maps für die spätere Nutzung gespeichert ist. Lightmaps werden meistens auf statische Objekte in Echtzeit-3D-Umgebungssoftware angewendet, wie beispielsweise Videospiele, um Lichteffekte wie globale Beleuchtung ohne großen Berechnungsaufwand zu ermöglichen.
Geschichte
John Carmacks Quake war das erste Computerspiel, das Lightmaps verwendete, um das Rendern zu erweitern. Bevor Lightmaps erfunden wurden, nutzten Echtzeit-Anwendungen ausschließlich die Gouraud-Schattierung, um die Scheitelpunktbeleuchtung für Oberflächen zu interpolieren. Dies ermöglichte nur wenige Beleuchtungsinformationen und erzeugte Clipping-Artefakte in der Nähe der Kamera ohne perspektivisch korrekte Interpolation. Die Diskontinuitätsvernetzung wurde manchmal vor allem bei Radiosity-Lösungen zur adaptiven Verbesserung der Auflösung von Scheitelbeleuchtungsinformationen verwendet, wobei jedoch der zusätzlichen Rechenaufwand für die primitive Einrichtung zur Echtzeit-Rasterung im Allgemeinen unerschwinglich waren. Quakes Software-Renderer benutzte Oberflächencaching, um Beleuchtungsberechnungen im Texturraum einmal anzuwenden, wenn Polygone anfänglich innerhalb des Sichtfeldes erscheinen (effektiv temporäre "beleuchtete" Versionen der aktuell sichtbaren Texturen erzeugen, während der Betrachter die Szene ausgehandelt hat).
Als offen verfügbare 3D-Grafik-Hardware fähig zu Multitexturing wurde Lightmapping immer beliebter, und Engines begannen, Lightmaps in Echtzeit als sekundäre Multi-Blenden-Texturenschicht einzubauen.
Einzelnachweise
- ↑ Quake's Lighting Model: Surface Caching. Abgerufen am 9. September 2017.