Minor bugfixes in CollisionSystem

The global origin wasn't taken into account, and the output had an issue.
This commit is contained in:
karl 2021-01-02 16:25:41 +01:00
parent 3bb071ae7b
commit 7cc6531928

View File

@ -42,9 +42,9 @@ class CollisionSystem : public EntitySystem {
// Transform to World Position -- these are local coordinates with // Transform to World Position -- these are local coordinates with
// individual mesh origins // individual mesh origins
v1glm = transform->matrix * v1glm; v1glm = transform->matrix * v1glm + glm::vec4(transform->get_origin(), 0.0);
v2glm = transform->matrix * v2glm; v2glm = transform->matrix * v2glm + glm::vec4(transform->get_origin(), 0.0);
v3glm = transform->matrix * v3glm; v3glm = transform->matrix * v3glm + glm::vec4(transform->get_origin(), 0.0);
Vector v1(v1glm.x, v1glm.y, v1glm.z); Vector v1(v1glm.x, v1glm.y, v1glm.z);
Vector v2(v2glm.x, v2glm.y, v2glm.z); Vector v2(v2glm.x, v2glm.y, v2glm.z);
@ -79,12 +79,12 @@ class CollisionSystem : public EntitySystem {
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 // TODO: Get mouse look direction
Ray ray(origin, Vector(0, 0, -1)); Ray ray(origin, Vector(0, 0, -3));
Triangle *result = kdtree->intersect_ray(ray); Triangle *result = kdtree->intersect_ray(ray);
if (result) { if (result) {
std::cout << result->p1[0] << ", " << result->p1[2] << ", " << result->p1[3] std::cout << result->p1[0] << ", " << result->p1[1] << ", " << result->p1[2]
<< std::endl; << std::endl;
} }
// TODO: Also output visually // TODO: Also output visually