Program Listing for File collision_query.hpp¶
↰ Return to documentation for file (inexor/vulkan-renderer/world/collision_query.hpp
)
#pragma once
#include "inexor/vulkan-renderer/world/collision.hpp"
#include <glm/vec3.hpp>
#include <optional>
// Forward declaration
namespace inexor::vulkan_renderer::world {
class Cube;
} // namespace inexor::vulkan_renderer::world
namespace inexor::vulkan_renderer::world {
// TODO: Implement PointCubeCollision
[[nodiscard]] bool ray_box_collision(std::array<glm::vec3, 2> &box_bounds, glm::vec3 &pos, glm::vec3 &dir);
[[nodiscard]] std::optional<RayCubeCollision<Cube>>
ray_cube_collision_check(const Cube &cube, glm::vec3 pos, glm::vec3 dir,
std::optional<std::uint32_t> max_depth = std::nullopt);
} // namespace inexor::vulkan_renderer::world