glAddSwapHintRectWIN: Unterschied zwischen den Versionen
(Neuer Artikel) |
(→Hinweise) |
||
Zeile 39: | Zeile 39: | ||
<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 | + | '''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 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. | Um die Adresse einer Extensionfunktion zu ermitteln rufen Sie [[wglGetProcAddress]] auf. |
Version vom 30. März 2005, 16:01 Uhr
Inhaltsverzeichnis
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 Renderingkontext 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