Collision Detection
void key_callback(GLFWwindow *window, int key, int scancode, int action, int mods)
{
....
// check collision detection
AABB mybox{ nextViewPos - 0.2f, nextViewPos + 0.2f };
std::vector<int> out;
bool bCollide = false;
for (std::shared_ptr<Mesh> pMesh : meshList)
{
pMesh->pSpatial->QueryAABB(mybox, out);
if (out.empty()) {
std::cout << "No collision" << std::endl;
} else {
bCollide = true;
std::cout << "Collision detected: " << out.size() << std::endl;
}
}
if (!bCollide) {
matView = nextMatView;
viewPos = nextViewPos;
}
}Last updated