Kamerastrahlen berechnen: Ein numerisch stabiler Ansatz
Computing Camera Rays
In einer Übergangszeit, in der Raytracing und Rasterisierung koexistieren, wird die Berechnung von Kamerastrahlen für die Primärsichtbarkeit zunehmend wichtiger. Dieser Beitrag leitet eine Methode her, um Kamerastrahlen aus einer Welt-zu-Clip-Raum-Matrix zu berechnen, die sowohl für perspektivische als auch für orthografische Projektionen funktioniert. Der naheliegende Ansatz, Strahlrichtung als Differenz von Fern- und Nahebene zu berechnen, leidet unter numerischer Auslöschung, was zu sichtbarem Jitter bei Kamerabewegungen führt. Stattdessen wird ein stabilerer Weg vorgestellt, der die Strahlrichtung als Kreuzprodukt der Normalen zweier Ebenen bestimmt, die die Strahllinie definieren. Der Artikel enthält GLSL-Code und diskutiert Konventionen von Direct3D, OpenGL und Vulkan.
Aufgrund von Rundungsfehlern bei der Berechnung der Strahlrichtungsvektoren erscheint die Kamerabewegung zittrig.