glCopyTexImage1D: Unterschied zwischen den Versionen
Flash (Diskussion | Beiträge) K (Korrekturgelesen + Feinschliff) |
K (→Siehe auch) |
||
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
= glCopyTexImage1D = | = glCopyTexImage1D = | ||
− | + | ||
+ | |||
== Name == | == Name == | ||
'''glCopyTexImage1D''' - Kopiert Pixel in eine 1-dimensionale Textur | '''glCopyTexImage1D''' - Kopiert Pixel in eine 1-dimensionale Textur | ||
− | + | ||
+ | |||
== Delphi-Spezifikation == | == Delphi-Spezifikation == | ||
procedure '''glCopyTexImage1D'''(''target'' : GLenum; ''level'' : GLint; ''internalformat'' : GLenum; | procedure '''glCopyTexImage1D'''(''target'' : GLenum; ''level'' : GLint; ''internalformat'' : GLenum; | ||
''x'' : GLint; ''y'' : GLint; ''width'' : GLsizei; ''border'' : GLint) | ''x'' : GLint; ''y'' : GLint; ''width'' : GLsizei; ''border'' : GLint) | ||
− | + | ||
+ | |||
== Parameter == | == Parameter == | ||
Zeile 35: | Zeile 38: | ||
|} | |} | ||
− | + | ||
+ | |||
== Beschreibung == | == Beschreibung == | ||
− | '''glCopyTexImage1D''' definiert eine 1-dimensionale Textur mit Pixeln aus dem aktuellen '''GL_READ_BUFFER'''. | + | '''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. | + | 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. | + | ''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 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. | + | 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. | 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 == | == Hinweise == | ||
− | '''glCopyTexImage1D''' ist ab OpenGL Version 1.1 verfügbar. | + | '''glCopyTexImage1D''' ist ab OpenGL Version 1.1 verfügbar. |
− | + | ||
− | Texturierung hat keinen Effekt im Farbindex-Modus. | + | Texturierung hat keinen Effekt im Farbindex-Modus. |
− | + | ||
− | 1, 2, 3 oder 4 werden nicht als ''internalformat'' akzeptiert. | + | 1, 2, 3 oder 4 werden nicht als ''internalformat'' akzeptiert. |
− | + | ||
Ein Bild mit der Breite 0 entspricht einer '''nil'''-Textur. | Ein Bild mit der Breite 0 entspricht einer '''nil'''-Textur. | ||
− | + | ||
+ | |||
== Fehlermeldungen == | == Fehlermeldungen == | ||
− | '''GL_INVALID_ENUM''' wird generiert, wenn das Ziel keine der erlaubten Werte ist. | + | '''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''' 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''' 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 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 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_VALUE''' wird erzeugt, wenn ''border'' nicht 1 oder 0 ist. |
'''GL_INVALID_OPERATION''' wird generiert wenn '''glCopyTexImage1D''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | '''GL_INVALID_OPERATION''' wird generiert wenn '''glCopyTexImage1D''' innerhalb eines [[glBegin]]-[[glEnd]] Blocks aufgerufen wird. | ||
− | + | ||
== Zugehörige Wertrückgaben == | == Zugehörige Wertrückgaben == | ||
− | [[glGetTexImage]] | + | [[glGetTexImage]] |
+ | |||
[[glIsEnabled]] mit dem Parameter '''GL_TEXTURE_1D''' | [[glIsEnabled]] mit dem Parameter '''GL_TEXTURE_1D''' | ||
− | + | ||
+ | |||
== Siehe auch == | == Siehe auch == | ||
− | [[glCopyPixels]], [[glCopyTexImage2D]], [[glCopyTexSubImage1D]], [[glCopyTexSubImage2D]], [[glPixelStore]], [[glPixelTransfer]], [[glTexEnv]], [[glTexGen]], [[glTexImage1D]], [[glTexImage2D]], [[ | + | [[glCopyPixels]], [[glCopyTexImage2D]], [[glCopyTexSubImage1D]], [[glCopyTexSubImage2D]], [[glPixelStore]], [[glPixelTransfer]], [[glTexEnv]], [[glTexGen]], [[glTexImage1D]], [[glTexImage2D]], [[glTexImage3D]], [[glTexSubImage1D]], [[glTexSubImage2D]], [[glTexSubImage3D]], [[glTexParameter]] |
[[Kategorie:GL|CopyTexImage1D]] | [[Kategorie:GL|CopyTexImage1D]] | ||
+ | [[Kategorie:GL1.1|CopyTexImage1D]] | ||
+ | [[Kategorie:GL3|CopyTexImage1D]] |
Aktuelle Version vom 21. Februar 2014, 17:52 Uhr
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
glIsEnabled mit dem Parameter GL_TEXTURE_1D
Siehe auch
glCopyPixels, glCopyTexImage2D, glCopyTexSubImage1D, glCopyTexSubImage2D, glPixelStore, glPixelTransfer, glTexEnv, glTexGen, glTexImage1D, glTexImage2D, glTexImage3D, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter