hat. Diese werden zunächst in ein dreidimensionales Array und dann mit Hilfe der OpenCL API in die Grafikkarte kopiert. Sobald das Volumen vollständig geladen ist, werden mehrere Instanzen eines OpenCL Kernels erstellt. Diese arbeiten jeder für sich genau einen Strahl in das Volumen ab und speichern ihre Ausgabe in einem großen Bildbuffer der dann final von dem C\#-Programm wieder angezeigt wird.

Laden eines Volumendatensatzes
------------------------------

Die in diesem Raycaster verwendeten Volumendatensätze stammen aus dem [@TS3DSR] “Stanford 3D Scanning Repository”. Bei den Datensätzen handelt es sich zum einem um einen CT-Scan des berühmten “Stanford Bunny”. Dieser Porzellanhase dient in der 3D Grafikszene einer Vielzahl von Wissenschaftlern als Datenvorlage. In diesem Raycaster stellt er den ersten von drei Volumendatensätzen dar. Der “Hase” besteht aus 360 Binärdateien, die jeweils ein 512 X 512 großes “Bild”, eine Scheibe, des Hasen darstellen. Im Raycaster wird ein kubischer Volumendatensatz der Kantenlänge 512 erstellt in dem die Scheiben an die Koordinaten $Z=0$ bis $Z=360$ geladen werden. Jeder Voxel besteht aus einem 16bit breiten short-Value, der jedoch nur 12bit Daten enthält. Nur 12bit aus dem Grund, dass CT-Scanner Daten, basierend auf der Hounsfield-Skala, liefern. Für diese Skala reichen 12bit vollkommen aus. Neben dem Bunny ermöglicht der Raycaster das 