lassen sich Farbwerte zuweisen. Wasser besitzt, durch die Normierung in der Formel, einen HU-Wert von 0. Luft besitzt einen Wert von -1000 HU. Gewebe besitzt einen Wert um die -100 HU und Knochen einen zwischen 500 und 1500HU. Hier kann man Gewebe rötliche Töne, Knochen weiße und Luft schwarze Werte zuweisen. Auch ist es dank dieser Skala möglich, bestimmte Gewebetypen (z.B. Krebsgewebe) hervorzuheben (einzufärben) oder ganz auszublenden. Diese Farbskalen werden häufig als Lookup Tabelle implementiert, in der zu einem HU-Wert ein Farbwert ausgelesen werden kann.

Beleuchtung
-----------

Damit die Oberflächen des Volumendatensatzes verschiedene Schattierungen erhalten (Shading), wird ein einfaches Beleuchtungsmodell mit nur einer einzigen Lichtquelle benutzt. Die Lichtquelle wird als einfache Punkt-förmige Quelle modelliert, die durch den Vektor $lightPosition$ beschrieben wird. Um den Beleuchtungswert im Schnittpunkt zwischen Strahl und Oberfläche zu bestimmten wird außerdem der Gradient $norm$ im Schnittpunkt benötigt. Mittels des Skalarprodukts zwischen Normalenvektor im Schnittpunkt (Gradienten) und der normalisierten Differenz aus Lichtposition und Schnittpunkt wird die Stärke der Beleuchtung bestimmt. Im Codebeispiel \[label:shading\] ist ein einfacher Algorithmus für die Beleuchtung in OpenCL dargestellt.

    {Volume Shading}
    float4 Shade(float4 pos,
                 float4 norm,
                 float4 lightPosition)
     {
        float4 color =
        (float4)(1.0f,1.0f,1.0f,0.0f);          
        //Farbe der Lichtquelle: Weiss
        
        float4 livec =
        fast_normalize(lightPosition - pos);    
        //Differenz 