glTexImage: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Spezifikation)
(Beschreibung)
Zeile 69: Zeile 69:
 
''glTexImage'' nimmt die wichtige Einstellungen vor, die zum Zeichnen einer Textur unbedingt benötigt werden ( siehe Parameterliste ).
 
''glTexImage'' nimmt die wichtige Einstellungen vor, die zum Zeichnen einer Textur unbedingt benötigt werden ( siehe Parameterliste ).
 
Gezeichnet werden die Texturen im ''glBegin()'' und ''glEnd()'' Block, immer abwechselnd mit [[glTexCoord]] und [[glVertex]].
 
Gezeichnet werden die Texturen im ''glBegin()'' und ''glEnd()'' Block, immer abwechselnd mit [[glTexCoord]] und [[glVertex]].
Wenn als ''type'' GL_BITMAP gewählt wird, bestehen die Daten aus einer Reihe von ''unsigned bytes'' und als ''format'' muss GL_COLOR_INDEX eingestellt sein.<br>
+
Wenn als ''type'' GL_BITMAP gewählt wird, bestehen die Daten aus einer Reihe von '''unsigned bytes''' und als ''format'' muss GL_COLOR_INDEX eingestellt sein.<br>
Um das Zeichnen einer 2D Textur zu aktivieren: [[glEnable]](GL_TEXTURE_2D);
+
Um das Zeichnen einer 2D Textur zu aktivieren nutzen sie [[glEnable]]('''GL_TEXTURE_2D''').
  
  
 
<br>
 
<br>
 +
 
== Hinweise ==
 
== Hinweise ==
 
''glTexImage3D'' war bis zu OpenGL 1.2 noch eine Erweiterung. Deswegen bei manchen Chipsätzen nur als [[glTexImage3DEXT]] verfügbar.
 
''glTexImage3D'' war bis zu OpenGL 1.2 noch eine Erweiterung. Deswegen bei manchen Chipsätzen nur als [[glTexImage3DEXT]] verfügbar.

Version vom 6. April 2005, 13:22 Uhr

Hinweis: Dieser Artikel ist noch unvollständig.
(Mehr Informationen/weitere Artikel)

{{{1}}}

Incomplete.jpg

glTexImage


Name

glTexImage - Einstellungen zum Texturen zeichnen


Spezifikation

procedure glTexImage1D(target: TGLenum; level: TGLint; internalformat: TGLint; width: TGLsizei; 
                       border: TGLint; format: TGLenum; _type: TGLenum; const pixels: PGLvoid); 
procedure glTexImage2D(target: TGLenum; level: TGLint; internalformat: TGLint; width: TGLsizei; height: TGLsizei; border: TGLint; format: TGLenum; _type: TGLenum; const pixels: PGLvoid);
procedure glTexImage3D(target: TGLenum; level: TGLint; internalformat: TGLint; width: TGLsizei; height: TGLsizei; depth: TGLsizei; border: TGLint; format: TGLenum; _type: TGLenum; const pixels: PGLvoid);

Parameter

target Gibt an, welche Texture erreicht werden soll. GL_TEXTURE_2D wird akzeptiert.
level Gibt den Detailgrad für das gewünschte Bild an.
level 0 ist das Basisbild. Level n ist die n-te Mipmap reduzierung des Bildes.
components 1 - für R || 2 für R und A || 3 für RGB || 4 für RGBA
width, Breite = Anzahl der Pixel pro Zeile
muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben.
height, Höhe = Anzahl der Zeilen
muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben
depth, Tiefe = Anzahl der "Scheiben"
muss als Wert 2^n (+ 2 * (border) ) für n Integerwerte haben
border, Breite des Rahmens || 0 oder 1
format Bestimmt das Format der Pixeldaten. Folgende symbolische Werte werden akzeptiert:
GL_COLOR_INDEX, GL_STENCIL_INDEX, GL_DEPTH_COMPONENT, GL_RED, GL_GREEN, GL_BLUE, GL_ALPHA, GL_RGB, GL_RGBA, GL_LUMINANCE, und GL_LUMINANCE_ALPHA
_type Bestimmt den Pixeltyp für den Inhalt von pixels. Folgende Typen werden unterstützt:
GL_UNSIGNED_BYTE, GL_BYTE, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, GL_FLOAT, GL_BITMAP
pixels Die Texture-Image Daten vom Typ, der in format angegeben wurde ( Array wo die Pixel gespeichert sind )


Beschreibung

glTexImage nimmt die wichtige Einstellungen vor, die zum Zeichnen einer Textur unbedingt benötigt werden ( siehe Parameterliste ). Gezeichnet werden die Texturen im glBegin() und glEnd() Block, immer abwechselnd mit glTexCoord und glVertex. Wenn als type GL_BITMAP gewählt wird, bestehen die Daten aus einer Reihe von unsigned bytes und als format muss GL_COLOR_INDEX eingestellt sein.
Um das Zeichnen einer 2D Textur zu aktivieren nutzen sie glEnable(GL_TEXTURE_2D).



Hinweise

glTexImage3D war bis zu OpenGL 1.2 noch eine Erweiterung. Deswegen bei manchen Chipsätzen nur als glTexImage3DEXT verfügbar.


Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn target kein GL_TEXTURE_2D ist.

GL_INVALID_ENUM wird generiert wenn falsches format angegeben wurde.

GL_INVALID_ENUM wird generiert wenn falscher type angegeben wurde.

GL_INVALID_ENUM wird generiert wenn GL_BITMAP als type und kein GL_COLOR_INDEX als format angegeben wurde.

GL_INVALID_VALUE wird generiert wenn level kleiner 0 oder größer ld(max) ist, wobei max der Rückgabewert von GL_MAX_TEXTURE_SIZE ist. (ld = Logarithmus Dualis = Basis 2).

GL_INVALID_VALUE wird generiert wenn für components was anderes als 1, 2, 3 oder 4 angegeben wurde.

GL_INVALID_VALUE wird generiert wenn width oder height kleiner als 0 oder größer als 2 + GL_MAX_TEXTURE_SIZE ist, oder die Bedingung 2^k + 2 * (border) (k=Integerwerte) nich erfüllt.

GL_INVALID_VALUE wenn border nicht 0 oder 1 ist.

GL_INVALID_OPERATION wird generiert wenn glTexImage2D in einem glBegin- und glEnd-Block ausgeführt wird.



Siehe auch

glTexEnv, glTexGen, glTexImage3DEXT, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter, glTexCoord