Back to class index
| AABB::IntersectLineAABBSyntaxbool AABB::IntersectLineAABB(const float4 &linePos, const float4 &lineDir, float &tNear, float &tFar) const; [7 lines of code]Computes the intersection of a line, ray or line segment and an AABB. Based on "T. Kay, J. Kajiya. Ray Tracing Complex Scenes. SIGGRAPH 1986 vol 20, number 4. pp. 269-" http://www.siggraph.org/education/materials/HyperGraph/raytrace/rtinter3.htm Note This is a low level utility function. It may be more convenient to use one of the AABB::Intersects() functions instead. Parametersconst float4 &linePosThe starting position of the line. const float4 &lineDirThe direction of the line. This direction vector must be normalized! float &tNear [in, out]For the test, the input line is treated as a line segment. Pass in the signed distance from the line origin to the start of the line. For a Line-AABB test, -FLOAT_INF is typically passed here. For a Ray-AABB test, 0.0f should be inputted. If intersection occurs, the signed distance from line origin to the line entry point in the AABB is returned here.float &tFar [in, out]Pass in the signed distance from the line origin to the end of the line. For Line-AABB and Ray-AABB tests, pass in FLOAT_INF. For a LineSegment-AABB test, pass in the length of the line segment here. If intersection occurs, the signed distance from line origin to the line exit point in the AABB is returned here. Return ValueTrue if an intersection occurs, false otherwise. See Also |