glCopyTexSubImage2D-Funktion
Die glCopyTexSubImage2D-Funktion kopiert ein Unterbild eines zweidimensionalen Texturbilds aus dem Framepuffer.
Syntax
void WINAPI glCopyTexSubImage2D(
GLenum target,
GLint level,
GLint xoffset,
GLint yoffset,
GLint x,
GLint y,
GLsizei width,
GLsizei height
);
Parameter
-
Ziel
-
Das Ziel, in das die Bilddaten geändert werden. Muss den Wert GL _ TEXTURE _ 2D aufweisen.
-
level
-
Die Detailebenennummer. Ebene 0 ist das Basisimage. Ebene n ist das n-te Mipmap-Reduzierungsbild.
-
xoffset
-
Der Texeloffset in x-Richtung innerhalb des Texturarrays.
-
yoffset
-
Der Texeloffset in y-Richtung innerhalb des Texturarrays.
-
x
-
Die x-Ebenenkoordinaten des Fensters in der unteren linken Ecke der zu kopierenden Pixelzeile.
-
y
-
Die y-Ebenenkoordinaten 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.
-
height
-
Die Höhe 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 größer als Protokoll 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), yoffset was less than border, or (yoffset height ) was greater than ( h border ), where w is GL TEXTURE WIDTH and + + _ _ border is GL TEXTURE _ _ BORDER. 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 glCopyTexSubImage2D-Funktion ersetzt einen rechteckigen Teil eines zweidimensionalen Texturbilds durch Pixel aus dem aktuellen Framepuffer und nicht aus dem Hauptspeicher, wie es bei glTexSubImage2Dder Fall ist.
Ein Rechteck aus Pixeln, das mit den x- und y-Fensterkoordinaten und mit den Abmessungen Breite und Höhe beginnt, ersetzt den Teil des Texturarrays durch die Indizes xoffset bis xoffset + (width - 1), mit den Indizes yoffset bis yoffset + (width - 1) auf der mipmap-Ebene, die durch ebene angegeben wird. Das Zielrechteck im Texturarray darf keine Texel außerhalb des ursprünglich angegebenen Texturarrays enthalten.
Die glCopyTexSubImage2D-Funktion verarbeitet die Pixel in einer Zeile auf die gleiche Weise wie glCopyPixels,mit der Ausnahme, dass vor der endgültigen Konvertierung der Pixel alle Pixelkomponentenwerte an den Bereich 0,1 geklammert und zur Speicherung im Texturarray in das interne Format der Textur 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.
Wenn sich eines der Pixel innerhalb des angegebenen Rechtecks des aktuellen Framepuffers außerhalb des Dem aktuellen Renderingkontexts zugeordneten Lesefensters befinden, sind die für diese Pixel erhaltenen Werte nicht definiert. Es wird keine Änderung am internalFormat-, Width-, Height- oder Border-Parameter des angegebenen Texturarrays oder an Texelwerten außerhalb des angegebenen Texturunterbilds vorgenommen.
Aufrufe von glCopyTexSubImage2D können nicht in Anzeigelisten enthalten sein.
Hinweis
Die glCopyTexSubImage2D-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 glCopyTexSubImage2D ab:
glIsEnabled mit Argument GL _ TEXTURE _ 2D
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 |
|