include/scene.h
branchpyrit
changeset 86 ce6abe0aeeae
parent 84 6f7fe14782c2
child 91 9d66d323c354
equal deleted inserted replaced
85:907a634e5c02 86:ce6abe0aeeae
   176 	BBox(const Vector3 aL, const Vector3 aH): L(aL), H(aH) {};
   176 	BBox(const Vector3 aL, const Vector3 aH): L(aL), H(aH) {};
   177 	Float w() { return H.x-L.x; };
   177 	Float w() { return H.x-L.x; };
   178 	Float h() { return H.y-L.y; };
   178 	Float h() { return H.y-L.y; };
   179 	Float d() { return H.z-L.z; };
   179 	Float d() { return H.z-L.z; };
   180 	bool intersect(const Ray &ray, Float &a, Float &b);
   180 	bool intersect(const Ray &ray, Float &a, Float &b);
   181 	bool intersect_packet(const RayPacket &rays, __m128 &a, __m128 &b)
   181 	__m128 intersect_packet(const RayPacket &rays, __m128 &a, __m128 &b);
   182 	{
       
   183 		return intersect(rays[0], ((float*)&a)[0], ((float*)&b)[0])
       
   184 			|| intersect(rays[1], ((float*)&a)[1], ((float*)&b)[1])
       
   185 			|| intersect(rays[2], ((float*)&a)[2], ((float*)&b)[2])
       
   186 			|| intersect(rays[3], ((float*)&a)[3], ((float*)&b)[3]);
       
   187 	};
       
   188 };
   182 };
   189 
   183 
   190 #endif
   184 #endif