どうすればウィンドウをキャッチして 3D 空間のテクスチャに表示できるのでしょうか。また、マウスとキーボードの入力を 3D アプリケーションからバックグラウンドで実行されているアプリケーションにリダイレクトするにはどうすればよいですか? つまり、完全な 3D デスクトップです。
2 に答える
これは少し複雑になる可能性があり、「完全な」回答はこのフォーラムには適さない場合があります。ただし、アイデア/概要は次のとおりです。
それを行う1つの方法は、VNCを使用することです。VNCサーバーで別の非表示の「仮想」デスクトップを実行し、それをディスプレイとして目的のアプリを起動します。「実際の」デスクトップ上の3Dレンダリングプログラムは、VNCサーバーに接続し、ビットマップ形式でそのデスクトップにアクセスし、テクスチャポリゴンにブラストすることができます。入力イベントの配管も非常に実行可能です。
私は実際にこれを行ったか、少なくともその半分(ディスプレイ)を行いました。これは、当時私が何とかしていたことの非常に古いスクリーンショットです:(
出典:sourceforge.net)
黒い空と青/紫がかった「地面」は、実際のデスクトップ上の3Dプログラムによってレンダリングされ、傾斜したクワッドはは、「仮想」VNCデスクトップのウィンドウを示しています。
楽しい!
このソリューションの重要な部分はGLX_EXT_texture_from_pixmap
、X11 と OpenGL の世界の間のギャップを埋める OpenGL/GLX 拡張機能です。
その他については... CompizとCompizFusion はすでに 3D デスクトップを実装しています。試してみてください。物事がどのように機能するかについて特定のアイデアがある場合は、ソースを自由に入手できます (また、プラグインのアイデアもサポートしています)。