Bezeichnung
gl.TexSubImage2D -- gibt ein zweidimensionales Textur-Teilbild an
Übersicht
gl.TexSubImage2D(level, xoff, yoff, w, h, format, type, pixels)
Beschreibung
Texturierung bildet einen Teil eines bestimmten Texturbildes auf jedes grafische Grundmuster ab, für das die Texturierung aktiviert ist. Um die zweidimensionale Texturierung zu aktivieren und zu deaktivieren, rufen Sie gl.Enable() und gl.Disable() mit dem Argument #GL_TEXTURE_2D auf.

gl.TexSubImage2D() definiert einen zusammenhängenden Subbereich eines vorhandenen zweidimensionalen Texturbildes neu. Die durch pixels referenzierten Texel ersetzen den Teil des vorhandenen Texturfeldes durch X-Indizes xoffset und xoffset + width - 1, inklusive und Y-Indizes yoffset und yoffset + height - 1, inklusive. Dieser Bereich darf keine Texel außerhalb des Bereichs des Texturfeldes enthalten, wie er ursprünglich angegeben wurde. Es ist kein Fehler, eine Subtextur mit einer Breite oder Höhe von Null anzugeben, aber eine solche Angabe hat keine Wirkung.

Die Texturierung hat im Farbindexmodus keine Wirkung.

gl.PixelStore() und gl.PixelTransfer() Modi beeinflussen Texturbilder genau so, wie gl.DrawPixels() sie beeinflussen.

Siehe gl.TexImage2D für weitere Einzelheiten zu den von dieserm Befehl akzeptierten Parametern.

Bitte beachten Sie, dass dieser Befehl direkt mit Speicherzeigern arbeitet. Es gibt auch eine Version, die mit Tabellen anstelle von Speicherzeigern arbeitet, aber das ist natürlich langsamer. Siehe gl.TexSubImage für Details. Siehe Mit Zeigern arbeiten für Einzelheiten zur Verwendung von Speicherzeigern mit Hollywood.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
level
gibt die Detaillierungsstufe an; Stufe 0 ist die Grundbildstufe; Level n ist das n-te Mipmap-Reduzierungsbild
xoffset
gibt einen Texel-Versatz in der x-Richtung innerhalb des Textur-Feldes an
yoffset
gibt einen Texel-Versatz in y-Richtung innerhalb des Textur-Feldes an
width
legt die Breite des Textur-Unterbildes fest
height
gibt die Höhe des Textur-Subibildes an
format
gibt das Format der Pixeldaten an (siehe oben)
type
gibt den Datentyp der Pixeldaten an (siehe oben)
pixels
gibt einen Zeiger auf die Bilddaten im Speicher an
Fehler
#GL_INVALID_OPERATION wird erzeugt, wenn das Textur-Feld nicht durch ein vorherige gl.TexImage2D() Operation definiert wurde.

#GL_INVALID_VALUE wird generiert, wenn level kleiner als 0 ist.

#GL_INVALID_VALUE kann erzeugt werden, wenn level größer als log2max ist, wobei max der zurückgegebene Wert von #GL_MAX_TEXTURE_SIZE ist.

#GL_INVALID_VALUE wird erzeugt, wenn xoffset < -b, (xoffset + width) > (w - b), yoffset < -b, oder (yoffset + height) > (h - b), wobei w die #GL_TEXTURE_WIDTH ist, h die #GL_TEXTURE_HEIGHT ist und b die Randbreite des zu modifizierenden Texturbildes ist. Beachten Sie, dass w und h die doppelte Randbreite beinhalten.

#GL_INVALID_VALUE wird erzeugt, wenn width oder height kleiner als 0 ist.

#GL_INVALID_ENUM wird erzeugt, wenn format keine akzeptierte Formatkonstante ist.

#GL_INVALID_ENUM wird erzeugt, wenn type keine Typkonstante ist.

#GL_INVALID_ENUM wird erzeugt, wenn type #GL_BITMAP ist und format nicht #GL_COLOR_INDEX ist.

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

Verbundene get-operationen
gl.GetTexImage()

gl.IsEnabled() mit dem Argument #GL_TEXTURE_2D


Navigation zeigen