Add prototype collision checking
It outputs values, but they don't seem quite correct...
This commit is contained in:
parent
87b54a1b41
commit
3bb071ae7b
@ -3,6 +3,7 @@
|
||||
#include "../../Util/kdtree.h"
|
||||
#include "../Components/LODObjMesh.h"
|
||||
#include "../Components/Mesh.h"
|
||||
#include "../Components/MouseLook.h"
|
||||
#include "../Components/ObjMesh.h"
|
||||
#include "../Components/Transform.h"
|
||||
#include "../ECS.h"
|
||||
@ -71,6 +72,25 @@ class CollisionSystem : public EntitySystem {
|
||||
std::cout << kdtree->to_string() << std::endl;
|
||||
}
|
||||
|
||||
void tick(World *pWorld, float deltaTime) override {
|
||||
pWorld->each<Transform, MouseLook>([&](Entity *ent, ComponentHandle<Transform> transform,
|
||||
ComponentHandle<MouseLook> mouse_look) {
|
||||
glm::vec3 origin_glm = transform->get_origin();
|
||||
Vector origin = Vector(origin_glm.x, origin_glm.y, origin_glm.z);
|
||||
|
||||
// TODO: Get mouse look direction
|
||||
Ray ray(origin, Vector(0, 0, -1));
|
||||
|
||||
Triangle *result = kdtree->intersect_ray(ray);
|
||||
|
||||
if (result) {
|
||||
std::cout << result->p1[0] << ", " << result->p1[2] << ", " << result->p1[3]
|
||||
<< std::endl;
|
||||
}
|
||||
// TODO: Also output visually
|
||||
});
|
||||
}
|
||||
|
||||
void configure(World *pWorld) override { myWorld = pWorld; }
|
||||
|
||||
World *myWorld;
|
||||
|
Loading…
x
Reference in New Issue
Block a user