Я пытался повернуть квад, создав матрицу вида и матрицу модели. Я использую GLM для этого.
Вот код для создания матриц:
glm::mat4 view = glm::translate(glm::mat4(1.0f), position);
view = view * glm::rotate(glm::radians(pitch), glm::vec3(1.0f, 0.0f, 0.0f));
glm::mat4 model = glm::translate(glm::mat4(1.0f), glm::vec3(0.0f, 0.0f, 0.0f));
Вот вершинный шейдер:
#version 330 core
layout (location = 0) in vec3 aPos;
uniform mat4 projection;
uniform mat4 view;
uniform mat4 model;
void main()
{
gl_Position = projection * view * model * vec4(aPos, 1.0);
}
Итак, этот кодвращает объекты, но они очень искажаются при вращении, и они вращаются медленнее в верхней и нижней частях экрана. Я попытался найти другой способ сделать это, но все остальное вообще ничего не показывало на экране.
РЕДАКТИРОВАТЬ: Вот ссылка на искажение: https://imgur.com/a/HzUNJAe