Повернуть объект с помощью клавиш

Я написал код ниже, чтобы вращать куб, но он вращается не правильно. Мне нужно сохранить матрицу вида без изменений, но я не могу догадаться, как это сделать.

Код:

void key_callback(GLFWwindow* window, int key, int scancode, int action, int mode)
{
    if (key == GLFW_KEY_ESCAPE && action == GLFW_PRESS)
        glfwSetWindowShouldClose(window, GL_TRUE);
    if (key == GLFW_KEY_UP) 
    {
        model = rotate(model, 0.08f, vec3(1.0f, 0.0f, 0.0f));
    }
    if (key == GLFW_KEY_DOWN)
    {
        model = rotate(model, 0.08f, vec3(-1.0f, 0.0f, 0.0f));
    }
    if (key == GLFW_KEY_RIGHT)
    {
        model = rotate(model, 0.08f, vec3(0.0f, 1.0f, 0.0f));
    }
    if (key == GLFW_KEY_LEFT)
    {
        model = rotate(model, 0.08f, vec3(0.0f, -1.0f, 0.0f));
    }
}

0 ответов

Другие вопросы по тегам