glAreTexturesResident

Aus DGL Wiki
(Weitergeleitet von GlAreTexturesResident)
Wechseln zu: Navigation, Suche

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