在OpenGL中GPU渲染完数据向CPU回传显存的唯一方式为glReadPixels。其函数原型为
void glReadPixels( |
GLint x, |
GLint y, | |
GLsizei width, | |
GLsizei height, | |
GLenum format, | |
GLenum type, | |
void * data) ; |
前四个参数定义了一个像素矩形空间指向我们想要保存的区域
第五个参数指定了像素数据的格式,可以传入的值有GL_STENCIL_INDEX
, GL_DEPTH_COMPONENT
, GL_DEPTH_STENCIL
, GL_RED
, GL_GREEN
, GL_BLUE
, GL_RGB
, GL_BGR
, GL_RGBA
, 或GL_BGRA
.
第六个指针指定了数据的类型,必须为以下值之一GL_UNSIGNED_BYTE
, GL_BYTE
, GL_UNSIGNED_SHORT
, GL_SHORT
, GL_UNSIGNED_INT
, GL_INT
, GL_HALF_FLOAT
, GL_FLOAT
,