2012-04-21 86 views
0

我有一个很好的OpenGL游戏,除了我想将“拖动”效果应用到移动物体上:在他们移动的时候, 。OpenGL“运动拖动”效果 - 不清除每一帧的屏幕

我试过的只是每隔几帧而不是每一帧清除颜色缓冲区,但这并不起作用:enter image description here即使我每50帧调用一次glClear或所以。 enter image description here此图显示了它具有的非常烦人的闪烁。

有人可以解释为什么会出现这种情况在OpenGL中,以及如何解决它或可能的替代方法?

回答

0

Google for“motion blur + opengl”。这是全屏幕后处理效果。另一种方法是将每个对象的路径存储在出列中,在这里你将当前位置放在另一端,并将其从另一端移开,为队列中的每个项目绘制一个效果(可能使项目更多并且你走的时候更加不透明)。

否则没有代码,很难知道你在做什么。我很确定只是不清除颜色缓冲区将无法正常工作!

+0

谢谢。我正在研究使用glAccum缓冲区。你可能知道如何在SFML中启用它? – slartibartfast 2012-04-21 20:17:16

+0

对不起,SFML不支持它。当然,你可以用后期处理和FBO以及适当的着色器来完成,但旧的香草实现不适用于这个库。 – Robinson 2012-04-22 17:21:24