   return make_float4(tmp.x, tmp.y, tmp.z, classification.w);
 }
 
-template<bool frontToBack, int mipMode, bool lighting, bool jittering, bool clipSphere, bool clipPlane>
+template<
+         bool frontToBack,
+         int mipMode,
+         bool lighting,
+         bool opacityCorrection,
+         bool jittering,
+         bool clipSphere,
+         bool clipPlane
+        >
 __global__ void render(uint *d_output, const uint width, const uint height, const float dist,
                        const float3 volSizeHalf, const float3 L, const float3 H,
                        const float3 sphereCenter, const float sphereRadius,

    justClippedPlane = false;
    justClippedSphere = false;

    // pre-multiply alpha
    src.x *= src.w;
    src.y *= src.w;

         true, // Front to back.
         0, // Mip mode.
         true, // Local illumination.
         true, // Opacity correction.
         false, // Jittering.
         false, // Clip sphere.
         false // Clip plane.
        ><<<gridSize, blockSize>>>(d_output, width, height,
                                   diagonalVoxels / (float)numSlices,
                                   volSize * 0.5f,
                                   L, H,
                                   center, radius * radius,
