Freigeben über


glCopyTexImage1D-Funktion

Die glCopyTexImage1D-Funktion kopiert Pixel aus dem Framebuffer in ein eindimensionales Texturbild.

Syntax

void WINAPI glCopyTexImage1D(
   GLenum  target,
   GLint   level,
   GLenum  internalFormat,
   GLint   x,
   GLint   y,
   GLsizei width,
   GLint   border
);

Parameter

Ziel

Das Ziel, für 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-temipmap-Reduktionsbild.

internalFormat

Das interne Format und die Auflösung der Texturdaten. Dieser Parameter muss einer der folgenden symbolischen Werte sein.

Konstant R Bits G-Bits B-Bits A Bits L-Bits I Bits
GL_ALPHA
GL_ALPHA4 4
GL_ALPHA8 8
GL_ALPHA12 12
GL_ALPHA16 16
GL_LUMINANCE
GL_LUMINANCE4 4
GL_LUMINANCE8 8
GL_LUMINANCE12 12
GL_LUMINANCE16 16
GL_LUMINANCE_ALPHA
GL_LUMINANCE4_ALPHA4 4 4
GL_LUMINANCE6_ALPHA2 2 6
GL_LUMINANCE8_ALPHA8 8 8
GL_LUMINANCE12_ALPHA4 4 12
GL_LUMINANCE12_ALPHA12 12 12
GL_LUMINANCE16_ALPHA16 16 16
GL_INTENSITY
GL_INTENSITY4 4
GL_INTENSITY8 8
GL_INTENSITY12 12
GL_INTENSITY16 16
GL_RGB
GL_R3_G3_B2 3 3 2
GL_RGB4 4 4 4
GL_RGB5 5 5 5
GL_RGB8 8 8 8
GL_RGB10 10 10 10
GL_RGB12 12 12 12
GL_RGB16 16 16 16
GL_RGBA
GL_RGBA2 2 2 2 2
GL_RGBA4 4 4 4 4
GL_RGB5_A1 5 5 5 1
GL_RGBA8 8 8 8 8
GL_RGB10_A2 10 10 10 2
GL_RGBA12 12 12 12 12
GL_RGBA16 16 16 16 16

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 Texturbilds. Muss null oder 2n + 2 (Rahmen) für eine ganze Zahl n sein. Die Höhe des Texturbildes ist 1.

Grenze

Die Breite des Rahmens. Muss entweder 0 oder 1 sein.

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 null oder größer als log2 max, wobei max der zurückgegebene Wert von GL_MAX_TEXTURE_SIZE ist.
GL_INVALID_VALUE
rahmen war nicht null oder 1.
GL_INVALID_VALUE
die Breite war kleiner als null, größer als 2 + GL_MAX_TEXTURE_SIZE, oder die Breite kann für eine ganze Zahl n nicht als 2n +(Rahmen) dargestellt werden.
GL_INVALID_OPERATION
Die Funktion wurde zwischen einem Aufruf von glBegin und dem entsprechenden Aufruf von glEnd aufgerufen.

Bemerkungen

Die glCopyTexImage1D-Funktion definiert ein eindimensionales Texturbild unter Verwendung von Pixeln aus dem aktuellen Framebuffer und nicht wie bei glTexImage1D aus Standard Arbeitsspeicher.

Mithilfe der mit der Ebene angegebenen Mipmap-Ebene werden Texturarrays als Pixelzeile definiert, die an der unteren linken Ecke des Fensters an den durch x und y angegebenen Koordinaten ausgerichtet ist, mit einer Länge gleich Breite + 2 * Rahmen. Das interne Format des Texturarrays wird mit dem internalFormat-Parameter angegeben.

Die glCopyTexImage1D-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.

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

Hinweis

Die glCopyTexImage1D-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 glDrawPixels beeinflussen.

Die folgende Funktion ruft Informationen im Zusammenhang mit glCopyTexImage1D ab:

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

glCopyPixels

glCopyTexImage2D

glDrawPixels

glFog

glPixelStore

glPixelTransfer

glTexEnv

glTexGen

glTexImage1D

glTexImage2D

glTexParameter