Die Rendergleichung, auch Rendering-Gleichung genannt, wird in der 3D-Computergrafik verwendet. Sie wurde 1986 von Jim Kajiya und zur gleichen Zeit von David Immel et al. veröffentlicht.[1][2] Es handelt sich um eine Integralgleichung, die die Energieerhaltung bei der Ausbreitung von Lichtstrahlen beschreibt und somit die mathematische Basis für alle Algorithmen zur globalen Beleuchtung bildet.

Geschichte und Einordnung

Bearbeiten

Im Prinzip war alles, was zur Berechnung dreidimensionaler Bilder nötig war, schon lange vor der Rendergleichung vorhanden: Die Maxwellschen Gleichungen (1861–1864), die spezielle Relativitätstheorie (1905) und die Quantenmechanik (1920er) erklären die Interaktion von Licht und Materie so genau, dass mit ihnen theoretisch die Berechnung beliebig realistischer Bilder möglich wäre.

Für die 3D-Computergrafik erwies sich jedoch bereits sehr früh, dass es völlig unpraktikabel ist, mit diesen grundlegenden Modellen zu arbeiten; sie erfordern in den meisten Fällen einen selbst mit heutigen Computern nicht zu bewältigenden Rechenaufwand. Es zeigte sich jedoch auch, dass es nicht nötig war, mit derart exakten Modellen zu arbeiten: Die Quantenmechanik erklärt Effekte im Kleinen, die im menschlichen Alltag nicht wahrnehmbar sind (vgl. etwa Doppelspaltexperiment), die Relativitätstheorie erklärt Sachverhalte im Großen, die hauptsächlich bei astronomischen Größenordnungen ihre Wirkung entfalten (vgl. etwa Raumzeit) und selbst einige Auswirkungen der Maxwellschen Gleichungen (vgl. etwa Interferenz) sind für die Praxis der Computergrafik oft bedeutungslos.

Die Forscher arbeiteten daher mit der geometrischen Optik, die noch auf das antike Griechenland zurückgeht und das Verhalten des Lichts im Großen – also unter Vernachlässigung seiner Welleneigenschaften – beschreibt. So entstanden Ansätze und Techniken, die statt komplexen Wellen einfache Lichtstrahlen durch die Szene verfolgen und in bewältigbarem Zeitaufwand zu passablen Ergebnissen führten, nämlich Raytracing und Radiosity.

In diese Entwicklung hinein veröffentlichte Jim Kajiya 1986 die Rendergleichung. Kajiya zeigte, dass alle bis dato verbreiteten Rendertechniken direkt aus der Rendergleichung hergeleitet werden können. Damit gab es erstmals einen gemeinsamen mathematischen Unterbau, auf dem die Techniken verglichen werden konnten.

Die Rendergleichung führte in der Folge nicht nur zu einer Systematisierung des Wissensgebietes, sondern inspirierte auch zahlreiche Weiterentwicklungen. Sie gilt heute als dermaßen fundamental, dass viele fälschlicherweise annehmen, Raytracing sei aus der Rendergleichung entstanden oder die vorher entstandene Radiosity-Gleichung sei als Umformung aus ihr hervorgegangen.

Ursprüngliche Formel

Bearbeiten

Die Rendergleichung lautet:

 

Sie beschreibt, wie viel Licht einen Oberflächenpunkt   von einem anderen Oberflächenpunkt   aus erreicht. Dabei wird ein dritter Oberflächenpunkt   berücksichtigt, dessen Licht zunächst auf   trifft und von dort aus nach   reflektiert wird. Die einzelnen Teile haben die folgende Bedeutung:

  • Der Energiefluss   gibt an, wie viel Licht   von   aus erreicht. Es handelt sich um eine Strahldichte mit der Einheit W·m−2·sr−1. Analoges gilt für den Term  .
  • Der geometrische Term   beschreibt die gegenseitige Lage der Punkte in der Szene. Normalerweise hat der Term den Wert  , wobei   die Entfernung von   und   ist. Er gibt dann an, wie viel des von   ausgehenden Lichtes   tatsächlich exakt trifft. Dies gilt auch, falls eine dazwischen liegende Oberfläche völlig durchsichtig ist; in diesem Fall nimmt die Oberfläche das Licht auf der einen Seite auf und strahlt es auf der anderen Seite neu aus. Liegt jedoch zwischen   und   eine undurchsichtige Oberfläche, so ist der Term 0, das heißt bei   kommt kein Licht von   auf direktem Weg an.
  • Der Emissionsterm   gibt an, wie viel Licht von   aus nach   abgestrahlt wird (falls   eine Lichtquelle der Szene darstellt). Dies ist wiederum eine Strahldichte mit der Einheit W·m−2·sr−1.
  • Der Streuungsterm   gibt an, welcher Anteil des Lichts, das   von   aus erreicht, in Richtung   reflektiert wird. Es handelt sich hierbei um eine bidirektionale Reflexionsverteilungsfunktion (BRDF).
  •   ist die Gesamtheit aller Flächen in der Szene.

Kajiya stellte die Rendergleichung in leicht abgewandelter Form vor, diese Darstellung hat sich inzwischen jedoch als zweckmäßiger erwiesen. In der ursprünglichen Form war der Emissionsterm keine Strahldichte und der Streuungsterm war ein dimensionsloses Konstrukt statt einer BRDF.

Äquivalente Darstellung

Bearbeiten
 
Bilder aus Kajiyas Veröffentlichung von 1986. Das Bild links wurde mit normalem Raytracing berechnet, das rechte mit Path Tracing. Durch das Aussenden von Strahlen auf allen Oberflächen werden Lichteffekte wie diese Kaustik möglich.

Äquivalente Darstellungsformen der Rendergleichung werden gewählt, um andere Anwendungsfälle anschaulicher zu beschreiben. Verbreitet ist die folgende Darstellung, die beschreibt, wie viel Licht vom Oberflächenpunkt   aus in Richtung des Vektors   abgestrahlt wird:

 

Die einzelnen Teile haben im Wesentlichen dieselbe Bedeutung wie in der anderen Darstellung, sind jedoch in Abhängigkeit von der Richtung statt eines zweiten oder dritten Punktes gegeben:

  • Der Energiefluss   gibt an, wie viel Licht von   aus in Richtung   abgestrahlt wird; es handelt sich auch hier um die Strahldichte.
  • Der Emissionsterm   gibt an, wie viel Licht von   aus in Richtung   ausgestrahlt wird (falls der Punkt selbst eine Lichtquelle darstellt).
  • Der Streuungsterm   ist eine BRDF mit Einfallswinkel   und Reflexionswinkel  .
  • Der Term   beschreibt, wie viel Licht aus Richtung   den Punkt   erreicht.
  •   ist die Normale der Oberfläche im Punkt  .
  •   ist die Gesamtheit aller Winkel der Hemisphäre über der Oberfläche.

Die Werte innerhalb des Integrals lassen sich z. B. durch Raytracing, also durch das Aussenden eines Lichtstrahls in Richtung  , berechnen. Die Annäherung des Integrals durch eine Monte-Carlo-Simulation und das rekursive Aussenden von Lichtstrahlen führt zum Path Tracing, das Kajiya zusammen mit der Rendergleichung beschrieb.

Literatur

Bearbeiten
  1. David S. Immel, Michael F. Cohen, Donald P. Greenberg: A radiosity method for non-diffuse environments. In: Proceedings of the 13th annual conference on Computer graphics and interactive techniques (SIGGRAPH) 1986, ACM Press, doi:10.1145/15922.15901, ISBN 0-89791-196-2, (PDF)
  2. James T. Kajiya: The rendering equation. In: Proceedings of the 13th annual conference on Computer graphics and interactive techniques (SIGGRAPH) 1986, ACM Press, S. 143–150 (PDF)