Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Code:
wglSwapIntervalEXT(1);
Dies sorgt dafür, das erst dann mit dem Zeichnen eines neuen Bildes begonnen wird, wenn das alte Bereits fertig ist.D.h. der VSnyc wird mittels des Parameters 1 aktiviert,
Hier gibts mehr Infos : <a href='http://www.3dlabs.com/support/developer/WGLmanpages/wglswapintervalext.htm' target='_blank'>http://www.3dlabs.com/support/developer/WG...intervalext.htm</a>
Paralell dazu kannst Du auch die GL_TRUE und GL_FALSE Funktionen verwenden. Wenn Du für dich SwapIntervalExt als VSync betrachtest, bacht das evtl. mehr Sinn. Definiert sind die werte übrigens mit GL_TRUE = 1 und GL_FALSE = 0.
_________________ Und was würdest Du tun, wenn Du wüsstest, dass morgen Dein letzter Tag auf dieser Erde ist?
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
:ph34r: Sorry :ph34r: , dass ich diesen alten Thread reanimieren muss, aber warum gleich einen neuen aufmachen?
Wahrscheinlich hab ich was übersehen, aber wo um himmels willen ist den
Code:
wglSwapIntervalEXT(1);
zu finden, in (meiner) opengl12.pas jedenfalls nicht! auf der 3d labs-Seite hab ich auch schon nachgeschaut
Ciao, La_Boda
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Die Funktion wglSwapIntervalEXT ist in der OpenGL12.pas nicht enthalten, da diese AFAIK erst nach OpenGL1.2 geschrieben wurde.Du musst die Funktion also beim Programmstart selbst laden :
Zuerst musst du den Funktionspointer irgendwo global deklarieren : <!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre> wglSwapIntervalEXT : <span class='reserved'>function</span>(interval: TGLint) : BOOL; stdcall = <span class='reserved'>nil</span>;</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
Und diesen dann nach der OpenGL-Initialisierung laden : <!--pas--></span><table border='0' align='center' width='95%' cellpadding='3' cellspacing='1'><tr><td>Delphi-Source </td></tr><tr><td id='CODE'><!--pas1--><pre>wglSwapIntervalEXT := wglGetProcAddress('wglSwapIntervalEXT');</pre><!--pas2--></td></tr></table><span class='postcolor'><!--pas3-->
Natürlich solltest du vor der Nutzung von wglSwapIntervalEXT erstmal prüfen ob die Grafikkarte das de- bzw. aktivieren des VSyncs erlaubt.Dies lässt sich über die WGL_EXT_swap_control-Extension feststellen.
Infos zu wglSwapIntervalEXT auf der 3D-Labsseite (google hilft immer) : <a href='http://www.3dlabs.com/support/developer/WGLmanpages/wglswapintervalext.htm' target='_blank'>http://www.3dlabs.com/support/developer/WG...intervalext.htm</a>
Registriert: Mi Jul 17, 2002 12:07 Beiträge: 976 Wohnort: Tübingen
Danke
_________________ "Du musst ein Schwein sein in dieser Welt, sangen die Prinzen, das ist so 1.0. Du musst auf YouTube zeigen, dass dir dein Schweinsein gefällt, das ist leuchtendes, echtes Web 2.0." - Hal Faber Meine Homepage: http://laboda.delphigl.com
Mitglieder in diesem Forum: 0 Mitglieder und 6 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.