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
GL _ INVALID _ ENUM
target war kein akzeptierter Wert.
GL _ UNGÜLTIGER _ 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.
GL _ UNGÜLTIGER _ WERT
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.
GL _ UNGÜLTIGER _ WERT
width war kleiner als border oder y kleiner als border, wobei border die Rahmenbreite des Texturarrays ist.
UNGÜLTIGER _ _ GL-VORGANG
Das Texturarray wurde nicht durch einen vorherigen glTexImage1D-Vorgang definiert.
UNGÜLTIGER _ _ GL-VORGANG
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:

glGetTexImage

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
Gl.h
Bibliothek
Opengl32.lib
DLL
Opengl32.dll

Weitere Informationen

glBegin

glCopyTexSubImage2D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D

glTexParameter