gl.TexSubImage2D(level, xoff, yoff, w, h, format, type, pixels)
#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.
#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.
gl.IsEnabled() mit dem Argument #GL_TEXTURE_2D