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

问题描述 投票:2回答:2

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

windows linux 3d desktop
2个回答
1
投票

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

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

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

有趣!


0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.