diff options
| author | ladevieq <ladevie.quentin@gmail.com> | 2021-08-01 18:45:50 +0200 |
|---|---|---|
| committer | ladevieq <ladevie.quentin@gmail.com> | 2021-08-01 19:03:21 +0200 |
| commit | 93fa0b2e214fbb70e6c03f5ca7536c7c32544aa7 (patch) | |
| tree | d95fa69b1efb9f7d23f0ec61aee804bebe054350 /include/aabb.hpp | |
| parent | 0dafba17af044532fa2f14c61176e7994336f56c (diff) | |
Pack bvh nodes, optimize vertices size
Diffstat (limited to 'include/aabb.hpp')
| -rw-r--r-- | include/aabb.hpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/include/aabb.hpp b/include/aabb.hpp index 3a4e680..9bc69d1 100644 --- a/include/aabb.hpp +++ b/include/aabb.hpp @@ -2,15 +2,20 @@ #define __AABB_HPP_
#include "vec3.hpp"
+#include "triangle.hpp"
#include <cmath>
#include <limits.h>
class aabb {
public:
aabb() = default;
- aabb(vec3 min_point, vec3 max_point): minimum(min_point), maximum(max_point) {}
- aabb(vec3 position, float radius): minimum(position - vec3(radius)), maximum(position + vec3(radius)) {}
- aabb(point3 &v1, point3 &v2, point3 &v3) {
+ aabb(vec3 &min_point, vec3 &max_point): minimum(min_point), maximum(max_point) {}
+ aabb(vec3 &position, float radius): minimum(position - vec3(radius)), maximum(position + vec3(radius)) {}
+ aabb(triangle &tri) {
+ auto &v1 = tri.v1.position;
+ auto &v2 = tri.v2.position;
+ auto &v3 = tri.v3.position;
+
minimum.x = fmin(fmin(v1.x, v2.x), v3.x);
minimum.y = fmin(fmin(v1.y, v2.y), v3.y);
minimum.z = fmin(fmin(v1.z, v2.z), v3.z);
|
