group2 0.1.0
CSE 125 Group 2
Loading...
Searching...
No Matches
SimdAabb.hpp File Reference

SIMD AABB-vs-AABB and ray-vs-AABB batch helpers. More...

#include <cstdint>
#include <glm/vec3.hpp>
Include dependency graph for SimdAabb.hpp:

Go to the source code of this file.

Namespaces

namespace  physics
 Pure physics math — no ECS types, no registry.
namespace  physics::simd

Macros

#define GROUP2_HAVE_SSE2   0

Functions

uint32_t physics::simd::aabbBatchOverlap (const float(&minX)[4], const float(&minY)[4], const float(&minZ)[4], const float(&maxX)[4], const float(&maxY)[4], const float(&maxZ)[4], glm::vec3 queryMin, glm::vec3 queryMax) noexcept
 Test 4 candidate AABBs against one query AABB.

Detailed Description

SIMD AABB-vs-AABB and ray-vs-AABB batch helpers.

4-wide batched tests for the broadphase / trimesh BVH inner loop. Falls back to scalar code on non-x86 platforms so the API is portable.

Determinism caveat. SSE/AVX horizontal reductions (hadd_ps, _mm_movemask_ps) compute the same numeric result as scalar code for these tests because we only check signs / mask bits — no float reductions across lanes. Output is bit-equal across SSE / scalar builds.

Macro Definition Documentation

◆ GROUP2_HAVE_SSE2

#define GROUP2_HAVE_SSE2   0