diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2025-12-24 15:35:21 +0100 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2025-12-24 15:35:21 +0100 |
| commit | b4d24e8f2cb4838acc0b827f007e7faa609039ba (patch) | |
| tree | ba6504b67923789d84b2473eb4e14f7002e34ab7 /include/aabb.hpp | |
| parent | c29105b461135f3909cca0308fb05715cee45763 (diff) | |
Use build.bat for building
Everything is included in main.cpp
Do not rely on vcpkg anymore
Diffstat (limited to 'include/aabb.hpp')
| -rw-r--r-- | include/aabb.hpp | 15 |
1 files changed, 9 insertions, 6 deletions
diff --git a/include/aabb.hpp b/include/aabb.hpp index 9862355..adeb1fb 100644 --- a/include/aabb.hpp +++ b/include/aabb.hpp @@ -1,9 +1,6 @@ #ifndef __AABB_HPP_
#define __AABB_HPP_
-#include <cmath>
-#include <climits>
-
#include "vec3.hpp"
#include "triangle.hpp"
@@ -33,11 +30,14 @@ class aabb { int32_t maximum_axis() const {
vec3 diag = diagonal();
+ float v0 = diag.get<0>();
+ float v1 = diag.get<1>();
+ float v2 = diag.get<2>();
- if (diag.v[0] > diag.v[1] && diag.v[0] > diag.v[2]) {
+ if (v0 > v1 && v0 > v2) {
return 0;
}
- if (diag.v[1] > diag.v[2]) {
+ if (v1 > v2) {
return 1;
}
return 2;
@@ -53,7 +53,10 @@ class aabb { float surface_area() const {
auto diag = diagonal();
- return 2.f * (diag.v[0] * diag.v[1] + diag.v[0] * diag.v[2] + diag.v[1] * diag.v[2]);
+ float v0 = diag.get<0>();
+ float v1 = diag.get<1>();
+ float v2 = diag.get<2>();
+ return 2.f * (v0 * v1 + v0 * v2 + v1 * v2);
}
vec3 minimum = vec3(std::numeric_limits<float>::max());
|
