Das Fotonexus-Wiki befindet sich im Testbetrieb.
High Dynamic Range Rendering
Aus Fotonexus.
| <imagemap>-Fehler: Bild ist ungültig oder nicht vorhanden | Die Artikel High Dynamic Range Image, High Dynamic Range, High Dynamic Range Rendering und Dynamic Range Increase überschneiden sich thematisch. Hilf mit, die Artikel besser voneinander abzugrenzen oder zu vereinigen. Die Diskussion über diese Überschneidungen findet hier statt. Bitte äußere dich dort, bevor du den Baustein entfernst. TlatoSMD 10:18, 13. Feb. 2007 (CET) |
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort High_Dynamic_Range_Rendering, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
Unter High Dynamic Range Rendering (HDRR oder HDR-Rendering, oft falsch HDR) versteht man in der Computergrafik das Rendern einer Szenerie in einem größeren Farbraum. Die drei Farbkanäle (rot, grün und blau) und der Alphakanal (Transparenz) werden beispielsweise mit 32 statt 8 Bit pro Pixel, also mit 4,3 Milliarden anstatt 256 Abstufungen pro Kanal, gerendert.
Die vier Kanäle zusammen lassen folglich 3,4Parser-Fehler (Das temporäre Verzeichnis für mathematische Formeln kann nicht angelegt oder beschrieben werden.): \cdot
1038 verschiedene Kombinationen zu.
Die letztendlich dargestellten Abbilder dieser Szenerien, für die keine derart hohe, jede menschliche Wahrnehmungsfähigkeiten übersteigende Farbauflösungen nötig sind, werden dann mittels Tone Mapping aus den hochaufgelösten Daten heruntergerechnet.
Inhaltsverzeichnis |
Sinn und Zweck
Das Rendering eines Bildes beinhaltet in der Regel viele Berechnungen. Da die Rechengenauigkeit von Computern prinzipiell begrenzt ist, entstehen zwangsläufig Rundungsfehler, die zu Artefakten im Bild führen können. Verwendet man als Grundlage aber Speicher und Prozessoren, die mit hoher Genauigkeit arbeiten, so verringern sich die Ungenauigkeiten. Bei HDRR wird eine Textur erst im Darstellungsprozess in ihrer Farbauflösung auf das Ausgabemedium angepasst. In allen vorheringen Verarbeitungsstufen wird mit der hohen Genauigkeit gerechnet, wodurch Verluste durch Ungenauigkeiten minimiert werden. Ziel ist es letztlich, den Dynamikumfang des dargestellten Bildes so hoch zu halten, dass keine Artefakte sichtbar sind.
Der Kern von HDRR besteht darin, mit hoher Genauigkeit zu rechnen, um einen hohen Dynamikumfang zu ermöglichen, denn dieser definiert sich durch die kleinst- und größtmöglichen Helligkeitswerte. Durch diesen hohen Dynamikbereich kann eine Textur, obwohl die ihr eigene Dynamikspanne meist nur einen Teil der Gesamtdynamikspanne der gerenderten Szenerie ausmacht, trotzdem möglichst ihre volle Farbtiefe behalten. Dies ist von Nutzen, wenn eine Helligkeits- oder Farbtonanpassung des dargestellten Bildes vorgenommen wird. Es verringert in der Regel den Dynamikumfang, weil kleine Farbwertunterschiede vergrößert werden. Da bei HDRR aber grundlegend wesentlich genauer gerechnet wird, bleibt dennoch in allen Bildbereichen eine sehr hohe Farbauflösung erhalten. Bei einer zu geringen Genauigkeit (wie beim sonst üblichen Low Dynamic Range Rendering) würden die Farbübergänge unter Umständen so grob werden, dass dies sichtbare Artefakte zur Folge hätte (Color Banding, Verlust von Details).
Ein typischer Fall, in dem die Vorteile von HDRR sichtbar werden, ist folgende Szenerie: Eine dunkle Höhle führt in einen sonnenbestrahlten Außenbereich.
- Die Perspektive ist in der Höhle, der Ausgang nicht sichtbar. Die Grafikengine erkennt, dass im Bild eine sehr niedrige Helligkeit vorherrscht und sieht daher vor, das Bild mittels Tone Mapping stark aufzuhellen, um die Reaktion des menschlichen Auges zu simulieren. Das Bild nutzt nur einen relativ geringen Helligkeitsumfang, denn es gibt keine hellen Bereiche. Das Tone Mapping sorgt nun dafür, dass die Helligkeit des Bildes so angepasst wird, dass die extrem dunklen Bereiche dunkel bleiben und die weniger dunklen Bereiche relativ hell dargestelt werden. Dies alles ginge auch ohne HDRR, doch bringt dieses den hohen Dynamikumfang mit: Ohne HDRR gäbe es kaum Abstufungen zwischen "extrem dunkel" und "weniger dunkel", die Folge wäre Detailarmut. Mit HDRR gibt es immer noch sehr viele Abstufungen, wodurch weiterhin Details sichtbar bleiben.
- Die Perspektive bewegt sich nun auf den Höhlenausgang zu. Die Engine bemerkt, dass die allgemeine Helligkeit im Bild zunimmt. Sie passt daher das Tone Mapping so an, dass die Aufhellung weniger stark ausfällt. Dadurch werden die dunklen Bereiche dunkler dargestellt als noch vorhin. Würden diese so hell wie vorhin dargestellt werden, würde man den Kontrast zwischen der dunklen Höhle und dem hellen Ausgang verfälschen: Der Ausgang erschiene weniger hell als er sein müsste. Auch hier hilft HDRR, die Details zu wahren, sowohl in den dunklen als auch in den hellen Bereichen.
- Die Perspektive erreicht nun den Höhlenausgang, die Sonne ist sichtbar. Die Engine bemerkt die allgemein hohe Helligkeit im Bild und passt das Tone Mapping entsprechend an, so dass nicht mehr aufgehellt, sondern sogar verdunkelt wird: Die Landschaft ist zwar allgemein sehr hell, doch die Sonne ist noch wesentlich heller. Letztlich wird die Landschaft also dunkler dargestellt als noch in der Höhle, dafür wird die Sonne mit maximaler Helligkeit dargestellt. HDRR sorgt auch hier dafür, dass Details weiterhin sichtbar bleiben.
Das Beispiel verdeutlicht auch, warum Tone Mapping und HDRR gerne miteinander verwechselt werden: HDRR ermöglicht per se keine Effekte, die mit niedrigem Dynamikumfang nicht möglich wären. Doch kann Tone Mapping seine volle Wirkung erst entfalten, wenn ein hoher Dynamikumfang zu Grunde liegt, denn nur dann bleiben auch bei starken Helligkeitsunterschieden im Bild Details erhalten. HDRR erfordert also die Nutzung von Tone Mapping, umgekehrt aber nicht.
Anwendung
HDRR erlaubt in Spielen realistische Überblendeffekte bei grellen Lichtquellen und ein weiteres Spektrum an Bildinformationen bzw. Farben sichtbar zu machen als bei niedrigem Dynamikumfang. So findet HDRR unter anderem in der Unreal-Engine 3, beim Ego-Shooter Far Cry ab Version 1.3 oder bei bestimmten Maps in Counterstrike Source (z.B. cs_militia, de_nuke, de_corse) Verwendung. Einen Einblick in HDRR-Effekte bietet auch die Technologie-Demo "The Lost Coast" für den Ego-Shooter Half-Life 2.
Auch bei aktuellen Spielekonsolen wird echtes HDRR unterstützt: Die von ATI entwickelte GPU der Xbox 360 unterstützt es genauso wie die NVIDIA-GPU in der PlayStation3. Am deutlichsten ist dieser Effekt zur Zeit im Rennspiel Project Gotham Racing 3 und im Taktik-Shooter Ghost Recon Advanced Warfighter zu sehen.
Geschichte
HDRR als Technologie für Computerspiele wurde etwa zeitgleich mit dem Shader Model 3.0 von DirectX verfügbar. Allerdings haben diese beiden Technologien nur wenig miteinander zu tun, was sich z.B. daran zeigt, dass theoretisch jede DirectX 9-Grafikkarte in der Lage ist, die HDRR-Effekte darzustellen, denn jede DirectX 9-Grafikkarte muss im Pixel-Shader mindestens die FP24-Genauigkeit unterstützen und FP32-Texturen einlesen können. Jedoch würde es auf älteren Karten zu teils deutlichen Leistungseinbrüchen führen.
Weblinks
| Dieses Dokument entstammt in seiner ersten oder einer späteren Version der deutschsprachigen Wikipedia. Es ist dort zu finden unter dem Stichwort High_Dynamic_Range_Rendering, die Liste der bisherigen Autoren befindet sich in der Versionsliste; die Originalfassung kann dort auch bearbeitet werden. Alle Texte der Wikipedia und ihre Derivate stehen unter der GNU-Lizenz für freie Dokumentation. |
