Anscheindend setzt du ein Attribut, was später nicht mehr zurückgesetzt wird. Du kannst die Attribute zwischenspeichern und später wieder zurücksetzen. Versuchs mal mit diesem Code:
Delphi-Quellcode:
glPushAttrib(GL_ALL_ATTRIB_BITS);
try
// Render Code
finally
glPopAttrib;
end;
Das gleiche gibts auch für Matrizen:
glPushMatrix und
glPopMatrix
Bei den Matrizen wird nur die aktuell benutze Matrix gespeichert. Von daher würde ein Beispiel-Code so aussehen:
Delphi-Quellcode:
var iMatrixMode : integer;
begin
glGetIntegerv(GL_MATRIX_MODE, @i);
glMatrixMode(GL_PROJECTION);
glPushMatrix;
try
// Render Code
finally
glMatrixMode(GL_PROJECTION);
glPopMatrix;
glMatrixMode(iMatrixMode);
end;
end;
(ungetestet, da Delphi im Moment nicht offen)