OpenGL glReadPixels使用

glReadPixels示例代码

glReadBuffer(GL_COLOR_ATTACHMENT0);
appEglCheckGlError("glReadBuffer");

glPixelStorei(GL_PACK_ALIGNMENT, 1);
appEglCheckGlError("glPixelStorei GL_PACK_ALIGNMENT");

glPixelStorei(GL_PACK_ROW_LENGTH, 0);
appEglCheckGlError("glPixelStorei GL_PACK_ROW_LENGTH");

glPixelStorei(GL_PACK_SKIP_ROWS, 0);
appEglCheckGlError("glPixelStorei GL_PACK_SKIP_ROWS");

glPixelStorei(GL_PACK_SKIP_PIXELS, 0);
appEglCheckGlError("glPixelStorei GL_PACK_SKIP_PIXELS");

PFNGLCLIPCONTROLEXTPROC glClipControlEXT = (PFNGLCLIPCONTROLEXTPROC)eglGetProcAddress("glClipControlEXT");

/* glViewport (0,0) is lower left */
glClipControlEXT(GL_UPPER_LEFT_EXT, GL_NEGATIVE_ONE_TO_ONE_EXT);

/* size of data is width*height*4 */
glReadPixels(0, 0, width, height, GL_BGRA_EXT, GL_UNSIGNED_BYTE, data);
appEglCheckGlError("glReadPixels");

参考

  • khronos GLAPI/glReadPixels
  • khronos glReadPixels
  • glReadPixels 函数
  • GBM for EGL (Linux)

你可能感兴趣的:(OpenGL,OpenGL)