Volume Ray Casting, machmal auch als volumetrisches Ray Casting, volumetrisches Ray Tracing oder Volume Ray Marching bezeichnet, ist eine bildbasierte Volumen-Rendering-Technik. Es berechnet 2D-Bilder aus 3D-Volumendatensätzen (3D-Skalarfelder). Das Volumen Ray Casting, welcher Volumendaten verarbeitet, darf nicht mit dem Ray Casting im Sinne des Raytracing, der Oberflächendaten verarbeitet, verwechselt werden. In der volumetrischen Variante stoppt die Berechnung nicht an der Oberfläche, sondern „drückt“ das Objekt durch und testet das Objekt entlang des Rays ab. Im Gegensatz zum Raytracing erzeugt das Volume Ray Casting keine Sekundärstrahlen. Wenn der Kontext klar ist, sprechen einige Fachexperten auch von Ray Casting. Weil Rayarching nicht unbedingt eine genaue Lösung für Ray Intersection und Kollisionen erfordert, ist es für Echtzeit-Computing für viele Anwendungen geeignet, für die das Raytracing ungeeignet ist.
Klassifikation.
Die Technik des Volume Ray Casting kann direkt aus der Rendering-Gleichung abgeleitet werden. Es liefert Ergebnisse von sehr hoher Qualität. Das Volume Ray Casting wird als bildbasierte Volumen-Rendering-Technik eingestuft, da die Berechnung aus dem Ausgangsbild und nicht aus den Eingangsvolumen-Daten erfolgt, wie dies bei objektbasierten Techniken der Fall ist.
Basis-Algorithmus.
In seiner Grundform besteht der Volume Ray Casting Algorithmus aus vier Schritten:
- Ray Casting. Für jedes Pixel des endgültigen Bildes wird ein Visierstrahl durch das Volumen geschossen („geworfen“). In dieser Phase ist es sinnvoll, das Volumen zu betrachten, das berührt und in einem begrenzten Primitiv eingeschlossen wird, einem einfachen geometrischen Objekt – meist einem Quader -, das verwendet wird, um den Blickstrahl und das Volumen zu schneiden.
- Sampling. Entlang des Teil des Sichtfeldes, der innerhalb des Volumens liegt, werden äquidistante Abtastpunkte oder Proben ausgewählt. Im Allgemeinen ist das Volumen nicht auf den Visierstrahl ausgerichtet, und die Probenahmestellen befinden sich in der Regel zwischen den Voxeln. Aus diesem Grund ist es notwendig, die Werte der Proben aus den umgebenden Voxeln zu interpolieren (üblicherweise mit trilinearer Interpolation).
- Shading. Für jeden Abtastpunkt ruft eine Übertragungsfunktion eine RGBA-Materialfarbe ab und es wird ein Gradient der Beleuchtungswerte berechnet. Der Gradient stellt die Ausrichtung der lokalen Oberflächen innerhalb des Volumens dar. Die Proben werden dann entsprechend ihrer Oberflächenorientierung und der Position der Lichtquelle in der Szene schattiert (d.h. farbig und beleuchtet).
- Compositing. Nachdem alle Abtastpunkte schattiert wurden, werden sie entlang des Sichtfeldes zusammengesetzt, was zum endgültigen Farbwert für das gerade bearbeitete Pixel führt. Die Zusammensetzung leitet sich direkt aus der Rendering-Gleichung ab und ist vergleichbar mit dem Mischen von Acetatplatten auf einem Overhead-Projektor. Es kann back-to-front funktionieren, d.h. die Berechnung beginnt mit der dem Betrachter am weitesten entfernten Probe und endet mit der dem Betrachter am nächsten liegenden. Diese Arbeitsablaufrichtung stellt sicher, dass maskierte Teile des Volumens den resultierenden Pixel nicht beeinflussen. Die Reihenfolge von vorne nach hinten könnte rechenintensiver sein, da die verbleibende Strahlungsenergie nach unten steigt, während der Strahl von der Kamera wegreist – so nimmt der Beitrag zum Renderingintegral ab, so dass aggressivere Kompromisse zwischen Geschwindigkeit und Qualität eingegangen werden können (die Vergrößerung der Abstände zwischen den Proben entlang des Strahls ist einer dieser Kompromisse zwischen Geschwindigkeit und Qualität).
Fortschrittliche adaptive Algorithmen.
Die adaptive Sampling-Strategie verkürzt die Renderzeit für qualitativ hochwertiges Rendering drastisch – je höher die Qualität und/oder Größe des Datensatzes, desto größer ist der Vorteil gegenüber der regulären/gleichmäßigen Sampling-Strategie. Allerdings lassen sich adaptives Ray Casting auf einer Projektionsebene und adaptives Abtasten entlang jedes einzelnen Strahls nicht gut auf die SIMD-Architektur moderner GPUs abbilden. Multicore-GPUs eignen sich jedoch perfekt für diese Technik und eignen sich daher für interaktives, volumetrisches Rendering in höchster Qualität.
Vielen Dank für ihren Besuch.
Leave A Comment