在 wxPython OpenGL 上下文中启用多重采样
我正在尝试在我正在编写的 OpenGL 程序中启用多重采样。该应用程序需要大量的 GUI,因此我使用 wxPython(我不太熟悉)而不是 PyGame (SDL)。
我确实需要主 GLCanvas 的硬件多重采样。我知道这在 wx 的 C++ 版本中是可能的,例如 如何为 wxWidgets OpenGL 程序启用多重采样?。然而,我尝试了类似的方法,但它对 wxPython 不起作用。
所以,我想知道的是,wxPython 是否可以进行多重采样?
我已经想到的想法:
- 在 wx.Frame 中使用 PyGame 上下文。使用SDL 的硬件多重采样。不知道这是否真的有效。 IIRC,调整 SDL OpenGL 上下文的大小会破坏其内容,这对于该应用程序来说是一个问题。虽然 。 。 。我想这可能是可行的。
- 使用更高分辨率的FBO进行渲染,然后通过多重采样进行下采样。这 。 。 。有效,有点。但超级采样比多重采样慢得多,而且该技术对于 GL_LINE 之类的东西效果不佳。我已经尝试过这个解决方案。
- 将 FBO 与多重采样渲染目标结合使用。这将涉及很多更改,并且会限制跨系统可移植性。
- 理想情况下:使用 wxPython 的内置支持(如果存在)。
I'm trying to enable multisampling in an OpenGL program I'm writing. The application will require a substantial amount of GUI, so I am using wxPython (with which I am less familiar) instead of PyGame (SDL).
I really need hardware multisampling for the main GLCanvas. I am aware that this is borderline possible in the C++ version of wx, e.g., How to enable multisampling for a wxWidgets OpenGL program?. However, I attempted something similar, but it didn't work for wxPython.
So, what I want to know is, is multisampling even possible with wxPython?
Ideas I've already thought of:
- Use a PyGame context inside a wx.Frame instead. Use SDL's hardware multisampling. No idea if this would actually work. IIRC, resizing SDL OpenGL contexts destroys their contents, which would be somewhat of a problem with this application. Although . . . I guess it might be workable.
- Use a FBO with a higher resolution to render, and then downsample with multisampling. This . . . works, sorta. But supersampling is much slower than multisampling, and the technique doesn't work very well for things like GL_LINE. I have already tried this solution.
- Use a FBO with a multisampling render target. This would involve a lot of changes, and would limit cross-system portability.
- Ideally: use wxPython's built-in support, if it exists.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论