【问题标题】:On Linux how can I capture the desktop to an OpenGL texture?在 Linux 上,如何将桌面捕获到 OpenGL 纹理?
【发布时间】:2013-07-10 21:58:26
【问题描述】:

我正在编写一个跨平台开源 Oculus Rift 桌面查看器。我决定从 Linux 开始,因为我更喜欢在它上进行开发。我已经让纹理变形工作了,但现在我需要将桌面捕获到 OpenGL 纹理。还有其他问题我不完全确定如何解决,例如在捕获除我之外的每个窗口时将扭曲的桌面渲染到我的窗口。任何线索我会怎么做?

【问题讨论】:

    标签: c++ linux opengl oculus


    【解决方案1】:

    我认为您最好的做法实际上是编写一个成熟的合成器。

    GLX_texture_from_pixmap 扩展,它允许您将任何与像素图兼容的 X11 可绘制对象获取到 OpenGL 纹理中。首先,只需将根窗口(像素图)拉到 OpenGL 纹理中就足够了。稍后您可能希望使用 Composite 扩展将窗口重定向到屏幕外渲染,并在 3D 空间中将它们合成为 Occulus Rift 中的立体图片。

    【讨论】:

    • 是的,我正在考虑这个问题。那里没有多少好的轻量级 OpenGL 合成器,所以它可能有两个目的。我想我会尝试分叉 dcompmgr。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多