 	}
 
 	// TODO
-	static const float stride = 5.0f;
+	static const float stride = 15.0f;
 
 	float c = (ix + iy) * 0.25f;
 	float jitter = stride > 1.0f ? fmod(c, 1.0f) : 0.0f;

		printf("    [%d] %d, %d\n", stepCount, ix, iy);
#endif

		// V[̌_ł̐[xl擾.
		float4 data;
		surf2Dread(&data, depth, ix * sizeof(float4), iy);

		sceneZMax = data.x;

		if (intersectsDepthBuffer(sceneZMax, rayZMin, rayZMax, zThickness)) {
			break;
		}

		PQk += dPQk;
	}

	auto isect = intersectsDepthBuffer(sceneZMax, rayZMin, rayZMax, zThickness);

#ifdef DUMP_DEBUG_LOG
	printf("[%d]%f, %f, %f\n", stepCount, sceneZMax, rayZMin, rayZMax);

	cudaTextureObject_t vtxPos,
	aten::mat4* matrices)
{
	// warp-wise head index of tasks in a block
	__shared__ volatile unsigned int headBlock[NUM_WARP_PER_BLOCK];

	volatile unsigned int& headWarp = headBlock[threadIdx.y];

	if (blockIdx.x == 0 && threadIdx.x == 0) {
		_headDev = 0;
	}

	Context ctxt;
