https://wiki.delphigl.com/index.php?title=glXCreateNewContext&feed=atom&action=historyglXCreateNewContext - Versionsgeschichte2024-03-28T09:43:49ZVersionsgeschichte dieser Seite in DGL WikiMediaWiki 1.27.4https://wiki.delphigl.com/index.php?title=glXCreateNewContext&diff=21958&oldid=prevThoronador: Die Seite wurde neu angelegt: = glXCreateNewContext = == Name == '''glXCreateNewContext''' - Erzeugt einen neuen GLX-Renderkontext. == Delphi-Spezifikation == function '''glXCreateNewCont...2008-07-14T14:13:08Z<p>Die Seite wurde neu angelegt: = glXCreateNewContext = == Name == '''glXCreateNewContext''' - Erzeugt einen neuen GLX-<a href="/index.php/Renderkontext" title="Renderkontext">Renderkontext</a>. == Delphi-Spezifikation == function '''glXCreateNewCont...</p>
<p><b>Neue Seite</b></p><div>= glXCreateNewContext =<br />
<br />
<br />
<br />
== Name ==<br />
'''glXCreateNewContext''' - Erzeugt einen neuen GLX-[[Renderkontext]].<br />
<br />
<br />
<br />
== Delphi-Spezifikation ==<br />
function '''glXCreateNewContext'''(''dpy'': PDisplay; ''config'': GLXFBConfig; ''render_type'': Integer;<br />
''share_list'': GLXContext; ''direct'': Boolean): GLXContext;<br />
<br />
<br />
<br />
== Parameter ==<br />
<br />
{| border="1" rules="all"<br />
! ''dpy'' <br />
| Gibt die Verbindung zum X-Server an<br />
|-<br />
! ''config'' <br />
| Gibt die GLXFBConfig-Struktur mit den gewünschten Attributen für den Kontext an<br />
|-<br />
! ''render_type'' <br />
| Gibt den Typ des zu erschaffenden Kontexts an. Mögliche Werte sind '''GLX_RGBA_TYPE''' und '''GLX_COLOR_INDEX_TYPE'''.<br />
|-<br />
! ''share_list'' <br />
| Gibt den Kontext an, mit dem die [[Displayliste]]n geteilt werden. Wird '''nil''' angegeben, so werden keine Displaylisten geteilt.<br />
|-<br />
! ''direct'' <br />
| Gibt an, ob das Rendern über eine direkte Verbindung zum Grafiksystem ausgeführt werden soll, wenn möglich, ('''True''') oder über den X-Server ('''False''')<br />
|}<br />
<br />
<br />
<br />
== Beschreibung ==<br />
Die Funktion '''glXCreateNewContext''' erzeugt einen GLX-[[Renderkontext]] und gibt sein Handle zurück. Dieser Kontext kann genutzt werden, um in GLX-Fenster, Pixmaps oder Pixelpuffer zu rendern. Falls '''glXCreateNewContext''' fehlschlägt und keinen Renderkontext erstellen kann, wird '''nil''' zurückgegeben.<br />
<br />
Falls ''render_type'' mit '''GLX_RGBA_TYPE''' angegeben ist, wird ein Kontext erzeugt, der RGBA-Rendern unterstützt. Falls für ''render_type'' '''GLX_COLOR_INDEX_TYPE''' angegeben ist, so wird ein Kontext erzeugt, der Farbindex-Rendern unterstützt.<br />
<br />
Sofern ''share_list'' nicht '''nil''' ist, werden alle [[Displayliste]]nindizes und -definitionen zwischen dem Kontext ''share_list'' und dem neu erzeugten Kontext geteilt. Eine beliebige Anzahl von Kontexten kann einen einzelnen Displaylistenraum teilen. Jedoch müssen alle diese Kontexte selbst, die die Displaylisten untereinander teilen, im gleichen Adressraum existieren. Zwei Renderkontexte teilen sich den gleichen Adressraum, falls beide nichtdirekt (siehe [[glXIsDirect]]) sind und den gleichen Server nutzen, oder falls beide zum gleichen Prozess gehören. Zu beachten ist, dass es im nichtdirekten Fall nicht nötig ist, dass die aufrufenden Threads einen Adressraum teilen, sondern nur die zugehörigen Renderkontexte einen Adressraum teilen.<br />
<br />
Sofern ''direct'' den Wert '''True''' hat, so wird ein direkter Renderkontext erzeugt, falls die Implementierung direktes Rendern unterstützt, falls die Verbindung zum X-Server zu einem lokalen X-Server führt und falls ein direkter Renderkontext verfügbar ist. (Eine Implementierung ''kann'' jedoch auch einen indirekten Renderkontext zurückgeben, wenn ''direct'' den Wert '''True''' hat.) Falls ''direct'' den Wert '''False''' hat, wird immer ein Renderkontext erzeugt, der über den X-Server rendert. Direktes Rendern bringt in einigen Implementierungen einen Performancevorteil mit sich. Allerdings können direkte Renderkontexte nicht außerhalb eines einzelnen Prozesses geteilt werden und sie sind möglicherweise nicht in der Lage, in GLX-Pixmaps zu rendern.<br />
<br />
<br />
<br />
== Hinweise ==<br />
'''glXCreateNewContext''' ist nur verfügbar, wenn die GLX-Version 1.3 oder höher ist.<br />
<br />
Falls die GLX-Version 1.1 oder 1.0 ist, so muss die GL-Version 1.0 sein. Falls die GLX-Version 1.2 ist, so muss die GL-Version 1.1 sein. Falls die GLX-Version 1.3 ist, so muss die GL-Version 1.2 sein.<br />
<br />
<br />
<br />
== Fehlermeldungen ==<br />
Falls die Ausführung auf der Klientseite scheitert, wird '''nil''' zurückgegeben.<br />
<br />
'''GLXBadContext''' wird generiert, wenn ''share_list'' kein gültiger GLX-Kontext ist und nicht '''nil''' ist.<br />
<br />
'''GLXBadFBConfig''' wird generiert, wenn ''config'' keine gültige GLXFBConfig-Struktur ist.<br />
<br />
'''BadMatch''' wird generiert, falls der zu erschaffende Kontext nicht den gleichen Adressraum oder den Bildschirm des mit ''share_list'' angegebenen Kontexts teilt.<br />
<br />
'''BadAlloc''' wird generiert, wenn der Server nicht genug Ressourcen hat, um einen neuen Kontext anzulegen.<br />
<br />
'''BadValue''' wird generiert, falls ''config'' nicht gültig ist (z.B. wenn eine bestimmte GLX-Implementation dies nicht unterstützt.<br />
<br />
<br />
<br />
== Siehe auch ==<br />
[[glXChooseFBConfig]], [[glXCreateContext]], [[glXDestroyContext]], [[glXGetFBConfigs]], [[glXGetFBConfigAttrib]], [[glXIsDirect]], [[glXMakeContextCurrent]]<br />
<br />
[[Kategorie:GLX|CreateNewContext]]</div>Thoronador