Bezeichnung
gl.BindTexture -- bindet die angegebene Textur an ein Texturziel
Übersicht
gl.BindTexture(target, texture)
Beschreibung
Der Aufruf von gl.BindTexture() mit dem Ziel #GL_TEXTURE_1D oder #GL_TEXTURE_2D und dem Textur-Set mit dem Namen der neuen Textur bindet den Texturnamen an das Ziel. Wenn eine Textur an ein Ziel gebunden ist, wird die vorherige Bindung für dieses Ziel automatisch unterbrochen.

Texturnamen sind vorzeichenlose Ganzzahlen. Der Wert Null ist reserviert, um die Standardtextur für jedes Texturziel darzustellen. Texturnamen und die entsprechenden Texturinhalte sind lokal im gemeinsamen Display-Listenraum des aktuellen GL-Render-Kontextes; zwei Rendering-Kontexte teilen nur Texturnamen, wenn sie auch Display-Listen teilen.

Sie können gl.GenTextures() verwenden, um eine Reihe von neuen Texturnamen zu generieren.

Wenn eine Textur zuerst gebunden wird, nimmt sie die Dimensionalität des angegebene Ziels an: Eine Textur, die zuerst an #GL_TEXTURE_1D gebunden wird, wird zu einer eindimensionalen Textur; eine Textur, die zuerst an #GL_TEXTURE_2D gebunden wird, wird zu einer zweidimensionalen Textur. Der Status einer eindimensionalen Textur unmittelbar nach der ersten Bindung entspricht dem Status der Standard-#GL_TEXTURE_1D bei der GL-Initialisierung und ist für zweidimensionale Texturen ähnlich.

Wenn eine Textur gebunden ist, wirken sich GL-Operationen auf das Ziel auch auf die gebundene Textur aus und Anfragen an das aktuelle Ziel geben die Einstellungen der aktuelle dort gebundenen Textur zurück. Wenn das Textur-Mapping auf dem Ziel aktiv ist, wird die gebundene Textur genutzt. Im Endeffekt werden die Ziele damit zu anderen Namen für die aktuell dort gebundene Textur. In der Tat werden die Texturziele zu Aliasen für die aktuell an sie gebundenen Texturen und der Texturname Null bezieht sich auf die Standardtexturen, die bei der Initialisierung an sie gebunden wurden.

Eine Texturbindung, die mit gl.BindTexture() erstellt wurde, bleibt aktiv, bis eine andere Textur an dasselbe Ziel gebunden wird oder bis die gebundene Textur mit gl.DeleteTextures() gelöscht wird.

Nach der Erstellung kann die angegebene Textur so oft wie nötig an ihr ursprüngliches Ziel gebunden werden. Es ist normalerweise viel schneller, gl.BindTexture() zu verwenden, um die angegebene Textur an eines der Texturziele zu binden, als das Texturbild mit gl.TexImage1D() oder gl.TexImage2D() zu verwenden. Um zusätzliche Kontrolle über die Leistung zu erhalten, verwenden Sie gl.PrioritizeTextures().

gl.BindTexture() ist in Display-Listen enthalten.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
target
gibt das Ziel an, an das die Textur gebunden ist. Muss entweder #GL_TEXTURE_1D oder #GL_TEXTURE_2D sein
texture
gibt den Namen einer Textur an
Fehler
#GL_INVALID_ENUM wird generiert, wenn target keiner der zulässigen Werte ist.

#GL_INVALID_OPERATION wird generiert, wenn die Textur zuvor mit einem Ziel erstellt wurde, das nicht mit dem von target übereinstimmt.

#GL_INVALID_OPERATION wird generiert, wenn gl.BindTexture() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_TEXTURE_BINDING_1D

gl.Get() mit dem Argument #GL_TEXTURE_BINDING_2D


Navigation zeigen