【发布时间】:2011-11-25 20:14:13
【问题描述】:
我听说你可以挂钩窗口句柄并将这个窗口用作 OpenGL 画布。我知道如何挂钩窗口,但我找不到如何在此窗口上绘图。
附言。如果有帮助,我正在使用 Qt。
【问题讨论】:
我听说你可以挂钩窗口句柄并将这个窗口用作 OpenGL 画布。我知道如何挂钩窗口,但我找不到如何在此窗口上绘图。
附言。如果有帮助,我正在使用 Qt。
【问题讨论】:
Qt 有一些NativeWindow hack,你可以玩一下。
在 Windows 上,您可以使用 findWindowEx 获取 HWND 并询问其几何形状,然后将您自己的窗口放置在其顶部。
你真的不应该随意干扰另一个进程的窗口——这是一个安全隐患。
【讨论】:
OpenGL 上下文一次只能在一个线程中使用,并且绑定到进程。所以这需要创建一个外部进程资源的 OpenGL 上下文。
在 Windows 上使用一些非常古怪的 hack,这至少在 WinXP 中是可能的(我不知道 Vista 或 7);这通常包括共享大部分进程内存。
在 X11/GLX 上,通过将上下文创建为间接渲染上下文要容易得多(不幸的是,OpenGL-3 没有完整的间接 GLX 规范,出于某些不正当的借口);可以从多个进程访问间接上下文。
在任何情况下,两个进程都必须合作才能完成这项工作。
【讨论】: