ray-box
Canonical Import
fennel
(local ray-box (require :ray-box))Source Files
src/lua_ray_box.cpp
What It Provides
ray-box provides a native ray-versus-oriented-box intersection helper for picking and hit testing.
API Summary
ray-box-intersection(ray bounds)returnshit?,intersection, anddistance.rayshould containoriginanddirectionasglm.vec3values.boundsmay containposition,rotation,min-bounds,max-boundsorsize, andepsilon.
Examples
fennel
(local ray-box (require :ray-box))
(local glm (require :glm))
(local (hit point distance)
(ray-box.ray-box-intersection
{:origin (glm.vec3 0 0 -5) :direction (glm.vec3 0 0 1)}
{:position (glm.vec3 0 0 0) :size (glm.vec3 2 2 2)}))
(when hit
(print point distance))Errors and Platform Notes
Missing origin or direction returns no hit instead of raising. Bounds default to an unrotated box at the origin with zero size unless size or max-bounds is supplied.
Related Modules
glmfor vector and quaternion values.
Aliases and Search Terms
Search terms: ray box, picking, intersection, hit test, oriented bounds, AABB, OBB.
