Я пытаюсь заставить сферу соприкасаться с полом. Радиус сфер равен 1.0f - мне нужно решить, как определить расстояние между сферой и полом.
Сфера находится здесь
glm::mat4 mv_matrix_sphere =
glm::translate(glm::vec3(-2.0f, y, 0.0f)) *
glm::rotate(-t, glm::vec3(0.0f, 1.0f, 0.0f)) *
glm::rotate(-t, glm::vec3(1.0f, 0.0f, 0.0f)) *
glm::mat4(1.0f);
mySphere.mv_matrix = myGraphics.viewMatrix * mv_matrix_sphere;
mySphere.proj_matrix = myGraphics.proj_matrix;
Где y = 20.0f
Сфера упадет и приземлится на пол в
myFloor.mv_matrix = myGraphics.viewMatrix *
glm::translate(glm::vec3(0.0f, 0.0f, 0.0f)) *
glm::scale(glm::vec3(1000.0f, 0.001f, 1000.0f)) *
glm::mat4(1.0f);
myFloor.proj_matrix = myGraphics.proj_matrix;
Функция, которая мне нужна, сработает, когда Сфера находится на расстоянии 1.0f (радиус) от пола, так что она сталкивается с ней, а не обрывается.