 	aten::Intersection isect;
 	aten::sampler sampler;
 	
-	int mtrlid;
-
 	real pdfb;
 
 	bool isHit;
 	bool isTerminate;
+	bool isSingular;
 };
 
 #define BLOCK_SIZE	(16)

	rays[idx] = camsample.r;

	path.throughput = aten::make_float3(1);
	path.mtrlid = -1;
	path.pdfb = 0.0f;
	path.isHit = false;
	path.isTerminate = false;

	// Accumulate value, so do not reset.
	//path.contrib = aten::make_float3(0);

			path.isTerminate = true;
			return;
		}
		else if (path.isSingular) {
			auto emit = mtrl->baseColor;
			path.contrib += path.throughput * emit;
			path.isTerminate = true;
			return;
