qt - 我可以使用opengl在窗口上画一些不属于我的东西吗?

标签 qt opengl window

我听说你可以 Hook 窗口句柄并将该窗口用作 OpenGL Canvas 。我知道如何 Hook 窗口,但我找不到如何在此窗口上绘图。

PS。如果有帮助的话我正在使用 Qt。

最佳答案

OpenGL 上下文一次只能在一个线程中使用,并且绑定(bind)到进程。因此,需要创建外部进程资源的 OpenGL 上下文。

在 Windows 上,使用一些非常古怪的技巧,这至少在 WinXP 中是可能的(我不知道 Vista 或 7);这通常包括共享大部分进程内存。

在 X11/GLX 上,通过将上下文创建为间接渲染上下文要容易得多(不幸的是,出于某些不正当的原因,OpenGL-3 没有完整的间接 GLX 规范);可以从多个进程访问间接上下文。

无论如何,两个进程必须合作才能完成这项工作。

关于qt - 我可以使用opengl在窗口上画一些不属于我的东西吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7566205/

相关文章:

c++ - 如何从 QByteArray 组织或提取信息

opengl - 在支持 opengl 2.x 的显卡上使用 opengl 3.x 版本程序有什么技巧吗?

opengl - opengl 3.3 后处理效果的高效下采样

python-3.x - PyQtGraph - 在 3d View 中关闭透视

javascript - 使用javascript检测不同操作系统窗口的标题栏高度

css - 当窗口超过一定大小时导航链接移动

python - PyQt5 中带有框架的自定义标题栏

c++ - VTKActor 在渲染后不可见但在相机->resetview() 上可见

c++ - QFileSystemModel rowCount 不能按预期工作

c++ - QTreeWidgetItem 更改 - 检测 Enter/ESC