Код: Выделить всё
glm::mat4 getViewMatrix(Transform& camTransform) {
glm::mat4 view = glm::mat4(1.0f);
view = glm::rotate(view, glm::radians(camTransform.Rotation.x), glm::vec3(1, 0, 0));
view = glm::rotate(view, glm::radians(camTransform.Rotation.y), glm::vec3(0, 1, 0));
view = glm::rotate(view, glm::radians(camTransform.Rotation.z), glm::vec3(0, 0, 1));
view = glm::translate(view, -camTransform.Position);
return view;
}
Основная проблема, с которой я столкнулся, заключается в том, что первые два вращения (независимо от того, являются ли они x, y или z), но последнее вращение работает только на глобальной оси, а не на местной оси. Мне действительно нужна помощь, потому что я смотрел по всему Интернету, и все они используют обзор без каких -либо установленных позиций или вращений и используют математику, которая меня смущает.>
Подробнее здесь: https://stackoverflow.com/questions/795 ... iew-matrix
Мобильная версия