Wenn ich rufeOpenGL Matrix-Stack
float before[16];
float during[16];
float after[16];
glGetFloatv(GL_MODELVIEW_MATRIX, before);
glPushMatrix();
glGetFloatv(GL_MODELVIEW_MATRIX, during);
glPopMatrix();
glGetFloatv(GL_MODELVIEW_MATRIX, after);
Die Werte vor und nach unterschiedlich sind. Habe ich etwas vermisst, hatte ich gedacht, dass keine dieser Funktionen die Matrix verändern sollte. Es scheint, dass Pop der Übeltäter ist, wie während vorher gleich ist.
Das klingt nicht richtig. Was sind die Werte von vorher/nachher? Erkennst du sie? Mein einziger anderer Gedanke war es glGetError zu überprüfen, falls etwas anderes schief gegangen ist. – Tim
Eigentlich sollten die Werte für alle 3 abgerufenen Matrizen identisch mit diesem Code sein. Wie auch immer, der Matrix-Stack ist veraltet und wurde vollständig aus OpenGL-3 und höher entfernt. – datenwolf
"Die Werte von Vorher und Nachher sind unterschiedlich." Wie "anders" sind sie? Machst du einen '==' Test für sie, oder machst du einen richtigen Gleitkomma-Gleichheitstest? –