 		}
 		nodetex.writeByNum(&tmp[0], tmp.size());
 
-		static const int maxSamples = 5;
+		static const int maxSamples = 1;
 		static const int maxDepth = 5;
 		static const int rrDepth = 3;
 

__global__ void gather(
	cudaSurfaceObject_t outSurface,
	Path* paths,
	int width, int height)
{
	const auto ix = blockIdx.x * blockDim.x + threadIdx.x;
	const auto iy = blockIdx.y * blockDim.y + threadIdx.y;

	surf2Dread(&data, outSurface, ix * sizeof(float4), iy);

	int n = data.w;
	data = n * data + make_float4(path.contrib.x, path.contrib.y, path.contrib.z, 0) / sample;
	data /= (n + 1);
	data.w = n + 1;

