GLX上下文框架读数

GLX context framebuffer reading

本文关键字:框架 上下文 GLX      更新时间:2023-10-16

我正在尝试从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

不要交换第1,您从后缓冲区阅读,所以在交换之前glreadpixels ...