![]() |
OpenGl flackern
Hi Leute,
Mein erster Betrag ist gleich mal ein kleines Problem. Ich hab ein Programm gemacht - mit OpenGl, das Farbwerte in Höhen und Tiefen umwandelt. Allerdings stört das flackern sehr.
Delphi-Quellcode:
Könnt ihr mir vielleicht sagen, was ich da hinzufügen muss, damit das nicht mehr flimmert? - thx
procedure TForm1.FormCreate(Sender: TObject);
var dc : HDC; pf : integer; pfd : TPIXELFORMATDESCRIPTOR; begin {OpenGL initialisieren} dc := GetDC(Handle); {PixelFormat setzen} pfd.nSize := sizeof(pfd); pfd.nVersion := 1; pfd.dwFlags := PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or 0; pfd.iPixelType := PFD_TYPE_RGBA; pfd.cColorBits := 32; pf := ChoosePixelFormat(dc, @pfd); SetPixelFormat(dc, pf, @pfd); rc := wglCreateContext(dc); wglMakeCurrent(dc, rc); glClearDepth(1.0); // Depth Buffer Setup glEnable(GL_DEPTH_TEST); glDepthFunc(GL_LEQUAL); end; [edit=sakura] [delphi]Tags Mfg, sakura[/edit] Ich hab mich nochmal umgeschaut und das hier gefunden: PFD_DOUBLEBUFFER, aber wenn ich das bei pfd.dwFlags statt der 0 einsetze passiert überhaupt nichts mehr, obwohl es bei anderen codes zu funktionieren scheint... :gruebel: |
Re: OpenGl flackern
Doch doch, es muss wohl
PFD_DRAW_TO_WINDOW or PFD_SUPPORT_OPENGL or PFD_DOUBLEBUFFER; heißen ... was da deine Null soll ist mir irgendwie unklar *g* Wenn du hinterher nichts mehr siehst, denn Frage ich mich, wie du zeichnest ... wenn das über das OnIdle-Event oder aber einen Timer läuft sollte das eigentlich keine Probleme bereiten ... |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz