glCopyTexImage1D: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
K (Korrekturgelesen + Feinschliff)
K (Siehe auch)
 
(5 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 
= glCopyTexImage1D =
 
= glCopyTexImage1D =
  
<br>
+
 
 +
 
 
== Name ==
 
== Name ==
 
'''glCopyTexImage1D''' - Kopiert Pixel in eine 1-dimensionale Textur
 
'''glCopyTexImage1D''' - Kopiert Pixel in eine 1-dimensionale Textur
  
<br>
+
 
 +
 
 
== 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)
<br>
+
 
 +
 
  
 
== Parameter ==
 
== Parameter ==
Zeile 35: Zeile 38:
 
|}
 
|}
  
<br>
+
 
 +
 
  
 
== Beschreibung ==  
 
== Beschreibung ==  
'''glCopyTexImage1D''' definiert eine 1-dimensionale Textur mit Pixeln aus dem aktuellen '''GL_READ_BUFFER'''. <br>
+
'''glCopyTexImage1D''' definiert eine 1-dimensionale Textur mit Pixeln aus dem aktuellen '''GL_READ_BUFFER'''.
<br>
+
 
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.<br>
+
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.
<br>
+
 
''internalformat'' gibt das interne Format des Textur-Arrays an.<br>
+
''internalformat'' gibt das interne Format des Textur-Arrays an.
<br>
+
 
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.<br>
+
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.
<br>
+
 
Die Pixel werden so geordnet, dass kleinere x-Werte am Bildschirm kleineren Texturkoordinaten entsprechen.<br>
+
Die Pixel werden so geordnet, dass kleinere x-Werte am Bildschirm kleineren Texturkoordinaten entsprechen.
<br>
+
 
 
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.
<br>
+
 
 +
 
  
 
== Hinweise ==
 
== Hinweise ==
'''glCopyTexImage1D''' ist ab OpenGL Version 1.1 verfügbar.<br>
+
'''glCopyTexImage1D''' ist ab OpenGL Version 1.1 verfügbar.
<br>
+
 
Texturierung hat keinen Effekt im Farbindex-Modus.<br>
+
Texturierung hat keinen Effekt im Farbindex-Modus.
<br>
+
 
1, 2, 3 oder 4 werden nicht als ''internalformat'' akzeptiert.<br>
+
1, 2, 3 oder 4 werden nicht als ''internalformat'' akzeptiert.
<br>
+
 
 
Ein Bild mit der Breite 0 entspricht einer '''nil'''-Textur.
 
Ein Bild mit der Breite 0 entspricht einer '''nil'''-Textur.
  
<br>
+
 
 +
 
 
== Fehlermeldungen ==
 
== Fehlermeldungen ==
'''GL_INVALID_ENUM''' wird generiert, wenn das Ziel keine der erlaubten Werte ist.<br>
+
'''GL_INVALID_ENUM''' wird generiert, wenn das Ziel keine der erlaubten Werte ist.
  
'''GL_INVALID_VALUE''' wird generiert, wenn ''level'' kleiner als 0 ist.<br>
+
'''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.<br>
+
'''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.<br>
+
'''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.<br>
+
'''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. <br>
+
'''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.  
  
<br>
+
 
  
 
==  Zugehörige Wertrückgaben ==
 
==  Zugehörige Wertrückgaben ==
[[glGetTexImage]]<br>
+
[[glGetTexImage]]
 +
 
 
[[glIsEnabled]] mit dem Parameter '''GL_TEXTURE_1D'''
 
[[glIsEnabled]] mit dem Parameter '''GL_TEXTURE_1D'''
  
<br>
+
 
 +
 
  
 
== Siehe auch ==
 
== Siehe auch ==
[[glCopyPixels]], [[glCopyTexImage2D]], [[glCopyTexSubImage1D]], [[glCopyTexSubImage2D]], [[glPixelStore]], [[glPixelTransfer]], [[glTexEnv]], [[glTexGen]], [[glTexImage1D]], [[glTexImage2D]], [[glTexImage3DEXT]], [[glTexSubImage1D]], [[glTexSubImage2D]], [[glTexSubImage3DEXT]], [[glTexParameter]]
+
[[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

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