0

我正在尝试使用 MIL 库获取图像,并且我想使用 OpenGL 将图像渲染到 glCanvas 窗口。但是,问题是我的

    OnPaint( wxPaintEvent &event)

方法未在循环中运行以显示图片。我已经在这个方法中添加了代码来使用 MIL 抓取图像,并在显示它们之前将它们设置为纹理。那么,如果wxPaintEvent自己在循环中运行,为什么我看不到图像序列,比如视频?当我在不使用 MIL 的情况下检查默认纹理时,它可以正常工作。所以,基本上,我只是设置纹理!

我没有使用进程间和互斥锁,这可能是个问题吗?或者,我需要更加小心这个事件的时间安排吗?

4

1 回答 1

0

绘制事件通常仅在窗口被标记为“无效”或“脏”时才会发出,并且被认为需要重绘。如果您想播放动画,请将窗口标记为您自己重绘的主题(wxWindow::Refresh)。或者,首选方法,注册一个空闲事件处理程序并从那里执行 OpenGL 操作:http ://wiki.wxwidgets.org/Making_a_render_loop

于 2012-05-24T11:12:32.903 回答