glTexImage: Unterschied zwischen den Versionen

Aus DGL Wiki
Wechseln zu: Navigation, Suche
(Delphi-Spezifikation)
(Delphi-Spezifikation)
Zeile 6: Zeile 6:
  
 
<br>
 
<br>
== Delphi-Spezifikation ==
+
== Spezifikation ==
  procedure '''glTexImage1D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels'');
+
  procedure '''glTexImage1D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels''); <br>
 
  procedure '''glTexImage2D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels'');
 
  procedure '''glTexImage2D'''(GLenum ''target'', GLint ''level'', GLint ''components'', GLsizei ''width'', GLsizei ''height'', GLint ''border'', <br> GLenum ''format'', GLenum ''type'', const GLvoid ''*pixels'');
  

Version vom 7. März 2005, 12:52 Uhr

glTexImage


Name

glTexImage - Einstellungen zum Texturen zeichnen


Spezifikation

procedure glTexImage1D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border, 
GLenum format, GLenum type, const GLvoid *pixels);
procedure glTexImage2D(GLenum target, GLint level, GLint components, GLsizei width, GLsizei height, GLint border,
GLenum format, GLenum type, const GLvoid *pixels);


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
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


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