ihre Beleuchtung bestimmt wurde lässt sich mittels eines Transmissions-Emmissions-Modells der Einfluss eines jeden Punktes auf den zu berechnenden Bildpunkt bestimmen um so eine resultierende Farbe zu bestimmen. Diese wird letzendlich an die zu berechnende Stelle im Bild gezeichnet.

Implementierung in .NET und OpenCL
----------------------------------

Der für diese Ausarbeitung implementierte Raycaster ist mit Hilfe von Microsoft .NET C\# und OpenCL unter Microsoft Windows implementiert. Ein Video, dass alle Funktionen des Raycasters demonstriert kann unter [@Kopal] betrachtet werden. Das Host Programm besteht zum einen aus vier Laderoutinen, die vier unterschiedliche Volumendatensätze in den Speicher der Grafikkarte laden können (Stanford Bunny, Head, Brain, Stent).\
\
Der Benutzer hat jederzeit die Möglichkeit, den darzustellenden Volumensatz zu ändern aber auch die Darstellung selbst zu manipulieren. Dafür gibt es auf der linken Seite der Applikation ein Settings-Fenster. Hier kann aber auch die BoundingBox abgeändert werden, um so Einblicke innerhalb des Volumens zu erhalten. Neben der BoundingBox können auch zwei Schwellenwerte festgelegt werden, die angeben, von welchem Startwert bis zu welchem Zielwert der Hounsefield Skala Voxel überhaupt dargestellt werden sollen. So kann z.B. beim “Head” das Fleisch entfernt werden, um so den freigelegten Schädel darzustellen.\
\

![Implementierung eines Raycasters in .NET und OpenCL[]{data-label="label:Implementierung"}](images/raycaster_implementierung.jpg){width="0.8\columnwidth"}

\
Mittels weiterer Regler 