 			auto emit = sampleres.finalColor;
 
 			if (light.attrib.isSingular || light.attrib.isInfinite) {
-				if (pdfLight > real(0)) {
+				if (pdfLight > real(0) && cosShadow >= 0) {
 					// TODO
 					// WIg^[̈ɂ.
 					// singular light ̏ꍇ́AfinalColor ɋ̏Z܂܂Ă.

		auto lightobj = sampleres.obj;

		auto dirToLight = normalize(sampleres.dir);
		auto distToLight = length(sampleres.dir);

		real distHitObjToRayOrg = AT_MATH_INF;


		dim3 threadPerBlock(64);

		shade << <blockPerGrid, threadPerBlock >> > (
		//shade << <1, 1 >> > (
			outputSurf,
			paths.ptr(),
			m_hitidx.ptr(), hitcount,
