Wie LUTs in Videospielen verwendet werden und wie auch du sie einsetzen kannst
- In Videospielen werden LUTs (Look-up-Tables) eingesetzt, um kreative Techniken zu nutzen.
- Anhand eines Beispiels mit WebGL wird erklärt, wie sich Videodaten in Echtzeit manipulieren lassen.
- Nutzer können mit ihrem eigenen Video oder ihrer Webcam selbst experimentieren.
Einrichtung
- Als Ausgangspunkt dient ein in Schwarz-Weiß aufgenommenes Video einer Wärmebildkamera.
- Über WebGL wird das Video auf die GPU hochgeladen und mit Shadern zunächst identisch zum Original angezeigt.
Einfärbung
- Mithilfe eines
Fragment Shader, der die Farbe pro Pixel bestimmt, wird das Video eingefärbt.
- An einem einfachen Beispiel mit einer orangefarbenen Tönung wird erklärt, wie Farbmanipulation funktioniert.
Leistungskosten: null
- Die Leistungsauswirkungen der Einfärbung sind nahezu nicht vorhanden und durch das GPU-
latency hiding praktisch vernachlässigbar.
Einsatz der Einfärbung bei Valve Software
- Im Spiel
Left 4 Dead von Valve Software wird Einfärbung auf Fahrzeugmodelle angewendet, um verschiedene Varianten zu erzeugen.
LUT – einfach, aber leistungsstark
- Es wird erklärt, wie sich mit LUTs Farbbereiche definieren und verändern lassen.
Die bescheidene 1D-LUT
- Eine 1D-LUT ist ein Farbarray, das verwendet wird, um Graustufenvideos in RGB umzuwandeln.
- Farbtransformationen werden mit 1D-LUTs unterschiedlicher Größe demonstriert.
Viele Farben
- Alle von matplotlib unterstützten Farbskalen werden als 1D-LUT bereitgestellt.
- Empfohlen wird die Verwendung von
Perceptually Uniform-Farbskalen.
Immer noch ohne Leistungskosten?
- Bei kleinen 1D-LUTs gibt es kaum Auswirkungen auf die Leistung, da der GPU-Cache effizient genutzt wird.
Vielfalt für Zombies
- In
Left 4 Dead 2 werden LUTs verwendet, um verschiedene Farbvarianten von Zombies zu erzeugen.
Berechnungen vorab berechnen
- Mit 1D-LUTs lassen sich rechenintensive Operationen cachen, um zum Beispiel Gammakorrektur schnell durchzuführen.
Die leistungsstarke 3D-LUT
- Eine 3D-LUT bildet den gesamten RGB-Raum als einen Würfel ab und ordnet Farben neu zu.
Einrichtung
- Anhand von mit einer Panasonic GH6 aufgenommenem Video im Log-Profil wird die Verarbeitung mit 3D-LUTs erklärt.
Einfache Korrekturen
- Es wird beschrieben, wie Farbkorrekturen in DaVinci Resolve angewendet und anschließend wieder als LUT exportiert werden.
Einsatz von 3D-LUTs in Left 4 Dead
- Dies ist ein in der Spieleindustrie weithin bekannter Workflow, bei dem externe Tools genutzt werden, um die Farbgestaltung eines Spiels zu stilisieren.
Fortgeschrittene Abenteuer
- Es wird erklärt, wie komplexe Farbtransformationen mit Color-Grading-Tools wie DaVinci Resolve als LUT exportiert werden können.
Weitere Einsatzmöglichkeiten
- Als weiterer Anwendungsfall wird eine LUT vorgestellt, die beim Port von Tomb Raider auf den Game Boy Advanced verwendet wurde.
Meinung von GN⁺
- LUTs sind ein leistungsstarkes Werkzeug für Farbmanipulation und Optimierung in Videospielen und der Grafikprogrammierung. Diese Technik kann in Echtzeit-Rendering verschiedenste visuelle Effekte ohne Leistungseinbußen liefern und ist damit sowohl für Entwickler als auch für Artists nützlich.
- Beim Einsatz von LUTs sollten Farbgenauigkeit und die visuelle Darstellung von Daten berücksichtigt werden. Besonders wichtig ist es, die Bedeutung von
Perceptually Uniform-Farbskalen zu verstehen, insbesondere im Hinblick auf Farbenblindheit.
- Die Technik lässt sich in vielen Bereichen anwenden, etwa für Farbkorrektur, visuelles Styling und Datenvisualisierung. So können beispielsweise LUT-ähnliche Verfahren aus dem Color Grading der Filmindustrie in der Spieleentwicklung genutzt werden.
- Größe und Präzision einer LUT können je nach Einsatzzweck und Plattform variieren; ein entsprechendes Verständnis ist wichtig. In der Filmindustrie sind beispielsweise LUTs mit einer Größe von 33³px Standard, während Spiele oder andere Grafikapplikationen andere Größen benötigen können.
- Beim Einsatz dieser Technik ist es wichtig, ein Gleichgewicht zwischen exakter Farbdarstellung und Leistungsoptimierung zu finden. Um LUTs effektiv zu nutzen, ist ein tiefes Verständnis von Farbtheorie und Grafikprogrammierung erforderlich.
1 Kommentare
Hacker-News-Kommentare
Erklärung, wie sich Effekte mit Lookup-Tabellen (LUTs) umsetzen lassen
Geteilte Erfahrungen mit dem Einsatz von Lookup-Tabellen für einen Texture-Tunnel-Effekt
Verweis auf ein Video darüber, wie das Spiel „The Legend of Zelda: Wind Waker“ mit Lookup-Tabellen seine einzigartige Optik umgesetzt hat
Hinweis darauf, dass der Autor des Beitrags über Lookup-Tabellen bereit ist, Fragen zu beantworten.
Erklärung der Bedeutung von Lookup-Tabellen in der Retro-Spieleentwicklung
Geteilte Erfahrungen zum Spiel „Bobl“ aus der NES-Homebrew-Community, das mit Lookup-Tabellen erstaunliche Physikeffekte umgesetzt hat
Verweis auf eine Podcast-Episode darüber, wie der SNES-Port von „Doom“ Lookup-Tabellen zur Berechnung trigonometrischer Funktionen nutzte
Ausdruck von Frust darüber, dass Menschen mit Kenntnissen in dynamischer Programmierung Caching und Memoization verwechseln
Geteilte Informationen über „Lattice“, eine Mac-App zum Umgang mit Lookup-Tabellen
Liste mit Beispielen verschiedener Effekte, die sich mit Lookup-Tabellen umsetzen lassen