NullShape();
bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override;
+ bool Intersects(const glm::mat4 &, const AABB &, const glm::mat4 &) const noexcept override;
};
CuboidShape(const AABB &bounds);
bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override;
+ bool Intersects(const glm::mat4 &, const AABB &, const glm::mat4 &) const noexcept override;
private:
AABB bb;
StairShape(const AABB &bounds, const glm::vec2 &clip);
bool Intersects(const Ray &, const glm::mat4 &, float &, glm::vec3 &) const noexcept override;
+ bool Intersects(const glm::mat4 &, const AABB &, const glm::mat4 &) const noexcept override;
private:
AABB top, bot;