             
             // Get Value in the computed (U,V) and multiply by the corresponding weigth.
             // indAlpha is the ABSOLUTE number of projection in the projection array (NOT the current number of projection set!)
-            voxelColumn[colIdx]+=tex3D(tex, u +0.5 ,
+   
+            voxelColumn[colIdx]+=tex2DLayered(tex, u +0.5 ,
                     v +0.5 ,
-                    indAlpha+0.5)*weigth;
-            
+                    indAlpha)*weigth;
         }  // END iterating through column of voxels
         
     }  // END iterating through multiple projections
     
     // And finally copy the updated local voxelColumn array back to our 3D volume (main memory)
+    #pragma unroll
     for(colIdx=0; colIdx<VOXELS_PER_THREAD; colIdx++)
     {
         unsigned long indZ = startIndZ + colIdx;

////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
// END RB, 10/31/2016: Add constant memory arrays to store parameters for all projections to be analyzed during a single kernel call
////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////





//______________________________________________________________________________
//
//      Function:       rollPitchYaw
//
//      Description:    Main FDK backprojection kernel
//______________________________________________________________________________



//______________________________________________________________________________

    }  // END copy 3D volume voxels to local array
    
    // Now iterate through projections
    #pragma unroll
    for(int projNumber=0; projNumber<PROJ_PER_KERNEL; projNumber++)
    {
        // Get the current parameters from parameter arrays in constant memory.
