1

所以我一直在想象这个 3D 环境,我可以在其中打开我的应用程序并在那里做一些事情。我在想这可能吗?我注意到谷歌搜索比我想象的要难。我确实遇到了http://awesomium.com/

我确实有一个计算机图形课程,我用 OpenGL3 创建了我自己的 3D 世界,所以我知道我的问题可能有点“外面”。但是话又说回来,拖放式 Web 界面也与最初的几种互联网技术一样“存在”。

所以我的问题是:是否可以在 3D 环境中打开应用程序?有没有 3D 引擎可以做到这一点?如果没有 3D 引擎,那么我需要采取哪些开始步骤才能对其进行编程(即使它只是针对一个程序,例如记事本)。

我很好奇。我注意到当显示 3D 全息投影成为可能时,这将是一个非常相关的问题。现在我只是好奇,我想编写自己的空间,在树附近打开一些应用程序。我知道编程和 OpenGL 的基础知识,但我无法完全弄清楚如何将它们结合起来。

4

1 回答 1

2

有可能的。您需要捕获应用程序窗口的输出并将其渲染为纹理。为此,您需要钩子来拦截 WM_PAINT 窗口消息,并在代码中钩子以捕获在该窗口上绘制的内容。

如果要捕获使用 DirectX 或 OpenGL 进行渲染的窗口的输出,则需要(再次使用钩子)拦截翻转后台缓冲区并显示输出的方法。这要实现起来要困难得多,因为您需要知道每个应用程序该方法是什么。

您的问题的答案应该遵循这些思路,但正如您所见,您的问题没有万能的解决方案。

有关挂钩的更多信息:如何在 C/C++ 中挂钩 Windows 函数?

于 2013-02-03T00:19:25.223 回答