glTexImage: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Spezifikation: Pointer auf Delphi umgestellt)
(Spezifikation)
Zeile 8: Zeile 8:
 
<br>
 
<br>
 
== Spezifikation ==
 
== Spezifikation ==
  procedure '''glTexImage1D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const PGLvoid ''pixels''); <br>
+
  procedure '''glTexImage1D'''(''target'': TGLenum; ''level'': TGLint; ''internalformat'': TGLint; ''width'': TGLsizei; ''border'': TGLint; ''format'': TGLenum; ''_type'': TGLenum; '''const''' ''pixels'': PGLvoid); <br>
  procedure '''glTexImage2D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const PGLvoid ''pixels''); <br>
+
  procedure '''glTexImage2D'''(''target'': TGLenum; ''level'': TGLint; ''internalformat'': TGLint; ''width'': TGLsizei; ''height'': TGLsizei; ''border'': TGLint; ''format'': TGLenum; ''_type'': TGLenum; '''const''' ''pixels'': PGLvoid); <br>
  procedure '''glTexImage3D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLsizei ''depth'', <br> GLint ''border'', GLenum ''format'', GLenum ''type'', const PGLvoid ''pixels''); <br>
+
  procedure '''glTexImage3D'''(''target'': TGLenum; ''level'': TGLint; ''internalformat'': TGLint; ''width'': TGLsizei; ''height'': TGLsizei; ''depth'': TGLsizei; ''border'': TGLint; ''format'': TGLenum; ''_type'': TGLenum; '''const''' ''pixels'': PGLvoid); <br>
  
 
== Parameter ==
 
== Parameter ==

Version vom 15. März 2005, 16:54 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: 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, glTexImage1D, glTexImage2D, glTexImage3D, glTexImage3DEXT, glTexSubImage1D, glTexSubImage2D, glTexSubImage3D, glTexParameter, glTexCoord