Простая версия моего проекта - вращение сферы на основе пользовательского ввода.
Однако мои повороты становятся странными после нескольких поворотов в определенных ситуациях из-за локальной системы координат openGL.
Что мне действительно нужно, так это вращаться на основе фиксированной системы координат мира. Так, что когда я вращаю сферу, ее оси вращения тоже не вращаются.
Эта проблема объяснена здесь http://www.opengl.org/resources/faq/technical/transformations.htm в 9.070.
Я все это понимаю. Однако настройка того, что они предлагают, немного выше моего уровня квалификации. У кого-нибудь есть опыт с этим? Я попытался с помощью кода, который я нашел здесь
http: // chaosengineer.com/?cat=19
но не повезло.
Вот основной код, который я использую.
glPushMatrix();
//draw in middle of the screen
glTranslatef(ofGetWidth()/2,ofGetHeight()/2,0);
glRotatef(xRot,1,0,0);
glRotatef(zRot,0,0,1);
glTranslatef(-ofGetWidth()/2,-ofGetHeight()/2,0);
ofSetColor(255, 255, 255, 255);
squirrelModel.draw();
glPopMatrix();