glDrawPixels
(Mehr Informationen/weitere Artikel) {{{1}}} |
Der Artikel enthält bereits alle Teile. Unvollständig ist er, da die parameterbeschreibung noch ausgebaut werden sollte. |
Inhaltsverzeichnis
glDrawPixels
Name
glDrawPixels - zeichnet einen Block von Pixel aus einem Array.
procedure glDrawPixels(width: TGLsizei; height: TGLsizei; format: TGLenum; _type: TGLenum; const pixels: PGLvoid);
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