glDrawPixels

Aus DGL Wiki
Version vom 25. Februar 2005, 14:16 Uhr von 213.187.92.36 (Diskussion)

(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)
Wechseln zu: Navigation, Suche

glDrawPixels


Name

glDrawPixels - zeichnet einen Block von Pixel aus einem Array.


void glDrawPixels(GLsizei width, GLsizei height, GLenum format, GLenum type, const GLvoid *pixels);


Parameter

width, height Beschreibt die Dimensionen des Pixelrechtecks. Die Angaben werden dabei in Pixel gemacht.
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 Beschreibt den Datentyp der Pixeldaten. Muss einer der Folgenden sein:
GL_UNSIGNED_BYTE, GL_BYTE, GL_BITMAP, GL_UNSIGNED_SHORT, GL_SHORT, GL_UNSIGNED_INT, GL_INT, oder GL_FLOAT
pixels Beschreibt die Pixeldaten die in einem Array gespeichert sind.


Beschreibung

glDrawPixels zeichnet die Pixeldaten aus einem Array in ein durch width und height dimensioniertes rechteckiges Fenster, welches die Position durch glRasterPos bekommt.


Der Parameter format bestimmt das Format der in dem Array gespeicherten Pixelwerte. Akzeptiert werden:

Format Parameter

Name || Art der Pixeldaten

GL_COLOR_INDEX || Ein Farb-Index
GL_RGB || Eine rote Farbkomponente, gefolgt von einer grünen und einer blauen
GL_RGBA || Eine rote Farbkomponente, gefolgt von einer grünen, einer blauen und eines Alpha-Wertes
GL_RED || Eine rote Farbkomponente
GL_GREEN || Eine gruene Farbkomponente
GL_BLUE || Eine blaue Farbkomponente
GL_ALPHA || Eine Alpha-Wert Farbkomponente
GL_LUMINANCE || Eine Helligkeits-Komponente
GL_LUMINANCE_ALPHA || Eine Helligkeits-Komponente gefolgt von einer Alpha-Wert Farbkomponente
GL_STENCIL_INDEX || Eine Masken- Komponente
GL_DEPTH_COMPONENT|| Eine Farbtiefen-Wert Farbkomponente


Der Parameter type gibt an, wieviel Speicherplatz für eine Komponente eines Pixels reserviert wurde

Name || Datentype

GL_UNSIGNED_BYTE || unsigned 8-bit integer
GL_BYTE || signed 8-bit integer
GL_BITMAP || single bits in unsigned 8-bit integers
GL_UNSIGNED_SHORT || unsigned 16-bit integer
GL_SHORT || signed 16-bit integer
GL_UNSIGNED_INT || unsigned 32-bit integer
GL_INT || 32-bit integer
GL_FLOAT || single-precision floating point

Beispiel: wenn das Format GL_RGBA ist und als type GL_INT (32 bit) eingegeben wurde, dann braucht jedes Pixel einen Speicher von 16 bytes (4 Komponenten x 4 bytes)

Hinweise

Werte von Pixeln außerhalb des Fensters, das mit dem aktuellen GL-Kontext verbunden ist, sind undefiniert.

Wenn ein Fehler bei der Durchführung der Funktion auftritt, werden keine Veränderungen am Inhalt von pixels durchgeführt.


Fehlermeldungen

GL_INVALID_ENUM wird generiert wenn format oder type ein ungültiger Wert übergeben wird.
GL_INVALID_VALUE wird generiert wenn entweder width oder height negativ ist.
GL_INVALID_OPERATION wird generiert wenn format GL_COLOR_INDEX ist und der Farbpuffer RGBA Werte enthält.
GL_INVALID_OPERATION wird generiert wenn format GL_STENCIL_INDEX ist und kein Schablonen-(/Stencil-)Puffer existiert.
GL_INVALID_OPERATION wird generiert wenn format GL_DEPTH_COMPONENT ist und kein Tiefenpuffer existiert.
GL_INVALID_OPERATION wird generiert wenn glDrawPixels innerhalb eines glBegin-glEnd Blocks aufgerufen wird.


Zugehörige Wertrückgaben

glGet mit Token GL_INDEX_MODE


Siehe auch

glCopyPixels, glReadPixels, glPixelMap, glPixelStore, glPixelTransfer, glReadBuffer