glTexSubImage1D-Funktion
Die glTexSubImage1D-Funktion gibt einen Teil eines vorhandenen eindimensionalen Texturbilds an. Sie können keine neue Textur mit glTexSubImage1D definieren.
Syntax
void WINAPI glTexSubImage1D(
GLenum target,
GLint level,
GLint xoffset,
GLsizei width,
GLenum format,
GLenum type,
const GLvoid *pixels
);
Parameter
-
Ziel
-
Die Zieltextur. Muss GL _ TEXTURE _ 1D sein.
-
level
-
Die Detailebenennummer. Ebene 0 ist das Basisimage. Ebene n ist das n-te Mipmap-Reduzierungsbild.
-
xoffset
-
Ein Texeloffset in x-Richtung innerhalb des Texturarrays.
-
width
-
Die Breite des Texturunterbilds.
-
format
-
Das Format der Pixeldaten. Dieser Parameter kann einen der folgenden symbolischen Werte annehmen.
Wert Bedeutung - GL _ COLOR _ INDEX
Jedes Element ist ein einzelner Wert, ein Farbindex. Sie wird in das Festpunktformat (mit einer nicht angegebenen Anzahl von 0 Bits rechts vom Binärpunkt) konvertiert, je nach Wert und Vorzeichen von GL INDEX SHIFT nach links oder rechts verschoben und GL INDEX OFFSET hinzugefügt _ _ _ _ (siehe glPixelTransfer). Der resultierende Index wird mithilfe der Tabellen GL PIXEL MAP I TO R, GL PIXEL MAP I TO G, GL PIXEL MAP I TO B und GL PIXEL MAP I TO A in einen Satz von Farbkomponenten konvertiert und an den Bereich _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ [ 0,1 ] geklammert. - GL _ RED
Jedes Element ist eine einzelne rote Komponente. Sie wird in das Gleitkommaformat konvertiert und in ein RGBA-Element zusammengestellt, indem 0,0 für Grün und Blau und 1,0 für Alpha angefügt wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ GREEN
Jedes Element ist eine einzelne grüne Komponente. Sie wird in das Gleitkommaformat konvertiert und in ein RGBA-Element zusammengestellt, indem 0,0 für Rot und Blau und 1,0 für Alpha angefügt wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ BLUE
Jedes Element ist eine einzelne blaue Komponente. Sie wird in das Gleitkommaformat konvertiert und in ein RGBA-Element zusammengestellt, indem 0,0 für Rot und Grün und 1,0 für Alpha angefügt werden. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ ALPHA
Jedes Element ist eine einzelne Alphakomponente. Sie wird in das Gleitkommaformat konvertiert und in ein RGBA-Element zusammengestellt, indem 0,0 für Rot, Grün und Blau angefügt wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ RGB
Jedes Element ist ein RGB-Triple. Sie wird in einen Gleitkomma konvertiert und in ein RGBA-Element zusammengestellt, indem 1.0 für Alpha angefügt wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ RGBA
Jedes Element ist ein vollständiges RGBA-Element. Sie wird in das Gleitkommaformat konvertiert. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ LUDOMINANZ
Jedes Element ist ein einzelner Leuchtdichtewert. Sie wird in das Gleitkommaformat konvertiert und dann zu einem RGBA-Element zusammengefügt, indem der Leuchtdichtewert dreimal für Rot, Grün und Blau repliziert und 1,0 für Alpha angefügt wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). - GL _ LUDOMINANZ _ ALPHA
Jedes Element ist ein Luminanz-Alpha-Paar. Sie wird in das Gleitkommaformat konvertiert und dann zu einem RGBA-Element zusammengefügt, indem der Leuchtdichtewert dreimal für Rot, Grün und Blau repliziert wird. Jede Komponente wird dann mit dem vorsignierten Skalierungsfaktor GL c SCALE multipliziert, dem vorsignierten Bias GL c BIAS hinzugefügt und an den Bereich _ _ _ _ [ 0,1 angefügt ] (siehe glPixelTransfer). -
type
-
Der Datentyp der Pixeldaten. Die folgenden symbolischen Werte werden akzeptiert: GL _ UNSIGNED _ BYTE, GL _ BYTE, GL _ BITMAP, GL _ UNSIGNED _ SHORT, GL _ SHORT, GL _ UNSIGNED _ INT, GL _ INT und GL _ FLOAT.
-
Pixel
-
Ein Zeiger auf die Bilddaten im Arbeitsspeicher.
Rückgabewert
Diese Funktion gibt keinen Wert zurück.
Fehlercodes
Die folgenden Fehlercodes können von der glGetError-Funktion abgerufen werden.
| Name | Bedeutung |
|---|---|
|
target war nicht GL _ TEXTURE _ 1D. |
|
format war keine akzeptierte Konstante. |
|
type war keine akzeptierte Konstante. |
|
Typ war GL _ BITMAP, und das Format war nicht GL _ COLOR _ INDEX. |
|
level war kleiner als 0 (null) oder größer als log2 max, wobei max der zurückgegebene Wert von GL _ MAX TEXTURE SIZE _ _ war. |
|
xoffset war kleiner als b, oder die Offsetbreite war größer + als wb, wobei w die GL TEXTURE WIDTH und b die Breite des GL TEXTURE BORDER des Texturbilds ist, das _ geändert _ _ _ wird. Beachten Sie, dass w die doppelte Rahmenbreite enthält. |
|
width war kleiner als b, wobei b die Rahmenbreite des Texturarrays ist. |
|
border war nicht 0 (null) oder 1. |
|
Das Texurearray wurde nicht durch einen vorherigen glTexImage1D-Vorgang definiert. |
|
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen. |
Bemerkungen
Die eindimensionale Textur für einen Primitiven wird mit glEnable und glDisable mit dem Argument GL _ TEXTURE _ 1D aktiviert. Während der Texturierung wird ein Teil eines angegebenen Texturbilds jedem aktivierten Primitiven zugeordnet. Sie verwenden die glTexSubImage1D-Funktion, um ein zusammenhängendes Unterbild eines vorhandenen eindimensionalen Texturbilds für die Textur anzugeben.
Die Texel, auf die in Pixeln verwiesen wird, ersetzen einen Bereich des vorhandenen Texturarrays durch x-Indizes von xoffset und xoffset + (Breite 1) einschließlich . Dieser Bereich darf keine Texel außerhalb des Bereichs des ursprünglich angegebenen Texturarrays enthalten.
Das Angeben eines Unterbilds mit einer Breite von 0 (null) hat keine Auswirkungen und generiert keinen Fehler.
Texturierung hat keine Auswirkungen im Farbindexmodus.
Im Allgemeinen können Texturbilder durch die gleichen Datenformate wie die Pixel in einem glDrawPixels-Befehl dargestellt werden, mit der Ausnahme, dass GL _ STENCIL _ INDEX und GL DEPTH COMPONENT nicht verwendet werden _ _ können. Die Modi glPixelStore und glPixelTransfer wirken sich auf Texturbilder genau so aus, wie sie sich auf glDrawPixels auswirken.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit glTexSubImage1D ab:
glIsEnabled mit argument GL _ TEXTURE _ 1D
Requirements (Anforderungen)
| Anforderung | Wert |
|---|---|
| Unterstützte Mindestversion (Client) |
Windows 2000 Professional [nur Desktop-Apps] |
| Unterstützte Mindestversion (Server) |
Windows 2000 Server [nur Desktop-Apps] |
| Header |
|
| Bibliothek |
|
| DLL |
|