gpt4 book ai didi

windows - 可以在不同应用程序的窗口上绘制 OpenGL HUD 叠加层(不闪烁)吗?

转载 作者:可可西里 更新时间:2023-11-01 10:37:04 29 4
gpt4 key购买 nike

我需要在另一个应用程序之上绘制一个由线条和文本组成的叠加层。所讨论的应用程序是 3D 外部世界视点,叠加层是平视显示器。

我无权访问来自外部世界应用程序的任何类型的回调以在其绘制循环中执行绘制代码。

直接在应用程序窗口上绘制会导致闪烁,因为绘制循环不会同步,所以对我来说这似乎不是一个选项。

我能想到的一种方法是捕获外部世界应用程序的像素并将它们流式传输到我的应用程序中,这样我就可以在同一个绘制循环中在顶部绘制叠加层,但这似乎效率很低。

有没有一种有效的方法可以在不闪烁的情况下绘制外部世界应用程序?

是否可以在最终的显卡输出上/以显示器的刷新率绘制一些东西?

附言它不一定是 OpenGL,但 HUD 已经用 OpenGL 编写,因此它会更容易。

最佳答案

重复一下我在评论中所说的话,我遇到过很多劫持 3D api 调用并注入(inject)自己的代码以在每帧末尾绘制内容的应用程序 - steam、teamspeak、mumble。由于它在同一个应用程序中,因此没有闪烁,您可以直接绘制,而不是将结果复制到某处并进行合成。我以前从未做过,可能不会很好地解释它。

相关问题在这里:Overlaying on a 3D fullscreen application

关于windows - 可以在不同应用程序的窗口上绘制 OpenGL HUD 叠加层(不闪烁)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19657475/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com