Add mouse direction getter for CollisionSystem

This commit is contained in:
karl 2021-01-02 16:40:46 +01:00
parent 7cc6531928
commit fc880b397a
2 changed files with 7 additions and 2 deletions

View File

@ -11,6 +11,8 @@
struct MouseLook { struct MouseLook {
explicit MouseLook(float sensitivity) : sensitivity(sensitivity) {} explicit MouseLook(float sensitivity) : sensitivity(sensitivity) {}
glm::vec3 get_look_direction() { return glm::mat3_cast(rotation) * glm::vec3(0, 0, -1); }
float sensitivity; float sensitivity;
double yaw = 0.0; double yaw = 0.0;

View File

@ -78,8 +78,10 @@ class CollisionSystem : public EntitySystem {
glm::vec3 origin_glm = transform->get_origin(); glm::vec3 origin_glm = transform->get_origin();
Vector origin = Vector(origin_glm.x, origin_glm.y, origin_glm.z); Vector origin = Vector(origin_glm.x, origin_glm.y, origin_glm.z);
// TODO: Get mouse look direction glm::vec3 direction_glm = mouse_look->get_look_direction();
Ray ray(origin, Vector(0, 0, -3)); Vector direction = Vector(direction_glm.x, direction_glm.y, direction_glm.z);
Ray ray(origin, direction * 5.0);
Triangle *result = kdtree->intersect_ray(ray); Triangle *result = kdtree->intersect_ray(ray);
@ -87,6 +89,7 @@ class CollisionSystem : public EntitySystem {
std::cout << result->p1[0] << ", " << result->p1[1] << ", " << result->p1[2] std::cout << result->p1[0] << ", " << result->p1[1] << ", " << result->p1[2]
<< std::endl; << std::endl;
} }
// TODO: Also output visually // TODO: Also output visually
}); });
} }