Freigeben über


HDR-Beleuchtung (Direct3D 9)

Beleuchtung in der realen Welt enthält einen sehr hohen dynamischen Bereich (HDR) von Leuchtdichtewerten. Die reale Welt verfügt über ca. 10 Reihenfolgen dynamischer Reichweite (DR) für Leuchtdichtewerte, die sich über das Spektrum der Dunkelheit bis zur Helligkeit erstrecken. Auf der anderen Seite verfügt ein Computerbildschirm über eine sehr begrenzte Anzeigeskala (oder einen Bereich von Leuchtdichtewerten): ungefähr zwei Reihenfolgen dynamischer Bereich. Die Herausforderung beim Erstellen von HDR-gerenderten Bildern besteht darin, die hdr-Werte in der realen Welt in der begrenzten Farbskala eines Computerbildschirms zuzuordnen.

Tonzuordnung ist die Technik, die von DirectX zum Zuordnen von HDR-Informationen in einen begrenzteren Bereich verwendet wird. Tonzuordnungen, die auf das CGI-Rendering angewendet werden, können die Anzahl der gerenderten Beleuchtungsdetails erheblich verbessern, sodass Details in den dunkelsten Bereichen zu sehen sind und Kontrast in Bereichen, die so hell sind, angezeigt werden. Die resultierenden Szenen werden mit deutlich sichtbareren Beleuchtungsdetails gerendert.

HDRLighting Sample ist ein SDK-Beispiel, das die HDR-Beleuchtung veranschaulicht.

Tonzuordnung

Tonzuordnung simuliert in der Regel optische Phänomene, die nicht durch den DR des Monitors verursacht werden können. Beispiele hierfür sind Fackeln oder Blühungen (die hauptsächlich Eigenschaften von Linsen sind), die blaue Schicht, die im menschlichen Auge unter geringen Lichtbedingungen geschieht, und andere Anpassungen, die durch die Biochemie des Auges entstehen. Wenn das DR des Displays groß genug wäre, wäre die Tonzuordnung nicht so notwendig, außer bei der Bereitstellung künstlerischer Effekte oder einiger Eigenschaften eines Kameraobjektivs oder einer Ladung gekoppeltes Gerät (CCD).

Die Tonzuordnung teilt den Bereich der Leuchtdichtewerte in einer Szene in eine Reihe von Zonen auf. Jede Zone umfasst einen Bereich von Leuchtdichtewerten.

HDR verwendet die folgenden Begriffe:

  • Zone – Bereich der Leuchtdichtewerte
  • Mittleres Grau - mittlere Helligkeitsbereich der Szene
  • Dynamischer Bereich – Verhältnis der höchsten Leuchtdichte der Szene zur niedrigsten Leuchtdichte der Szene
  • Schlüssel - subjektive Messung der Szenenbeleuchtung: Dies variiert von Hell bis Mittel bis Dunkel

Verwenden Sie folgendes, um die Leuchtdichte aus RGB-Werten zu berechnen:

L = 0.27R + 0.67G + 0.06B;

Die log-average Luminance ist eine nützliche Annäherung für den Schlüssel einer Szene. Eine allgemeine Formel sieht wie folgt aus:

Lw = exp[ 1 / N( summe[ log( delta + Lw( x, y ) ) ] ]

Ort:

  • Lw - log-average Luminance
  • N – Anzahl der Pixel im Bild
  • Delta – ein kleiner Faktor, um Probleme mit schwarzen Pixeln zu vermeiden
  • Lw( x, y ) - die Weltraum-Leuchtdichte für Pixel ( x, y )

Um dies einem mittelgrauen Wert zuzuordnen, ist hier ein Leuchtdichte-Skalierungsoperator:

L( x, y ) = a * Lw( x, y ) / Lw

Ort:

  • L( x, y ) - skalierte Leuchtdichte für Pixel ( x, y )
  • a - Image Key value after applying the scaling

Und schließlich ist hier ein einfacher Tonzuordnungsoperator zum Komprimieren der hohen Leuchtdichte:

L( x, y ) = L( x, y ) / ( 1 + L( x, y )

Ort:

  • L( x, y ) - komprimierte und skalierte Leuchtdichte für Pixel ( x, y )
  • a - Image Key value after applying the scaling

Dieser Operator skaliert hohe Leuchtdichten um 1/L und niedrige Leuchtdichte um 1. Weitere Informationen finden Sie im folgenden Dokument.

Reinhard, Erik, Mike Stark, Peter Shirley und James Ferwerda. "Fotografische Tonwiedergabe für digitale Bilder". ACM Transactions on Graphics (TOG), Proceedings of the 29th Annual Conference on Computer Graphics and Interactive Techniques (SIGGRAPH), S. 267-276. New York, NY: ACM Press, 2002.

Erweiterte Themen