glCopyTexImage1D
Inhaltsverzeichnis
glCopyTexImage1D
Name
glCopyTexImage1D - Kopiert Pixel in eine 1-dimensionale Textur
Delphi-Spezifikation
procedure glCopyTexImage1D(target : GLenum; level : GLint; internalformat : GLenum; x : GLint; y : GLint; width : GLsizei; border : GLint)
Parameter
target | Gibt die zu bearbeitende Textur an. Die Textur muss vom Typ GL_TEXTURE_1D sein. |
---|---|
level | Gibt den level-of-detail-Grad an. Level 0 ist das normale Bild. Level n ist das n-te Mipmap-Level |
internalformat | Gibt das interne Format der Textur an. Muss eine der folgenden Konstanten sein: GL_ALPHA, GL_ALPHA4, GL_ALPHA8, GL_ALPHA12, GL_ALPHA16, GL_LUMINANCE, GL_LUMINANCE4, GL_LUMINANCE8, GL_LUMINANCE12, GL_LUMINANCE16, GL_LUMINANCE_ALPHA, GL_LUMINANCE4_ALPHA4, GL_LUMINANCE6_ALPHA2, GL_LUMINANCE8_ALPHA8, GL_LUMINANCE12_ALPHA4, GL_LUMINANCE12_ALPHA12, GL_LUMINANCE16_ALPHA16, GL_INTENSITY, GL_INTENSITY4, GL_INTENSITY8, GL_INTENSITY12, GL_INTENSITY16, GL_RGB, GL_R3_G3_B2, GL_RGB4, GL_RGB5, GL_RGB8, GL_RGB10, GL_RGB12, GL_RGB16, GL_RGBA, GL_RGBA2, GL_RGBA4, GL_RGB5_A1, GL_RGBA8, GL_RGB10_A2, GL_RGBA12, oder GL_RGBA16. |
x, y | Gibt die Fenster-Koordinaten der linken Ecke der zu kopierenden Teile von Pixeln an. |
width | Gibt die Breite der Textur an. Muss entweder 0 oder 2^n + 2 * border (für n: Integer) sein. Die Höhe der Textur ist 1. |
border | Gibt die Breite des Rands an. Muss 0 oder 1 sein. |
Beschreibung
glCopyTexImage1D definiert eine 1-dimensionale Textur mit Pixeln aus dem aktuellen GL_READ_BUFFER.
Die Bildschirm-bezogene Pixelzeile mit der linken Ecke bei (x, y) und mit einer Länge von width + 2 * border definiert den Texturbereich. Als Mipmap-Level wird level benutzt.
internalformat gibt das interne Format des Textur-Arrays an.
Die Pixel in der Zeile werden genau so bearbeitet wie wenn glCopyPixels aufgerufen worden wäre, nur dass der Vorgang vor der finalen Konvertierung gestoppt wird. An diesem Punkt werden alle Pixel-Werte an den [0, 1]-Bereich angepasst und dann in das interne Texturformat konvertiert, um im Texel-Array gespeichert zu werden.
Die Pixel werden so geordnet, dass kleinere x-Werte am Bildschirm kleineren Texturkoordinaten entsprechen.
Wenn sich einige der Pixel, die in der Zeile des aktuellen GL_READ_BUFFER angegeben werden, außerhalb des Bildschirms befinden, sind die Werte für diese Pixel undefiniert.
Hinweise
glCopyTexImage1D ist ab OpenGL Version 1.1 verfügbar.
Texturierung hat keinen Effekt im Farbindex-Modus.
1, 2, 3 oder 4 werden nicht als internalformat akzeptiert.
Ein Bild mit der Breite 0 entspricht einer nil-Textur.
Fehlermeldungen
GL_INVALID_ENUM wird generiert, wenn das Ziel keine der erlaubten Werte ist.
GL_INVALID_VALUE wird generiert, wenn level kleiner als 0 ist.
GL_INVALID_VALUE könnte generiert werden, wenn level größer als log2(max) (max ist der Wert, der beim Aufruf von GL_MAX_TEXTURE_SIZE geliefert wird) ist.
GL_INVALID_VALUE wird genereirt, wenn internalformat keinen zulässigen Wert hat.
GL_INVALID_VALUE wird generiert, wenn width kleiner als 0 oder größer als 2 + GL_MAX_TEXTURE_SIZE ist oder nicht als 2^n + 2 * border (n: Integer) dargestellt werden kann.
GL_INVALID_VALUE wird erzeugt, wenn border nicht 1 oder 0 ist.
GL_INVALID_OPERATION wird generiert wenn glCopyTexImage1D innerhalb eines glBegin-glEnd Blocks aufgerufen wird.
Zugehörige Wertrückgaben
glGetTexImage
glIsEnabled mit dem Parameter GL_TEXTURE_1D
Siehe auch
glCopyPixels, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3DEXT, glTexSubImage1D, glTexSubImage2D, glTexSubImage3DEXT, glTexParameter