 			float4 prev;
 			surf2Dread(&prev, outSurface, px * sizeof(float4), py);
 
-#if 0
-			int n = (int)prev.w;
-
-			// TODO
-			n = min(16, n);
-
-			// ݂̃t[ƑÕt[̃J[.
-			cur = prev * n + cur;
-			cur /= (float)(n + 1);
-			cur.w = n + 1;
-#else		
 			float2 diff = make_float2(ix - px, iy - py);
 			float len = length(diff);
 

	float3 centerNormal = make_float3(aov.z, aov.w, 0);
	centerNormal.z = sqrtf(1 - clamp(dot(centerNormal, centerNormal), 0.0f, 1.0f));

	// Õt[̃NbvԍWvZ.
	aten::vec4 prevPos;
	computePrevPos(

	bool isInsideX = (0.0 <= prevPos.x) && (prevPos.x <= 1.0);
	bool isInsideY = (0.0 <= prevPos.y) && (prevPos.y <= 1.0);

	if (isInsideX && isInsideY) {
		// Õt[̃XN[W.
		int px = (int)(prevPos.x * width - 0.5f);
