如何在双缓冲 wxFrame 中使用 wxGLCanvas
How to use a wxGLCanvas in a double-buffered wxFrame?
我的wxWidgets应用程序有一个带有wxAUIManager的主wxFrame。在四个窗格中,我分别有一个wxTreeCtrl,一个wxNotebook(在wxPanel中管理闪烁(,一个wxListBox和一个wxGLCanvas。
为了管理闪烁问题,我希望对 wxFrame 进行双缓冲。然而,这会干扰wxGLCanvas的渲染(我想这是由于wxGLCanvas本身的双缓冲性质(。
有没有办法将 wxGLCanvas 用作双缓冲 wxFrame 的子级而不会扭曲渲染?
我在Windows 10机器上使用wxWidgets 3.1.0。
更新:
对于"扭曲渲染",我的意思是我的几何体没有渲染。当主 wxFrame 的窗格调整大小时,它们会在 GLCanvas 上绘制,并保持在 GLCanvas 上绘制,即使窗格保留其原始大小也是如此。
我还尝试在 wxWidgets 示例中的多维数据集示例中重现此问题,但似乎有些事情有效。
每次 GLCanvas 更改其大小时,您都应该进行渲染。此外,在其余窗格处理此 GLCanvas 大小事件后处理它(最后一个处理将大小事件发布到 GLCanvas(。
相关文章:
- SetFont()-function 不适用于 wxFrame
- 我必须声明自己的 wxFrame 类吗?
- 如何在双缓冲 wxFrame 中使用 wxGLCanvas
- 是否可以在 wxFrame 中捕获鼠标事件
- 关闭时避免wxFrame破坏
- 使用 wxthread 在 C++ 中更新 wxframe 的内容
- 使 mysqlpp::Connection 对象成为 wxFrame 类对象的私有成员
- wxFrame 和 wxTaskBarIcon 任务栏事件 Mac OSX:未触发回调
- 在 wxFrame 或 wxDialog 中处理EVT_CHAR
- 多个wxGLCanvas与OpenGL-wxPaintDC绘图组合
- 如何通过wxTheApp->GetTopWindow()获取从wxFrame派生的My object?
- 如何在子对话框中获取wxFrame指针
- 全局访问 wxFrame(s) 和 wxDialog(s)
- 在wxGLCanvas上调整大小之前初始化着色器时出现问题
- wxWidgets:定期在wxFrame中重新绘制图像
- 对 wxGLCanvas 构造函数的未定义引用?
- 通过交替渲染或两个单独的线程,在同一个wxPanel上连续渲染两个wxglcanvas
- 处理事件从wxTextCtrl在wxFrame - c++ /wxWidgets
- 是否可以枚举wxWidgets中的wxFrame子级