]> git.localhorst.tv Git - blank.git/blobdiff - src/geometry.hpp
block place/remove timers
[blank.git] / src / geometry.hpp
index bcc9c9a0918ef1dabfe270441818340bc1f45104..df75f22bf66720d31c6b4d4e0c08b83cb7fb312d 100644 (file)
@@ -7,11 +7,17 @@
 
 namespace blank {
 
+constexpr float PI = 3.141592653589793238462643383279502884;
+constexpr float PI_0p25 = PI * 0.25f;
+constexpr float PI_0p5 = PI * 0.5f;
+constexpr float PI_1p5 = PI * 1.5f;
+constexpr float PI_2p0 = PI * 2.0f;
+
 struct AABB {
        glm::vec3 min;
        glm::vec3 max;
 
-       void Adjust() {
+       void Adjust() noexcept {
                if (max.x < min.x) std::swap(max.x, min.x);
                if (max.y < min.y) std::swap(max.y, min.y);
                if (max.z < min.z) std::swap(max.z, min.z);
@@ -28,7 +34,9 @@ bool Intersection(
        const AABB &,
        const glm::mat4 &M,
        float *dist = nullptr,
-       glm::vec3 *normal = nullptr);
+       glm::vec3 *normal = nullptr) noexcept;
+
+bool CullTest(const AABB &box, const glm::mat4 &MVP) noexcept;
 
 }