我正在编写一个跨平台开源 Oculus Rift 桌面查看器。我决定从 Linux 开始,因为我更喜欢在它上进行开发。我已经开始使用纹理扭曲,但现在我需要将桌面捕获为 OpenGL 纹理。还有其他问题我不完全确定如何解决,例如将扭曲的桌面渲染到我的窗口,同时捕获除我的窗口之外的每个窗口。知道我该怎么做吗?
最佳答案
我认为你最好的做法实际上是编写一个成熟的合成器。
有 GLX_texture_from_pixmap
扩展,它允许您将任何与像素图兼容的 X11 可绘制对象源到 OpenGL 纹理中。首先,只需将根窗口(像素图)拉入 OpenGL 纹理中就足够了。稍后您可能想要使用 Composite 扩展将窗口重定向到离屏渲染,并将它们在 3D 空间中合成为 Occulus Rift 中的立体图片。
关于c++ - 在 Linux 上如何将桌面捕获为 OpenGL 纹理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17581657/