glAreTexturesResident: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Kategorisierung korrigiert.)
K (Kategorisierung ausgebessert)
 
Zeile 4: Zeile 4:
  
 
== Name ==
 
== Name ==
'''glAreTexturesResident''' - bestimmt ob sich bestimmte Texturen im [[Texturspeicher]] befinden.
+
'''glAreTexturesResident''' - bestimmt, ob sich bestimmte Texturen im [[Texturspeicher]] befinden.
  
  
Zeile 31: Zeile 31:
 
Die GL legt einen Satz ("working set") von Texturen an, die im Texturspeicher gehalten werden. Diese Texturen können wesentlich schneller gebunden ([[glBindTexture]]) werden als die nicht residenten Texturen.
 
Die GL legt einen Satz ("working set") von Texturen an, die im Texturspeicher gehalten werden. Diese Texturen können wesentlich schneller gebunden ([[glBindTexture]]) werden als die nicht residenten Texturen.
  
Die Funktion '''glAreTexturesResident''' fragt den Anwesenheits-Status von den ''n'' Texturen ab, die über ''textures'' angegeben wurden. Wenn alle angegebenen Texturen im Speicher waren, liefert '''glAreTexturesResident''' '''GL_TRUE''' zurück. Der Inhalt von ''residences'' wird dabei nicht verändert. Wenn nicht alle Texturen vorhanden waren liefert '''glAreTexturesResident''' '''GL_FALSE''' zurück. Außerdem werden Detailierte Statusinformationen in den n Elementen des Feldes ''residences'' zurückgeliefert. Wenn das x-te Element des Feldes ''residences'' '''GL_TRUE''' ist, bedeutet dies, dass die Textur, mit dem Namen der im x-ten Element des Feldes ''textures'' angegeben wurde, sich im Speicher befindet.
+
Die Funktion '''glAreTexturesResident''' fragt den Anwesenheits-Status von den ''n'' Texturen ab, die über ''textures'' angegeben wurden. Wenn alle angegebenen Texturen im Speicher waren, liefert '''glAreTexturesResident''' '''GL_TRUE''' zurück. Der Inhalt von ''residences'' wird dabei nicht verändert. Wenn nicht alle Texturen vorhanden waren liefert '''glAreTexturesResident''' '''GL_FALSE''' zurück. Außerdem werden detailierte Statusinformationen in den n Elementen des Feldes ''residences'' zurückgeliefert. Wenn das x-te Element des Feldes ''residences'' '''GL_TRUE''' ist, bedeutet dies, dass die Textur, mit dem Namen der im x-ten Element des Feldes ''textures'' angegeben wurde, sich im Speicher befindet.
  
Der Anwesenheitsstatus einer einzelnen gebundenen Textur kann auch über [[glGetTexParameter]] abgefragt werden. Setzen Sie dazu den ''target''-Parameter auf das Textureziel an das die Textur gebunden wurde, und den Parameter ''pname'' auf '''GL_TEXTURE_RESIDENT'''. Dies ist die einzigste Möglichkeit den Anwesenheits-Status einer vorgegeben (Default) Textur abzufragen.
+
Der Anwesenheitsstatus einer einzelnen gebundenen Textur kann auch über [[glGetTexParameter]] abgefragt werden. Setzen Sie dazu den ''target''-Parameter auf das Textureziel, an das die Textur gebunden wurde, und den Parameter ''pname'' auf '''GL_TEXTURE_RESIDENT'''. Dies ist die einzige Möglichkeit, den Anwesenheitsstatus einer vorgegeben (Default) Textur abzufragen.
  
  
Zeile 53: Zeile 53:
 
'''GL_INVALID_VALUE''' wird generiert, wenn irgendein Element in ''textures'' gleich 0 oder kein gültiger Texturname ist. In diesem Fall liefert die Funktion '''GL_FALSE''' und der Inhalt des Feldes ''residence'' ist unbestimmt.
 
'''GL_INVALID_VALUE''' wird generiert, wenn irgendein Element in ''textures'' gleich 0 oder kein gültiger Texturname ist. In diesem Fall liefert die Funktion '''GL_FALSE''' und der Inhalt des Feldes ''residence'' ist unbestimmt.
  
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glAreTexturesResident''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird.  
+
'''GL_INVALID_OPERATION''' wird generiert, wenn '''glAreTexturesResident''' innerhalb eines [[glBegin]]-[[glEnd]]-Blocks aufgerufen wird.  
  
  
Zeile 66: Zeile 66:
  
 
[[Kategorie:GL|AreTexturesResident]]
 
[[Kategorie:GL|AreTexturesResident]]
[[Kategorie:GL1.1]]
+
[[Kategorie:GL1.1|AreTexturesResident]]

Aktuelle Version vom 20. September 2010, 02:29 Uhr

glAreTexturesResident

Name

glAreTexturesResident - bestimmt, ob sich bestimmte Texturen im Texturspeicher befinden.


Delphi-Spezifikation

function glAreTexturesResident(n: TGLsizei; const textures: PGLuint; residences: PGLboolean): TGLboolean;


Parameter

n Bestimmt die Anzahl Texturen die abgefragt werden sollen.
textures Ist ein Zeiger auf ein Feld welches die OpenGL Namen der abzufragenden Texturen enthält. Texturnamen können mit glGenTextures erzeugt werden.
residences Ist ein Zeiger auf ein Feld welches den Residence-Status (Anwesenheitsstatus) zurück geliefert wird. Der x-te Status gehört dabei zur x-ten Textur im textures Feld.


Beschreibung

Die GL legt einen Satz ("working set") von Texturen an, die im Texturspeicher gehalten werden. Diese Texturen können wesentlich schneller gebunden (glBindTexture) werden als die nicht residenten Texturen.

Die Funktion glAreTexturesResident fragt den Anwesenheits-Status von den n Texturen ab, die über textures angegeben wurden. Wenn alle angegebenen Texturen im Speicher waren, liefert glAreTexturesResident GL_TRUE zurück. Der Inhalt von residences wird dabei nicht verändert. Wenn nicht alle Texturen vorhanden waren liefert glAreTexturesResident GL_FALSE zurück. Außerdem werden detailierte Statusinformationen in den n Elementen des Feldes residences zurückgeliefert. Wenn das x-te Element des Feldes residences GL_TRUE ist, bedeutet dies, dass die Textur, mit dem Namen der im x-ten Element des Feldes textures angegeben wurde, sich im Speicher befindet.

Der Anwesenheitsstatus einer einzelnen gebundenen Textur kann auch über glGetTexParameter abgefragt werden. Setzen Sie dazu den target-Parameter auf das Textureziel, an das die Textur gebunden wurde, und den Parameter pname auf GL_TEXTURE_RESIDENT. Dies ist die einzige Möglichkeit, den Anwesenheitsstatus einer vorgegeben (Default) Textur abzufragen.


Hinweise

glAreTexturesResident ist erst ab OpenGL Version 1.1 oder später verfügbar.

glAreTexturesResident liefert den Anwesenheits-Status der Texturen zum Zeitpunkt des Aufrufs. Es gibt keine Garantie dafür, dass die Textur zu einem anderen Zeitpunkt noch resident ist.

Wenn Texturen im virtuellen Speicher abgelegt werden (d.h. es gibt keinen Texturspeicher), gelten Sie immer als resident.

Einige Implementationen laden Texturen erst bei ihrer ersten Benutzung.


Fehlermeldungen

GL_INVALID_VALUE wird generiert, wenn n negativ ist.

GL_INVALID_VALUE wird generiert, wenn irgendein Element in textures gleich 0 oder kein gültiger Texturname ist. In diesem Fall liefert die Funktion GL_FALSE und der Inhalt des Feldes residence ist unbestimmt.

GL_INVALID_OPERATION wird generiert, wenn glAreTexturesResident innerhalb eines glBegin-glEnd-Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGetTexParameter mit Token GL_TEXTURE_RESIDENT liefert den Anwesenheitsstatus der momentan gebundenen Textur.


Siehe auch

glBindTexture, glGetTexParameter, glPrioritizeTextures, glTexImage1D, glTexImage2D, glTexImage3D, glTexParameter