Lines Matching refs:ry
97 static void bndbox_intersect(bndbox *bx, ray *ry) { in bndbox_intersect() argument
105 if (ry->flags & RT_RAY_BOUNDED) { in bndbox_intersect()
106 if ((ry->s.x > bx->max.x) && (ry->e.x > bx->max.x)) in bndbox_intersect()
108 if ((ry->s.x < bx->min.x) && (ry->e.x < bx->min.x)) in bndbox_intersect()
111 if ((ry->s.y > bx->max.y) && (ry->e.y > bx->max.y)) in bndbox_intersect()
113 if ((ry->s.y < bx->min.y) && (ry->e.y < bx->min.y)) in bndbox_intersect()
116 if ((ry->s.z > bx->max.z) && (ry->e.z > bx->max.z)) in bndbox_intersect()
118 if ((ry->s.z < bx->min.z) && (ry->e.z < bx->min.z)) in bndbox_intersect()
125 if (ry->d.x == 0.0) { in bndbox_intersect()
126 if ((ry->o.x < bx->min.x) || (ry->o.x > bx->max.x)) in bndbox_intersect()
130 tx1 = (bx->min.x - ry->o.x) / ry->d.x; in bndbox_intersect()
131 tx2 = (bx->max.x - ry->o.x) / ry->d.x; in bndbox_intersect()
147 if (ry->d.y == 0.0) { in bndbox_intersect()
148 if ((ry->o.y < bx->min.y) || (ry->o.y > bx->max.y)) in bndbox_intersect()
152 ty1 = (bx->min.y - ry->o.y) / ry->d.y; in bndbox_intersect()
153 ty2 = (bx->max.y - ry->o.y) / ry->d.y; in bndbox_intersect()
169 if (ry->d.z == 0.0) { in bndbox_intersect()
170 if ((ry->o.z < bx->min.z) || (ry->o.z > bx->max.z)) in bndbox_intersect()
174 tz1 = (bx->min.z - ry->o.z) / ry->d.z; in bndbox_intersect()
175 tz2 = (bx->max.z - ry->o.z) / ry->d.z; in bndbox_intersect()
192 newray = *ry; in bndbox_intersect()
195 RAYPNT(newray.s, (*ry), tnear); in bndbox_intersect()
196 RAYPNT(newray.e, (*ry), (tfar + EPSILON)); in bndbox_intersect()