Opengl glRotatef rotiert elliptisch
-
Ich programmiere erst seit kurzem OpenGL und bin noch nicht sehr erfahren damit.
Momentan habe ich eine Klasse für ein kleineres Spiel programmiert, jedoch hänge ich an einer Stelle fest:
mein Programm soll bei jedem Aufruf von 'draw_scene()' alles um 'rotY' um die Y-Achse rotieren. Mein Aufruf zum rotieren sieht so aus:glRotatef(rotY, 0, 1, 0);
Mein Problem ist, dass das ganze elliptisch rotiert wird!
Mein Testobjekt bewegt sich 2 mal stärker auf Z-Achse wie auf der X-Achse.Leider konnte ich mit Google nichts zu diesem Problem finden.
Ich hoffe, es gibt hier jemanden, der mir weiterhelfen kann!
-
ich denke du koenntest eventuel das aspect ratio nicht richtig setzen.
schau dir die stelle an, bei der du die projection matrix setzt/berechnest.
-
Hi rapso,
mein Quellcode zur initialisierung von OpenGL sieht so aus( das Fenster und so generiere ich mit SDL ):
if(width == 0)width=1; if(height == 0)height=1; glClearColor( 0.2, 0.8, 1, 0.0 ); // Farbe zum Löschen setzen glEnable( GL_DEPTH_TEST ); // Z-Buffer und Tiefentest aktivieren glMatrixMode( GL_PROJECTION ); // Die Projektionsmatrix glLoadIdentity(); // zurücksetzen // Eine perspektivische Projektion setzen. glFrustum( -3, 3, -3, 3, 1, 100 ); glMatrixMode( GL_MODELVIEW ); // Die Transformationsmatrix glLoadIdentity(); // zurücksetzen...
-
Probier mal glViewport(0, 0, xres, yres), wobei xres und yres deine Auflösung ist.
-
glViewport ist es auch nicht.Ich bekomme bloß noch mehr Fehler beim rendern damit.
-
Es funktioniert endlich, nachdem ich alles von Grund auf neu geschrieben habe
Leider kann ich nicht genau sagen woran es lag ...
-
Ich weiß jetzt endlich was es war :
ich hatte nearClipping auf einen zu kleinen Wert gesetzt(0.1), sodass der Vordere Bereich extrem gestreckt wurde !!!