如何在纹理上的3d空间中显示窗口/ X窗口系统窗口?

时间:2009-01-29 16:30:26

标签: windows linux 3d desktop

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

2 个答案:

答案 0 :(得分:1)

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

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

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

趣!

答案 1 :(得分:0)

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

至于其他人...... CompizCompizFusion已经实施了3D桌面。试一试;如果你对事物的运作方式有一些具体的想法,那么这些资源是免费提供的(并且它们也支持插件的概念)。