Die Rendergleichung, auch Rendering-Gleichung genannt, wird in der 3D-Computergrafik verwendet. 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.
Inhaltsverzeichnis |
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 exakt, 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.
In der Folge arbeiteten die Forscher daher verstärkt 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 Modelle verfolgen und in bewältigbarem Zeitaufwand zu passablen Ergebnissen führten, nämlich Raytracing und Radiosity.
In diese Entwicklung hinein veröffentlichte James T. 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.
Die Rendergleichung lautet:

Sie beschreibt, wie viel Licht einen Oberflächenpunkt x von einem anderen Oberflächenpunkt x' aus erreicht. Dabei wird ein dritter Oberflächenpunkt x'' berücksichtigt, dessen Licht zunächst auf x' trifft und von dort aus nach x reflektiert wird. Die einzelnen Teile haben die folgende Bedeutung:
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 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 x 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:
gibt an, wie viel Licht von x aus in Richtung
abgestrahlt wird; es handelt sich auch hier um die Strahldichte. Analoges gilt für den Term
.
gibt an, wie viel Licht von x aus in Richtung
ausgestrahlt wird.
ist eine BRDF und gibt an, wie viel Licht im Punkt x aus der Richtung
in die Richtung
reflektiert wird.
ist die Normale der Oberfläche im Punkt x.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.