如何解决如何使用 pygame 绘图,同时使用 pyopengl 绘图?
我有一个用 python 编写的程序,它使用 pygame 和 pyopengl。唯一的问题是,我无法使用 pygame.draw 在屏幕上绘制任何内容,这是我将用于与我的程序交互的内容。我想知道有没有一种方法可以使用pygame的系统进行绘制,同时在其后面使用pyopengl进行3D绘制。
解决方法
你不能直接这样做。
但是,您可以使用 pygame.Surface
模块或 pygame.draw
在 pygame.Surface.blit
对象上绘图。使用 pygame.PixelArray
直接访问表面上的像素。使用像素生成 OpenGL Texture 对象。此纹理可在 OpenGL 中使用。
在另一个方向,您可以渲染到 OpenGL Renderbuffer 或 Texture 对象(请参阅 Framebuffers)。使用 glReadPixels
或 glGetTexImage
将纹理加载到 GPU 上,并使用 pygame.Surface
创建一个 pygame.image.frombuffer
。
另见 Does PyGame do 3d?、PyGame and ModernGL library、PyGame and OpenGL 4 或 PyGame and OpenGL immediate mode (Legacy OpenGL)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。