 	threads.x = 256;
 	threads.y = 1;
 	cudaThreadSynchronize();
-	CUDAkernel_shadeAlgo_doCelShade <<< grid, threads >>>();
+	CUDA_vtkCuda2DInExVolumeMapper_CUDAkernel_shadeAlgo_doCelShade <<< grid, threads >>>();
 	cudaThreadSynchronize();
 	
 	printf( "2D Rendering Error Status: " );

		float inEx = tex2D(inExLogic_texture_2DInex, tempIndex, gradMag);
		float alpha = tex2D(alpha_texture_2DInex, tempIndex, gradMag);

		if( inEx > 0.25f && skipStep ){
			backStep = skipStep;
			skipStep = false;
			rayStart.x -= rayInc.x;
			rayStart.y -= rayInc.y;
			rayStart.z -= rayInc.z;
			continue;
		}

		if( ( includeStart >= maxSteps && includeEnd <= maxSteps ) &&
			( excludeStart >= maxSteps && excludeEnd <= maxSteps ) && inEx <= 0.25f  ){
					special = true;
		}

		//filter out objects with too low opacity (deemed unimportant, and this saves time and reduces cloudiness)
		if(alpha > 0.0f && tempIndex >= 0.0f && tempIndex <= 1.0f && gradMag >= 0.0f && gradMag <= 1.0f){


	outputVal.x = 0.0f; //R
	outputVal.y = 0.0f; //G
	outputVal.z = 0.0f; //B
	outputVal.w = 1.0f; //remaining A
		
	//fetch the required information about the size and range of the transfer function from memory to registers
	__syncthreads();
