     if(rend->getSliceInterpol() || rend->getRendererType() == vvRenderer::CUDAPER)
     {
         if(rend->getPreIntegration())
-            return compositeSlicesPreIntegrated<Scalar, 1, Pixel, sliceStep, principal, earlyRayTerm>;
+            return compositeSlicesBilinear<Scalar, 1, Pixel, sliceStep, principal, earlyRayTerm, true>;
         else
-            return compositeSlicesBilinear<Scalar, 1, Pixel, sliceStep, principal, earlyRayTerm>;
+            return compositeSlicesBilinear<Scalar, 1, Pixel, sliceStep, principal, earlyRayTerm, false>;
     }
     else
 #endif



#ifdef VOLTEX3D
template<typename Scalar, int BPV, typename Pixel, int sliceStep, int principal, bool earlyRayTerm>
__global__ void compositeSlicesBilinear(
      uchar4 * __restrict__ img, int width, int height,
#ifdef PITCHED

    extern __shared__ char smem[];
    // store intermediate image line in shmem
    Pixel *imgLine = (Pixel *)smem;
    Scalar *sf = (Scalar *)&imgLine[width*preInt];

    // clear image line
    for (int ix=threadIdx.x; ix<width; ix+=blockDim.x)
    {
        initPixel(&imgLine[ix]);
        if(preInt)
            sf[ix] = 0.f;
    }

    // composite slices for this image line
