glCopyTexSubImage1D-Funktion
Die glCopyTexSubImage1D-Funktion kopiert ein Unterbild eines eindimensionalen Texturbilds aus dem Framepuffer.
Syntax
void WINAPI glCopyTexSubImage1D(
GLenum target,
GLint level,
GLint xoffset,
GLint x,
GLint y,
GLsizei width
);
Parameter
-
Ziel
-
Das Ziel, in das die Bilddaten geändert werden. Muss den Wert GL _ TEXTURE _ 1D aufweisen.
-
level
-
Die Detailebenennummer. Ebene 0 ist das Basisimage. Ebene n ist das n-te Mipmap-Reduzierungsbild.
-
xoffset
-
Der Texeloffset innerhalb des Texturarrays.
-
x
-
Die X-Ebenenkoordinate des Fensters in der unteren linken Ecke der zu kopierenden Pixelzeile.
-
y
-
Die y-Ebenenkoordinate des Fensters in der unteren linken Ecke der zu kopierenden Pixelzeile.
-
width
-
Die Breite des Unterbilds des Texturbilds. Die Angabe eines Texturunterbilds mit einer Breite von 0 (null) hat keine Auswirkungen.
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 kein akzeptierter Wert. |
|
level war kleiner als 0 (null), oder level ist größer als log 2(max), wobei max der zurückgegebene Wert von GL MAX TEXTURE _ SIZE _ _ ist. |
|
xoffset war kleiner als border oder (xoffset + width)was greater than (w border ), wobei w GL + TEXTURE WIDTH und border GL TEXTURE BORDER _ _ _ _ ist. Beachten Sie, dass w die doppelte Rahmenbreite enthält. |
|
width war kleiner als border oder y kleiner als border, wobei border die Rahmenbreite des Texturarrays ist. |
|
Das Texturarray 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 glCopyTexSubImage1D-Funktion ersetzt einen Teil eines eindimensionalen Texturbilds mit Pixeln aus dem aktuellen Framepuffer und nicht aus dem Hauptspeicher, wie es bei glTexSubImage1Dder Fall ist.
Eine Reihe von Pixeln, die mit den durch x und y angegebenen Fensterkoordinaten beginnt und mit der Längenbreite den Teil des Texturarrays durch die Indizes xoffset bis xoffset + (width - 1) ersetzt. Das Ziel im Texturarray darf keine Texel außerhalb des ursprünglich angegebenen Texturarrays enthalten.
Die glCopyTexSubImage1D-Funktion verarbeitet die Pixel in einer Zeile auf die gleiche Weise wie glCopyPixels, außer dass vor der endgültigen Konvertierung der Pixel alle Pixelkomponentenwerte an den Bereich 0,1 geklammert und in das interne Format der Textur für die Speicherung im Texturarray konvertiert [ ] werden. Die Pixel reihenfolge wird mit niedrigeren x Koordinaten bestimmt, die niedrigeren Texturkoordinaten entspricht. Wenn einer der Pixel innerhalb einer angegebenen Zeile des aktuellen Framepuffers außerhalb des Fensters liegt, das dem aktuellen Renderingkontext zugeordnet ist, sind ihre Werte nicht definiert.
Es wird keine Änderung am internalFormat-, Width- oder Border-Parameter des angegebenen Texturarrays oder an Texelwerten außerhalb des angegebenen Texturunterbilds vorgenommen.
Aufrufe von glCopyTexSubImage1D können nicht in Anzeigelisten enthalten sein.
Hinweis
Die glCopyTexSubImage1D-Funktion ist nur in OpenGL Version 1.1 oder höher verfügbar.
Die Texturierung hat keine Auswirkungen im Farbindexmodus. Die Funktionen glPixelStore und glPixelTransfer wirken sich genau so auf Texturbilder aus, wie sie sich auf die Art und Weise auswirken, wie Pixel mit glDrawPixel gezeichnet werden.
Die folgenden Funktionen rufen Informationen im Zusammenhang mit glCopyTexSubImage1D 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 |
|