Bezeichnung
gl.TexSubImage1D -- gibt ein eindimensionales Textur-Teilbild an
Übersicht
gl.TexSubImage1D(level, xoffset, width, format, type, pixelsUserData)
Beschreibung
Texturierung bildet einen Teil eines bestimmten Texturbildes auf jedes grafische Grundmuster ab, für das die Texturierung aktiviert ist. Um die eindimensionale Texturierung zu aktivieren oder zu deaktivieren, rufen Sie gl.Enable() und gl.Disable() mit dem Argument #GL_TEXTURE_1D auf.

gl.TexSubImage1D() definiert eine zusammenhängende Subregion eines vorhandenen eindimensionalen Texturbildes neu. Die durch Pixel referenzierten Texel ersetzen den Teil des vorhandenen Texturfeldes durch X-Indizes xoffset und xoffset + width - 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 der Breite 0 anzugeben, aber eine solche Spezifikation 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.TexImage1D 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
width
legt die Breite des Textur-Unterbildes fest
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.TexImage1D() 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, oder wenn (xoffset + width) > (w - b) ist, wobei w die #GL_TEXTURE_WIDTH und b die Breite des #GL_TEXTURE_BORDER des zu modifizierenden Texturbildes ist. Beachten Sie, dass w die doppelte Randbreite beinhaltet.

#GL_INVALID_VALUE wird erzeugt, wenn width 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 und das Format nicht #GL_COLOR_INDEX ist.

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

Verbundene get-operationen
gl.GetTexImage()

gl.IsEnabled() mit dem Argument #GL_TEXTURE_1D


Navigation zeigen