我应该如何在OpenGL中有条件地渲染?

时间:2014-08-02 01:23:14

标签: python qt opengl pyopengl

我在理解如何有条件地渲染形状方面遇到了一些麻烦。例如,假设我想基于按下按钮渲染一个3d对象 - 我想如何处理它?我还没有真正找到类似这样的示例代码或教程,所以我很好奇最佳实践是什么。

现在,我已经在线搜索了很多,我发现使用计时器来处理事情,但我不确定我是否应该在这里使用计时器。例如,我在想我应该使用一个计时器来调用一个方法,比如它的名为renderScene,它根据按钮按下时调用的其他方法设置的一些布尔值来确定要呈现的内容。因此,基本上当你按下一个按钮时,你将一个布尔值设置为true,然后由renderScene选择,这是通过使用一个计时器来调用的。然后renderScene继续调用updateGL并更新场景。

这是我应该采用的方式,还是有更好的方法?我觉得这可能不是正确的解决方案,所以我伸出手。

1 个答案:

答案 0 :(得分:0)

在opengl中有条件地渲染几何体就像跟踪布尔值一样简单,并相应地省略或发出相应的绘制调用。唯一需要的是你根据你选择的窗口框架重绘场景。如果您不需要定期重绘;每次更改后只需触发一次重绘。 Alledgedly update 触发paintGL事件(另请参阅:How to force QGLWidget to update screen?)。