 	auto pclr = sampleColorRGB(aovs, width, height, p);
 	auto jclr = sampleColorRGB(aovs, width, height, make_int2(p.x - 1, p.y - 1));
 
-	auto f = sqrtf(dot(jitter, jitter));
+	auto f = sqrtf(dot(jitter, jitter)) / sqrtf(2.0f);
 
 	auto ret = lerp(jclr, pclr, f);
 

#endif
}

inline __device__ float3 sampleColor(
	const idaten::SVGFPathTracing::AOV* __restrict__ aovs,
	int width, int height,
	int2 p)
{
	int ix = clamp(p.x, 0, width);
	int iy = clamp(p.y, 0, height);

	auto idx = getIdx(ix, iy, width);

	auto c = aovs[idx].color;

#ifdef ENABLE_YCOCG
	auto rgb = make_float3(c.x, c.y, c.z);
	auto ycocg = RGB2YCoCg(rgb);

	return ycocg;
#else
	return make_float3(c.x, c.y, c.z);
#endif
}

inline __device__ float3 sampleColorRGB(
	const idaten::SVGFPathTracing::AOV* __restrict__ aovs,
	int width, int height,
	int2 p)
{
	int ix = clamp(p.x, 0, width);
	int iy = clamp(p.y, 0, height);

	auto idx = getIdx(ix, iy, width);

	auto c = aovs[idx].color;

	return make_float3(c.x, c.y, c.z);
}

inline __device__ float3 sampleColor(


	int2 uv = make_int2(ix, iy);

	float3 ctl = sampleColor(aovs, width, height, uv - dv - du, jitter);
	float3 ctc = sampleColor(aovs, width, height, uv - dv, jitter);
	float3 ctr = sampleColor(aovs, width, height, uv - dv + du, jitter);
	float3 cml = sampleColor(aovs, width, height, uv - du, jitter);
	float3 cmc = sampleColor(aovs, width, height, uv, jitter);
	float3 cmr = sampleColor(aovs, width, height, uv + du, jitter);
	float3 cbl = sampleColor(aovs, width, height, uv + dv - du, jitter);
	float3 cbc = sampleColor(aovs, width, height, uv + dv, jitter);
	float3 cbr = sampleColor(aovs, width, height, uv + dv + du, jitter);

	float3 cmin = min(ctl, min(ctc, min(ctr, min(cml, min(cmc, min(cmr, min(cbl, min(cbc, cbr))))))));
	float3 cmax = max(ctl, max(ctc, max(ctr, max(cml, max(cmc, max(cmr, max(cbl, max(cbc, cbr))))))));
