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 "../../Util/kdtree.h"
|
||||||
#include "../Components/LODObjMesh.h"
|
#include "../Components/LODObjMesh.h"
|
||||||
#include "../Components/Mesh.h"
|
#include "../Components/Mesh.h"
|
||||||
|
#include "../Components/MouseLook.h"
|
||||||
#include "../Components/ObjMesh.h"
|
#include "../Components/ObjMesh.h"
|
||||||
#include "../Components/Transform.h"
|
#include "../Components/Transform.h"
|
||||||
#include "../ECS.h"
|
#include "../ECS.h"
|
||||||
@ -71,6 +72,25 @@ class CollisionSystem : public EntitySystem {
|
|||||||
std::cout << kdtree->to_string() << std::endl;
|
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; }
|
void configure(World *pWorld) override { myWorld = pWorld; }
|
||||||
|
|
||||||
World *myWorld;
|
World *myWorld;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user