gpt4 book ai didi

python - 如何使用 PyOpengl 或 pyglet 在桌面上绘制?

转载 作者:可可西里 更新时间:2023-11-01 10:28:34 26 4
gpt4 key购买 nike

我正在编写一个应用程序,希望使用 OpenGL 在 Windows 7 桌面上绘制基本的多边形和椭圆形。根据 this previous question,这可能是通过将窗口句柄获取到桌面,我知道该怎么做。 Draw OpenGL on the windows desktop without a window

但是,我有两个问题:

  1. 您实际上在哪里告诉 OpenGL 要绘制到哪个窗口?我一直在查看 nehe 示例 1,但我根本无法弄清楚它究竟在哪里将 hwnd 传递给 openGL。我是给 openGL 一个窗口句柄还是一个设备上下文?

  2. 是否可以使用 PyOpenGL 或 Pyglet 来做到这一点?还是我必须用 C 语言编写,然后将代码包装在 ctypes 中?

最佳答案

尝试在另一个进程的窗口上执行 OpenGL 是一个非常非常糟糕的主意!要让 OpenGL 工作,它需要设置窗口的像素格式。然而,窗口的像素格式只能设置一次,因此在外部窗口上执行此操作将导致灾难。

正确的方法是使用 PBuffer,它有自己的屏幕外 HDC,但它的速度很慢,渲染到这个 PBuffer 和 BitBlt 从 PBuffer 到目标窗口。不过我自己从来没有实现过这个,所以我不能直接告诉你它的效果如何。但这听起来是一件有趣的尝试,所以也许我下次在我的机器上启动 Windows 时会这样做。

关于python - 如何使用 PyOpengl 或 pyglet 在桌面上绘制?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6526627/

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