wglShareLists

Aus DGL Wiki
Version vom 13. September 2007, 15:26 Uhr von I0n0s (Diskussion | Beiträge) (Fehlermeldungen)

Wechseln zu: Navigation, Suche

wglShareLists

Name

wglShareLists - erlaubt es mehreren OpenGL-Renderkontexten einen gemeinsamen Displaylistenraum zu nutzen.



Delphi-Spezifikation

function wglShareLists(p1,p2 : HGLRC): BOOL;



Parameter

OpenGL Renderkontext(RC) dem Zugriff auf den DL-Raum eines anderen RCs gegeben werden soll.
OpenGL Renderkontext dessen DL-Raum von einem anderen RC genutzt werden soll.

Rückgabewert

War die Funktion erfolgreich wird TRUE zurückgegeben.
Wenn die Funktion fehlschlägt, ist der Rückgabewert FALSE. Die Displaylistenräume bleiben geteilt. Für nähere Informationen zum Grund des Scheiterns, rufen Sie GetLastError auf.



Beschreibung

Wenn man einen OpenGL Renderkontext(RC) erstellt besitzt dieser einen eigenen Displaylistenraum (DL-Raum). Mittels wglShareLists ermöglicht man es einem RC den DL-Raum eines anderen RCs zu benutzen. Es können dabei beliebig viele RC einen DL-Raum benutzen. Wenn man mittels wglShareLists einem RC einen neuen DL-Raum zugänglich macht, benutzt er nur noch diesen, bis man den RC zerstört/freigibt.Wenn der Letzte RC der einen DL-Raum benutzt freigibt, wird auch der DL-Raum freigegeben. Alle Indizes und Definitionen der Displaylisten in einem DL-Raum sind für alle RC, die Zugriff auf diesen haben, zugänglich.

Man kann DL nur von RCs nutzen lassen, die im selben Prozess erstellt wurden.Trotzdem können nicht alle RCs in einem Prozess DL mit anderen teilen/gemeinsam nutzen. RCs können nur dann DL teilen, wenn sie die selbe Implementation der OpenGL-Funktionen nutzen. (Sprich: Es muss der selbe OpenGL Header genutzt werden.) Alle ClientRCs eines bestimmten Pixelformats können immer DL teilen.

Obwohl es meist schlecht dokumentiert ist, ist wglShareLists auch dazu gedacht andere speicherintensive Objekte (wie beispielsweise Texturen) für mehrere RCs zugänglich zu machen.



Hinweise

wglShareLists ist erst ab OpenGL Version 1.01 oder später enthalten. Um die Versionsnummer der OpenGL zu bestimmen rufen Sie glGetString auf.


Fehlermeldungen

Nutzen Sie glGetError um herauszufinden wieso wglShareLists fehlschlug.

Siehe auch

glGetString