意外的屏幕清除WebGL

时间:2015-08-04 20:38:31

标签: javascript timeout webgl

美好的一天!我需要webgl的帮助! 根据{{​​3}} 教程,我创建了我的问题的简单演示: http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/#disqus_thread

1)在主任务队列中绘制第一个黑色矩形

drawRect(10, 10, 20, 20);

2)尝试在超时时绘制相同的矩形,整个场景将被清除,并且只有在绘制了矩形之后。

setTimeout(function(){drawRect(30, 30, 20, 20);}, 1000);

我的问题是如何在使用计时器绘制方法时避免屏幕清除。换句话说,我希望在这个例子中看到两个版本!

谢谢!

1 个答案:

答案 0 :(得分:0)

这是因为您正在使用gl.bufferData()实际上正在替换您的场景内容。

您应该使用gl.bufferSubData()。

查看此答案bufferData - usage parameter differences