2

我想知道,如何捕捉一个窗口并将其显示在 3D 空间的纹理上。以及如何将鼠标和键盘输入从 3D 应用程序重定向到后台运行的应用程序?我的意思是全3D桌面。

4

2 回答 2

1

这可能有点复杂,“完整”的答案可能不适合这个论坛。不过,这是一个想法/大纲:

一种方法是通过VNC。在 VNC 服务器中运行一个单独的、不可见的“虚拟”桌面,然后以它作为显示启动所需的应用程序。然后,您在“真实”桌面上的 3D 渲染程序可以连接到 VNC 服务器,并以位图格式访问其桌面,并将其投射到纹理多边形上。输入事件的管道也是非常可行的。

我实际上已经做到了这一点,或者至少完成了一半(显示)。这是我当时设法做的一个非常古老的屏幕截图:( 来源:sourceforge.net 黑色的天空和蓝色/紫色的“地面”由真实桌面上的 3D 程序渲染,而倾斜的四边形在“虚拟”VNC 桌面中显示一个窗口。替代文字

乐趣!

于 2009-01-29T16:54:03.967 回答
0

该解决方案的一个关键部分是 OpenGL/GLX 扩展GLX_EXT_texture_from_pixmap,它弥合了 X11 和 OpenGL 世界之间的差距。

至于其余的...... CompizCompizFusion已经实现了 3D 桌面。试一试;如果您对事情的工作方式有一些具体的想法,则可以免费获得源代码(并且它们也支持插件的想法)。

于 2009-01-30T14:08:58.463 回答