Bezeichnung
gl.ReadPixelsRaw -- liest einen Pixelblock aus dem Rahmenpuffer
Übersicht
gl.ReadPixelsRaw(x, y, width, height, format, type, pixels)
Beschreibung
Dies entspricht gl.ReadPixels(), gibt aber die Pixel nicht in einer Tabelle zurück, sondern werden stattdessen direkt in einen Speicherblock geschrieben, der in pixels übergeben werden muss. Dies muss ein Speicherpuffer sein, der von dem Hollywood-Befehl AllocMem() zugewiesen und von GetMemPointer() zurückgegeben wird. Siehe Mit Zeigern arbeiten für Details zur Verwendung von Speicherzeigern mit Hollywood.

Siehe gl.ReadPixels für eine Liste der unterstützten Typen für den Formatparameter.

Zusätzlich können Sie mit gl.ReadPixelsRaw() auch den Datentyp definieren, der beim Lesen von Pixeln aus dem Rahmenpuffer verwendet werden soll. type kann die folgenden Werte annehmen: #GL_UNSIGNED_BYTE, #GL_BYTE, #GL_BITMAP, #GL_UNSIGNED_SHORT, #GL_SHORT, #GL_UNSIGNED_INT, #GL_INT oder #GL_FLOAT. gl.ReadPixels() verwendet immer #GL_FLOAT. Mit gl.ReadPixelsRaw() können Sie diesen Parameter an Ihre spezifischen Bedürfnisse anpassen.

Siehe gl.ReadPixels für Details.

Weitere Informationen finden Sie in einem OpenGL-Referenzhandbuch.

Eingaben
x
gibt die linke Koordinate eines rechteckigen Blocks von Pixeln an
y
gibt die untere Koordinate eines rechteckigen Blocks von Pixeln an
width
Breite des Pixelrechtecks
height
Höhe des Pixelrechtecks
format
Format der Pixeldaten (siehe oben)
type
gibt den Datentyp der Pixeldaten an (siehe oben)
pixels
Zeiger auf einen Speicherpuffer, um die Pixel in den Speicher zu schreiben
Fehler
#GL_INVALID_ENUM wird erzeugt, wenn format oder type kein akzeptierter Wert ist.

#GL_INVALID_VALUE wird erzeugt, wenn entweder width oder height negativ ist.

#GL_INVALID_OPERATION wird erzeugt, wenn format #GL_COLOR_INDEX ist und die Farbpuffer RGBA-Farbkomponenten speichern.

#GL_INVALID_OPERATION wird erzeugt, wenn format #GL_STENCIL_INDEX ist und es keinen Schablonenpuffer gibt.

#GL_INVALID_OPERATION wird erzeugt, wenn format #GL_DEPTH_COMPONENT ist und es keinen Tiefenpuffer gibt.

#GL_INVALID_OPERATION wird erzeugt, wenn gl.ReadPixels() zwischen gl.Begin() und gl.End() ausgeführt wird.

Verbundene get-operationen
gl.Get() mit dem Argument #GL_INDEX_MODE


Navigation zeigen