//************************************************************************************************ // //************************************************************************************************ static public bool Intersect(Ray ray, float range, CORE.Plane plane, ref float t) { Vector3 prj = ray.direction * range; float prjD = Vector3.Dot(prj, plane.n); if (prjD >= 0.0f) { return(false); } Vector3 sep = plane.p - ray.origin; float sepD = Vector3.Dot(sep, plane.n); if (sepD < prjD) { return(false); } t = sepD / prjD; return(true); }