High Dynamic Range Rendering
# High Dynamic Range Rendering

High Dynamic Range Rendering (HDRR) bezeichnet in der Computergrafik die Bildsynthese („Rendering“) unter Berücksichtigung der in der Natur vorkommenden großen Helligkeitsschwankungen. Im Gegensatz zu den herkömmlichen 256 Helligkeitsabstufungen pro Farbkanal werden beim HDRR Farben intern mit ausreichend hoher Präzision repräsentiert, um einen sehr großen Bereich von Helligkeiten abzudecken. Dies ermöglicht die Darstellung starker Kontraste ohne übermäßigen Detailverlust und die Anwendung von Effekten wie der Simulation von Linsenstreuung.

Eine besondere Technik aus dem HDRR-Bereich ist das Image-based Lighting, bei dem eine Computergrafik-Szene durch ein HDR-Bild umhüllt und beleuchtet wird. Dadurch entsteht der Eindruck, die künstlich modellierten Objekte würden in eine natürliche Umgebung eingefügt.

## HDRR beim Echtzeitrendering

Beim hardwareunterstützten HDRR-Echtzeitrendering verarbeitet die Grafikkarte Farbinformationen intern so, dass ein großer Helligkeitsbereich abgedeckt wird und dass Rundungsfehler gering gehalten werden. Dazu müssen Farben mit höherem Speicherplatz repräsentiert werden. Bei einer zu geringen Genauigkeit würden die Farbübergänge unter Umständen so grob werden, dass dies sichtbare Artefakte (Farbabstufungen) zur Folge hätte.

Das Ergebnis des HDRR-Prozesses ist ein HDR-Bild, dessen Dynamikumfang zur Darstellung mittels Tone Mapping verringert werden muss. Da beim Tone Mapping versucht wird, Bilddetails beizubehalten, können auch Szenen mit großem Helligkeitskontrast dargestellt werden, ohne dass sehr helle oder sehr dunkle Bereiche durch einen geringen Helligkeitsumfang begrenzt werden und als reines Schwarz oder reines Weiß erscheinen. Ein Beispiel für eine Szene, in der die Vorteile von HDRR deutlich werden, ist eine dunkle Höhle, die in einen sonnenbestrahlten Außenbereich führt. Der Tone-Mapping-Operator passt sich diesen unterschiedlichen Helligkeitsniveaus an, sodass die absoluten Helligkeitswerte der Szene optimal auf den geringen Dynamikbereich des Bildschirms übertragen werden.

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: Jede DirectX-9-Grafikkarte muss im Pixel-Shader intern mindestens 24 Bit pro Farbkanal unterstützen („FP24“) und Texturen mit 32 Bit pro Farbkanal („FP32“) einlesen können, was jedoch auf älteren Karten zu deutlichen Leistungseinbrüchen führen würde. Die Hardware der 7. Spielekonsolengeneration wie die dafür von ATI entwickelte GPU der Xbox 360 oder die NVIDIA-GPU der PlayStation 3 unterstützen HDRR ebenfalls.

HDRR findet unter anderem in der Unreal Engine 3, beim Ego-Shooter Far Cry ab Version 1.3 oder bei einigen Maps in Counter-Strike Verwendung. Sehr deutlich werden HDRR-Effekte im Rennspiel Project Gotham Racing 3 und im Ego-Shooter Halo 3 eingesetzt.

## Image-based Lighting

Beim Image-based Lighting (IBL) wird eine Szene von einer HDR Environment Map, auch Light Probe genannt, beleuchtet, die die Szene vollständig umhüllt. Dabei handelt es sich um ein omnidirektionales Bild der Umgebung als HDR-Image. Eine HDR Environment Map kann erzeugt werden, indem sie durch Spezialkameras mit rotierendem Objektiv oder Fischaugenlinse direkt aufgenommen wird. Alternativ kann eine die Umgebung reflektierende Kugel fotografiert oder mehrere Einzelfotos gestitcht werden. Das Bild wird anschließend gegebenenfalls in einen Würfel oder eine Kugel transformiert, welche die Szene umschließt.

Eines der Probleme, die beim IBL gelöst werden müssen, besteht darin, helle Regionen der Environment Map bevorzugt abzutasten, um beim Monte-Carlo-Raytracing Importance Sampling zu ermöglichen. Idealerweise sind die Abtastpositionen dabei so verteilt, dass sie einen großen Abstand zueinander haben, aber dennoch kein geordnetes Muster erkennen lassen (blaues Rauschen). Sehr helle, konzentrierte Regionen wie etwa die Sonne erfordern nicht nur spezielle Techniken bei der Aufnahme, sondern werden auch aus der Environment Map entfernt und explizit modelliert, da es ansonsten zu sehr starkem Rauschen (einzelnen hellen Pixeln) kommen würde.

Eine wichtige Anwendung findet IBL in Filmeffekten, um künstliche Objekte und Wesen so darzustellen, als wären sie bei der Aufnahme tatsächlich vorhanden.

