Einzelnen Beitrag anzeigen

Benutzerbild von littleDave
littleDave

Registriert seit: 27. Apr 2006
Ort: München
556 Beiträge
 
Delphi 7 Professional
 
#2

Re: OpenGl Rendercontex schützen

  Alt 16. Jun 2008, 14:25
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)
Jabber: littleDave@jabber.org
in case of 1 is 0 do external raise while in public class of object array else repeat until 1 is 0
  Mit Zitat antworten Zitat