Share via


glCopyTexSubImage1D-Funktion

Die glCopyTexSubImage1D-Funktion kopiert ein Unterbild eines eindimensionalen Texturbilds aus dem Framebuffer.

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 haben.

level

Die Anzahl der Detailebenen. Ebene 0 ist das Basisimage. Ebene n ist das n-th-mipmap-Reduktionsbild.

xoffset

Der Texeloffset innerhalb des Texturarrays.

x

Die x-ebenen Fensterkoordinate der unteren linken Ecke der Zu kopierenden Pixelzeile.

y

Die Fensterkoordinate der unteren linken Ecke der zu kopierenden Pixelzeile.

width

Die Breite des Unterbilds des Texturbilds. Das Angeben eines Texturunterbilds mit der Breite 0 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_INVALID_VALUE
level war kleiner als 0 oder level is größer als log2(max), wobei max der zurückgegebene Wert von GL_MAX_TEXTURE_SIZE ist.
GL_INVALID_VALUE
xoffset war kleiner als rahmen oder (xoffset + width)war größer als (w + border), wobei w GL_TEXTURE_WIDTH und rahmen GL_TEXTURE_BORDER ist. Beachten Sie, dass w die doppelte Rahmenbreite enthält.
GL_INVALID_VALUE
die Breite war kleiner als rahmen , oder y war kleiner als rahmen, wobei rahmen die Rahmenbreite des Texturarrays ist.
GL_INVALID_OPERATION
Das Texturarray wurde nicht durch einen vorherigen glTexImage1D-Vorgang definiert.
GL_INVALID_OPERATION
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 mithilfe von Pixeln aus dem aktuellen Framebuffer und nicht aus Standard Arbeitsspeicher, wie es bei glTexSubImage1D der Fall ist.

Eine Zeile von Pixeln, die mit den durch x und y angegebenen Fensterkoordinaten und mit der Längenbreite beginnen, ersetzt den Teil des Texturarrays durch die Indizes xoffset bis xoffset + (Breite - 1). 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 , mit dem Unterschied, dass vor der endgültigen Konvertierung der Pixel alle Pixelkomponentenwerte in den Bereich [0,1] geklemmt und in das interne Format der Textur für die Speicherung im Texturarray konvertiert werden. Die Pixelreihenfolge wird mit niedrigeren x-Koordinaten bestimmt, die niedrigeren Texturkoordinaten entsprechen. Wenn sich einer der Pixel in einer angegebenen Zeile des aktuellen Framebuffers außerhalb des Fensters befindet, 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.

Sie können keine Aufrufe von glCopyTexSubImage1D in Anzeigelisten einschließen.

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 auf Texturbilder genau so aus, wie sie die Art und Weise beeinflussen, wie Pixel mit glDrawPixels gezeichnet werden.

Die folgenden Funktionen rufen Informationen im Zusammenhang mit glCopyTexSubImage1D ab:

glGetTexImage

glIsEnabled mit Argument GL_TEXTURE_1D

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

Siehe auch

glBegin

glCopyTexSubImage2D

glDrawPixels

glEnd

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexSubImage1D

glTexSubImage2D

glTexParameter