在Linux上,我怎样才能把桌面捕捉到OpenGL纹理?

我正在编写跨平台的开源Oculus Rift桌面查看器。 我决定从Linux开始,因为我更喜欢开发它。 我已经得到了纹理变形的工作,但现在我需要将桌面捕捉到OpenGL纹理。 还有其他的问题,我不完全知道如何解决像歪曲的桌面渲染到我的窗口,而捕获除我以外的每个窗口。 任何线索我会怎么去呢?

我认为你最好的行动方式实际上是写一个完全成熟的排字工。

GLX_texture_from_pixmap扩展名,它允许您将任何可兼容pixmap的X11绘制到OpenGL纹理中。 首先,将根窗口(pixmap)拉到OpenGL纹理中就足够了。 稍后,您可能希望使用Composite扩展将窗口重定向到离屏渲染,并将它们作为Occulus Rift中的立体图片在3D空间中进行合成。