glAreTexturesResident
Inhaltsverzeichnis
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 einzigste Möglichkeit den Anwesenheits-Status 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