Я пытаюсь написать орбитальную камеру (на основе glm :: quat) для моего приложения OpenGL. У меня есть несколько вопросов:Камера орбиты (C++, GLM)
я делаю силам ли ViewMatrix из RotationMatrix + позиции камеры?
camera_quat = glm :: quat (glm :: vec3 (tmp_pitch, tmp_yaw, 0)) * camera_quat;
float pitch = camera_quat.pitch(); float yaw = camera_quat.yaw(); glm::mat4 rotate = glm::mat4_cast(camera_quat); glm::vec3 view_direction(cos(yaw) * cos(pitch), sin(pitch), -sin(yaw) * cos(pitch)); camera_position = target - view_direction * radius; glm::mat4 translate = glm::translate(camera_position); glm::mat4 view_matrix = **???**;
Является ли эта линия правильно ?:
glm::vec3 view_direction(cos(yaw) * cos(pitch), sin(pitch), -sin(yaw) * cos(pitch));
P.S. Извините, если мой английский плохой. Это не мой родной язык, я русский. Надеюсь, вы можете мне помочь. Заранее спасибо!
Если у вас есть кватернион, почему вы используете углы Эйлера как рыскания, тангажа и крена? –
Недавно я начал использовать кватернионы ... Новичок в этом случае :( – Saitei
Я пытаюсь повернуть камеру вокруг какого-то объекта с помощью джойстика. Tmp_ (yaw/pitch) Позвольте мне построить временное quat для одного кадра – Saitei