我试图从GLX上下文中读取像素。这就是我如何创建上下文
int Attributes[] =
{
GLX_DRAWABLE_TYPE, GLX_WINDOW_BIT,
GLX_RENDER_TYPE, GLX_RGBA_BIT,
GLX_DOUBLEBUFFER, GL_TRUE,
GLX_RED_SIZE, 8,
GLX_GREEN_SIZE, 8,
GLX_BLUE_SIZE, 8,
None
};
visual = glXChooseVisual(display,
DefaultScreen(display),
Attributes);
if (visual == NULL)
{
return -1;
}
glxContext = glXCreateContext(display, visual, NULL, GL_TRUE);
XLockDisplay(displayGLX_);
int result = glXMakeCurrent(display, windowHandle, glxContext);
XInitThreads();
然后我渲染简单的三角形,我想通过glReadPixels读取缓冲区。有没有可能做到这一点?
glReadBuffer(GL_BACK);
glXSwapBuffers(display, windowHandle);
然后我打电话
glReadPixels
答案 0 :(得分:3)
不要交换1st,你从BACK缓冲区读取,所以在交换之前glReadPixels ...