glReadPixels与glPixelStore一起使用

时间:2013-01-13 09:45:30

标签: c++ opengl glut pixel glreadpixels

我查看了关于glReadPixels的多个教程,但我很困惑:

void glReadPixels(GLint x,GLint y,GLsizei width,GLsizei height,GLenum format,GLenum type,GLvoid * data)

最后一个论点是无效的? 我看到了教程,他们将参数声明为vector,unsigned char,GLubyte,... 但这究竟意味着什么? 你需要调用glPixelStoref(,)吗?

1 个答案:

答案 0 :(得分:3)

void*是C / C ++代表“指向内存块的指针”。 glReadPixels的目的是获取帧缓冲的某些部分并将该像素数据写入您的内存。 data参数是它写入的“你的记忆”。

完全它写的是什么以及多少取决于pixel transfer parametersformattype。这就是为什么需要void*;因为它可能是写一个字节数组,一个整数数组,一个浮点数组等等。这完全取决于这两个参数的含义。