 
 		bool isHit = false;
 
-		if (attrib.x >= 0 || attrib.y >= 0) {
+		if (attrib.y >= 0) {
 			const auto& prim = ctxt->prims[(int)attrib.y];
 
 			isectTmp.t = AT_MATH_INF;

				isectTmp.mtrlid = s->mtrl.idx;
			}

			if (isHit) {
				if (isectTmp.t < isect->t) {
					*isect = isectTmp;
					isect->objid = (int)attrib.x;

					if (type == IntersectType::Closer) {
						return true;
					}
				}
			}
		}


	real t = AT_MATH_INF;

	while (nodeid >= 0) {
		node = tex1Dfetch<float4>(nodes, 4 * nodeid + 0);	// x : hit, y: miss
		attrib = tex1Dfetch<float4>(nodes, 4 * nodeid + 1);	// x : shapeid, y : primgid, z : exid
		aabb[0] = tex1Dfetch<float4>(nodes, 4 * nodeid + 2);
