glAddSwapHintRectWIN: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Hinweise)
(Beschreibung)
Zeile 32: Zeile 32:
 
Bei einigen Hardwareconfiguartionen kann '''SwapBuffers''' die Markierungsbereiche ingnorieren und den gesammten '''Framebuffer''' austauschen. ('''SwapBuffers''' wird vom System bereitgestellt, nicht von einer Anwendung.)
 
Bei einigen Hardwareconfiguartionen kann '''SwapBuffers''' die Markierungsbereiche ingnorieren und den gesammten '''Framebuffer''' austauschen. ('''SwapBuffers''' wird vom System bereitgestellt, nicht von einer Anwendung.)
  
OpenGl behält für jedes Fenster nur einen eigenen Markierungsbereich. Durch den Aufruf von '''glAddSwapHintRectWIN''' in einem Renderingkontext der an ein Fenster gebunden ist, wird das neue Markierungsrechteck mit dem bereits bestehenden Markierungsbereich kombiniert.
+
OpenGl behält für jedes Fenster nur einen eigenen Markierungsbereich. Durch den Aufruf von '''glAddSwapHintRectWIN''' in einem Renderkontext der an ein Fenster gebunden ist, wird das neue Markierungsrechteck mit dem bereits bestehenden Markierungsbereich kombiniert.
  
  
Zeile 38: Zeile 38:
  
 
<br>
 
<br>
 +
 
== Hinweise ==
 
== Hinweise ==
 
'''glAddSwapHintRectWIN''' ist eine Extensionfunktion die nicht Teil der standard OpenGL Bibiothek ist. Aber Sie ist Teil der '''GL_WIN_swap_hint''' Extension.
 
'''glAddSwapHintRectWIN''' ist eine Extensionfunktion die nicht Teil der standard OpenGL Bibiothek ist. Aber Sie ist Teil der '''GL_WIN_swap_hint''' Extension.

Version vom 30. Juli 2005, 15:15 Uhr

glAddSwapHintRectWIN


Name

glAddSwapHintRectWIN - Spezifiziert einen Satz von rechteckigen Bereichen im Framebuffer die durch SwapBuffers kopiert werden sollen.


Delphi-Spezifikation

procedure glAddSwapHintRectWIN(x: TGLint; y: TGLint; width: TGLsizei; height: TGLsizei);


Parameter

x,y Gibt die Position der linken unteren Ecke (in Fensterkoordinaten) des Markierungsrechtecks an.
width, height Gibt die Ausmaße des Markierungsrechtecks an.


Beschreibung

Mit der Funktion glAddSwapHintRectWIN können Sie Bereiche des Framebuffers auswählen, die beim nächsten Aufruf von SwapBuffers ausgegeben werden sollen. Durch dieses Vorgehen können Sie die Zeichengeschwindigkeit signifikant erhöhen, denn nur die Bereiche die Sie spezifiziert haben werden neu gezeichnet. Dies wirkt sich vorallem aus, wenn SwapBuffers in Software implementiert ist. Wenn mittels glAddSwapHintRectWIN kein Bereich gesetzt wurde, wird der gesamte Framebuffer angezeigt.

Durch glAddSwapHintRectWIN fügen Sie ein neues Rechteck zum Markierungsbereich (org.: Hint Region) hinzu. Wenn das PFD_SWAP_COPY Flag der Pixelformatstruktur (siehe PIXELFORMATDISCRIPTOR) gesetzt ist, nutzt SwapBuffers diese Bereiche um den Kopiervorgang vom Backbuffer in den Frontbuffer einzuschränken (für Infos zu den Puffern siehe Doppelpufferung). Das PFD_SWAP_COPY Flag wird nicht von Ihnen - dem Programmierer - sondern von entsprechender Hardware gesetzt.

Die Markierungsbereiche werden nach jedem Aufruf von SwapBuffers geleert.

Bei einigen Hardwareconfiguartionen kann SwapBuffers die Markierungsbereiche ingnorieren und den gesammten Framebuffer austauschen. (SwapBuffers wird vom System bereitgestellt, nicht von einer Anwendung.)

OpenGl behält für jedes Fenster nur einen eigenen Markierungsbereich. Durch den Aufruf von glAddSwapHintRectWIN in einem Renderkontext der an ein Fenster gebunden ist, wird das neue Markierungsrechteck mit dem bereits bestehenden Markierungsbereich kombiniert.


Benutzen Sie glAddSwapHintRectWIN so, dass sie nur die Bereiche neu zeichnen, in denen sich tatsächlich etwas ändert. (Das sind entweder Sachen die sich bewegen oder Dinge aus dem letzten Frame die gelöscht werden sollen.)


Hinweise

glAddSwapHintRectWIN ist eine Extensionfunktion die nicht Teil der standard OpenGL Bibiothek ist. Aber Sie ist Teil der GL_WIN_swap_hint Extension. Um zu prüfen, ob Ihre Implementation von OpenGl glAddSwapHintRectWIN unterstützt, rufen sie glGetString(GL_EXTENSIONS) auf. Wenn der zurückgelieferte String GL_WIN_swap_hint enthält wird glAddSwapHintRectWIN unterstützt. Um die Adresse einer Extensionfunktion zu ermitteln rufen Sie wglGetProcAddress auf.


Siehe auch

glGetString, PIXELFORMATDESCRIPTOR, SwapBuffers, wglGetProcAddress