All pastes #640754 Raw Edit

Untitled

public text v1 · immutable
#640754 ·published 2007-07-31 17:10 UTC
rendered paste body
inline vectype bbox_test_ray_ints_nosse(bbox_p bbox, ray_p ray, ray_extra_p re)
{
 vectype tmin, tmax, tymin, tymax, tzmin, tzmax;

 tmax = (bbox->bounds[re->signs[0]][0] - ray->point[0]) * re->invdir[0];
 if(tmax < 0) return tmax;
 tmin = (bbox->bounds[1 - re->signs[0]][0] - ray->point[0]) * re->invdir[0];

 tymax = (bbox->bounds[re->signs[1]][1] - ray->point[1]) * re->invdir[1];
 if(tymax < 0) return tymax;
 tymin = (bbox->bounds[1 - re->signs[1]][1] - ray->point[1]) * re->invdir[1];

 if((tmin > tymax) || (tymin > tmax)) return -1;

 if(tymin > tmin) tmin = tymin;
 if(tymax < tmax) tmax = tymax;

 tzmax = (bbox->bounds[re->signs[2]][2] - ray->point[2]) * re->invdir[2];
 if(tzmax < 0) return tzmax;
 tzmin = (bbox->bounds[1 - re->signs[2]][2] - ray->point[2]) * re->invdir[2];

 if((tmin > tzmax) || (tzmin > tmax)) return -2;

 if(tzmin > tmin) tmin = tzmin;
 if(tzmax < tmax) tmax = tzmax;

 return tmin<0?0.0:tmin;
}