glCopyTexImage1D

Aus DGL Wiki
Version vom 21. Februar 2014, 17:52 Uhr von Glawesome (Diskussion | Beiträge) (Siehe auch)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

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, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter