Реализация собственной функции вращения в OpenGL

Я пытаюсь реализовать свою собственную функцию поворота в OpenGL на C ++, то есть что-то вроде glRotate. Мой код для вращения вокруг y выглядит так:

void do_rotateY(GLdouble angle)
{
//rotate around y axis
GLdouble s = angle;
GLdouble c[4][4];
c[1][1] = c[3][3]= 1.0;
c[0][0] = c[2][2] = cos(s);
c[2][0] = sin(s);
c[0][2] = -c[2][0];
glMultMatrixd(*c);
}

Когда я делаю звонок, как:

glPushMatrix();
do_rotateY(100);
...draw something...
glPopMatrix();

на экране ничего не появляется. Когда я заменяю do_rotateY (…) на glRotatef (…), я вижу все правильно.

1

Решение

C ++ cos а также sin ожидайте радианные аргументы, но вы проходите градусы.

Все остальное выглядит хорошо для меня.

3

Другие решения

Других решений пока нет …