forked from LeenkxTeam/LNXSDK
Add leenkx/Shaders/std/aabb.glsl
This commit is contained in:
18
leenkx/Shaders/std/aabb.glsl
Normal file
18
leenkx/Shaders/std/aabb.glsl
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
#ifndef _AABB_GLSL
|
||||||
|
#define _AABB_GLSL
|
||||||
|
|
||||||
|
bool IntersectAABB(vec3[2] a, vec3[2] b) {
|
||||||
|
const float EPSILON = 0.001; // Small tolerance to prevent false negatives
|
||||||
|
if (abs(a[0].x - b[0].x) > (a[1].x + b[1].x + EPSILON)) return false;
|
||||||
|
if (abs(a[0].y - b[0].y) > (a[1].y + b[1].y + EPSILON)) return false;
|
||||||
|
if (abs(a[0].z - b[0].z) > (a[1].z + b[1].z + EPSILON)) return false;
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
|
||||||
|
void AABBfromMinMax(inout vec3[2] aabb, vec3 _min, vec3 _max)
|
||||||
|
{
|
||||||
|
aabb[0] = (_min + _max) * 0.5f;
|
||||||
|
aabb[1] = abs(_max - aabb[0]);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif
|
Reference in New Issue
Block a user