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