Я пытаюсь повернуть фигуру, используя библиотеку glm вместе с openGL. К сожалению, когда я пытаюсь повернуть фигуру с помощью glm :: rotate (), размеры моей фигуры растягиваются. Наряду с этим фигура вращается вокруг, казалось бы, случайной точки. Все двумерно.
Код вершинного шейдера:
#version 330 core
layout(location = 0) in vec2 pos;
uniform mat4 model;
uniform mat4 projection;
uniform mat4 view;
void main()
{
gl_Position = projection * view * model * vec4(pos.x, pos.y, 1.0f, 1.0f);
}
Код матрицы модели:
m_angle = angle;
m_modelMatrix = glm::rotate(glm::mat4(1.0f), glm::radians((float)m_angle), glm::vec3(0, 0, 1));
Код матриц проекции и просмотра:
glm::mat4 proj = glm::mat4(1.0f);
glm::mat4 view = glm::mat4(1.0f);
proj = glm::perspective(glm::radians(53.f), 1.f, 0.1f, 100.f);
view = glm::translate(view, glm::vec3(0.0f, 0.0f, -3.0f));