glPrioritizeTextures: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Korrekturlesung erfolgt, keine Beanstandungen auf sprachlicher Ebene. Formale Korrektheit der Angaben impliziert.)
K (GlPrioritizeTextures wurde nach glPrioritizeTextures verschoben)
(kein Unterschied)

Version vom 5. Dezember 2005, 20:30 Uhr

glPrioritizeTextures


Name

glPrioritizeTextures - Setzt Prioritäten welche die Verweildauer von Texturen im Speicher der Grafikkarte bestimmen.


Delphi-Spezifikation

procedure glPrioritizeTextures(n: TGLsizei; const textures: PGLuint; const priorities: PGLclampf);


Parameter

n Gibt die Anzahl Texturen an denen eine Priorität zugeordnet werden soll.
textures Zeiger auf ein Feld welches die Namen der Texturen enthält denen eine Priorität zugeordnet werden soll.
priorities Zeiger auf ein Feld welches die Prioritäten enthält. Die Priorität an der x-ten Stelle im Feld wird der Textur zugeordnet deren Name an der x-ten Stelle im Feld textures steht.
Info DGL.png GLclampf entspricht dem Delphidatentyp single


Beschreibung

glPrioritizeTextures weißt den n Texturen die im Feld textures übergeben wurden die n Prioritäten zu welche im Feld priorities übergeben wurden.

Die GL richtet einen "Working Set" von Texturen ein, welche im Speicher der Grafikkarte gehalten werden. Diese Texturen können dadurch schneller an ein Texturziel gebunden werden als vergleichbare Texturen, die erst in den Speicher geladen werden müssen. Durch das Festlegen von Prioritäten für Texturen kann die GL angeleitet werden, welche Texturen im Speicher gehalten werden sollen.

Die Prioritäten die im Feld priorities übergeben wurden, werden auf das Interval [0,1] begrenzt bevor sie zugewiesen werden. 0 bezeichnet die niedrigste Priorität. Texturen mit Priorität 0 werden am ehesten aus dem Speicher entfernt. 1 bezeichnet die höchste Priorität. Texturen mit Priorität 1 werden als letztes aus dem Speicher entfernt. (Gemeint ist hier das Entfernen, um Platz für neue Texturen zu schaffen) Trotzdem besteht keine Garantie dafür, dass die Texturen im Speicher liegen, bis die Texturen tatsächlich benutzt werden.

glPrioritizeTextures ignoriert stillschweigend Versuche dem Texturnamen 0 bzw. allen Namen die keine Textur bezeichnen eine Priorität zuzuweisen.

Es besteht für glPrioritizeTextures keine Notwendigkeit, dass irgendeine Textur die mittels textures übergeben wurde, an ein Texturziel gebunden ist. glPrioritizeTextures kann auch für Texturen benutzt werden die bereits gebunden sind. Dies ist die einzige Möglichkeit Vorgabetexturen (default textures) eine Priorität zuzuweisen.


Hinweise

glPrioritizeTextures ist ab OpenGL Version 1.1 verfügbar.


Fehlermeldungen

GL_INVALID_VALUE wird generiert wenn n negativ ist.
GL_INVALID_OPERATION wird generiert wenn glPrioritizeTextures innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGetTexParameter mit dem Token GL_TEXTURE_PRIORITY liefert die Priorität der aktuell gebundenen Textur.


Siehe auch

glAreTexturesResident, glBindTexture, glCopyTexImage1D, glCopyTexImage2D, glTexImage1D, glTexImage2D, glTexParameter