Lichtberechnung in der 3-D-Spieleprogrammierung

Es werde Licht
Kommentare

David Mermin fragte vor rund zwanzig Jahren, ob der Mond eigentlich auch dann an seinem Platz ist, wenn ihn keiner sieht. Die provokante Frage des Physikers entwickelte sich bald zu einem geflügelten Wort, das in viele wissenschaftliche Disziplinen Eingang fand.

Wer ein 3-D-Spiel programmiert, sollte sich eine etwas andere Frage stellen. Ist ein Objekt auch dann noch sichtbar, wenn es nicht von reflektierbaren Photonen beschienen wird? Die ersten 3-D-Grafiken entstanden in einem daran angelehnten Verfahren: Raytracing überzieht die Szene mit Lichtstrahlen und analysiert deren Bewegungen. Da dieses Verfahren die Physik der realen Welt nachzubilden versucht, liefern Raytracer fotorealistische und hoch akkurate Bilder. Leider verlangt die Erstellung derartiger Bilder eine enorme Rechenleistung. Aus diesem Grund arbeiten heutige Grafikchips mit einem als Rasterization bezeichneten Verfahren. Licht- und Schatteneffekte entstehen in derartigen Systemen durch Shadercode. Physiker würden die dabei verwendeten Algorithmen als ungenaue Hacks bezeichnen. Da das menschliche Auge auf das Ergänzen von fehlenden Informationen spezialisiert ist, fallen die meist minimalen Unterschiede in der Praxis aber nicht auf. Eine genaue Besprechung der Unterschiede zwischen den beiden Verfahren würde den Rahmen dieses Artikels sprengen. Die Universität zu Utah bietet unter einen lesenswerten Kurzvergleich an.

Unsere Redaktion empfiehlt:

Relevante Beiträge

Meinungen zu diesem Beitrag

X
- Gib Deinen Standort ein -
- or -