我查看了关于glReadPixels的多个教程,但我很困惑:
void glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * data)
最后一个论点是无效的? 我看到了教程,他们将参数声明为vector,unsigned char,GLubyte,... 但这究竟意味着什么? 你需要调用glPixelStoref(,)吗?
答案 0 :(得分:3)
void*
是C / C ++代表“指向内存块的指针”。 glReadPixels
的目的是获取帧缓冲的某些部分并将该像素数据写入您的内存。 data
参数是它写入的“你的记忆”。
完全它写的是什么以及多少取决于pixel transfer parameters,format
和type
。这就是为什么需要void*
;因为它可能是写一个字节数组,一个整数数组,一个浮点数组等等。这完全取决于这两个参数的含义。