]> git.localhorst.tv Git - blank.git/blobdiff - src/model/shape.cpp
implemented font redering
[blank.git] / src / model / shape.cpp
index 1c831498e6e36a16cd6d1710c806405f7ca6c076..df98f93db827e97d1b6a41a20da902687ccc46cb 100644 (file)
@@ -80,6 +80,16 @@ bool NullShape::Intersects(
        return false;
 }
 
+bool NullShape::Intersects(
+       const glm::mat4 &,
+       const AABB &,
+       const glm::mat4 &,
+       float &,
+       glm::vec3 &
+) const noexcept {
+       return false;
+}
+
 
 CuboidShape::CuboidShape(const AABB &b)
 : Shape()
@@ -167,6 +177,16 @@ bool CuboidShape::Intersects(
        return Intersection(ray, bb, M, &dist, &normal);
 }
 
+bool CuboidShape::Intersects(
+       const glm::mat4 &M,
+       const AABB &box,
+       const glm::mat4 &box_M,
+       float &depth,
+       glm::vec3 &normal
+) const noexcept {
+       return Intersection(bb, M, box, box_M, depth, normal);
+}
+
 
 StairShape::StairShape(const AABB &bb, const glm::vec2 &clip)
 : Shape()
@@ -326,4 +346,15 @@ bool StairShape::Intersects(
        }
 }
 
+bool StairShape::Intersects(
+       const glm::mat4 &M,
+       const AABB &box,
+       const glm::mat4 &box_M,
+       float &depth,
+       glm::vec3 &normal
+) const noexcept {
+       // TODO: this is wrong, but simple. so for now will have to do
+       return Intersection(bot, M, box, box_M, depth, normal) || Intersection(top, M, box, box_M, depth, normal);
+}
+
 }