我正在用PyOpenGl编写一个简单的工具,用于显示生理学实验中使用的视觉刺激。目前,我在wxGLCanvas内的单个视口上渲染刺激,并在投影仪上全屏显示。我想添加第二个视口,这样用户就可以“预览”投影仪上显示的内容。但是,我不想重复我已经为第二个视区所做的所有绘制调用。我需要以毫秒为单位显示刺激(根据挂钟测量),因此我希望将开销保持在最低限度,以便获得足够高的帧率。
我的问题是:在两个视口中高效地渲染完全相同的帧的最简单方法是什么?我读过一些关于顶点缓冲区对象的文章,但我对OpenGL的理解非常基础,我不确定VBO是否是最适合我的情况的方法。
发布于 2013-01-24 13:25:46
默认情况下,创建纹理、渲染缓冲区和帧缓冲区对象将帧缓冲区对象绑定到opengl上下文,然后将纹理附加到framebuffer
framebuffer
framebuffer
关于FBO的详细信息:http://www.opengl.org/wiki/Framebuffer_Objects
确保在两个视口之间共享opengl上下文(请参见:http://wiki.wxwidgets.org/WxGLCanvas#Sharing_wxGLCanvas_context)
https://stackoverflow.com/questions/14492461
复制相似问题