11#include <glm/gtc/type_ptr.hpp> 
   12#include <glm/gtc/matrix_transform.hpp> 
   16    constexpr glm::vec3 vec3_000{ 0.0f, 0.0f, 0.0f };
 
   17    constexpr glm::vec3 vec3_100{ 1.0f, 0.0f, 0.0f };
 
   18    constexpr glm::vec3 vec3_010{ 0.0f, 1.0f, 0.0f };
 
   19    constexpr glm::vec3 vec3_001{ 0.0f, 0.0f, 1.0f };
 
   20    constexpr glm::vec3 vec3_111{ 1.0f, 1.0f, 1.0f };
 
   24        glm::vec3 origin, dir;
 
   25        float z_near = std::numeric_limits<float>::max();
 
   28        Ray(
const glm::vec3& origin, 
const glm::vec3& dir);
 
   29        glm::vec3 point_of_contact() 
const;
 
 
   36    bool intersect_ray_AABB(
 
   38        const glm::vec3& aabb_min,
 
   39        const glm::vec3& aabb_max
 
   44    std::string to_string(
const glm::vec3& vec);
 
   48    std::string to_string(
const glm::vec4& vec);
 
   52    std::string to_string(
const glm::mat4& mat);
 
   60        const glm::vec3& translation);
 
   70        const glm::vec3& axis);
 
   88        const glm::vec3& scale);
 
   98        const glm::vec3& translation,
 
  100        const glm::vec3& axis);
 
  109        const glm::vec3& translation,
 
  110        const glm::vec3& scale);
 
  121        const glm::vec3& axis,
 
  122        const glm::vec3& scale);
 
  133        const glm::vec3& translation,
 
  135        const glm::vec3& axis,
 
  136        const glm::vec3& scale);
 
  165    glm::mat4 create_viewport_matrix(
 
  185    Ray world_ray_from_window_coords(
 
  186        const glm::ivec2& window_coords,
 
  189        const glm::mat4& VP);
 
  196    bool window_coords_from_world_pos(
 
  197        const glm::vec3& world_pos,
 
  198        const glm::mat4& VP_PROJ_V,
 
  199        glm::ivec2& window_coords);
 
Definition glmcommon.hpp:23