gl.ReadPixelsRaw(x, y, width, height, format, type, pixels)
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.
#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.
#GL_INDEX_MODE