大家好!我需要webgl的帮助!根据http://www.html5rocks.com/en/tutorials/webgl/webgl_fundamentals/#disqus_thread在教程中,我创建了我的问题的简单演示:https://jsfiddle.net/kurz/o2116mz2/1/。
1)在主任务队列中绘制第一个黑色矩形
drawRect(10, 10, 20, 20);
2)尝试在超时时间内绘制相同的矩形,整个场景将被清除,只有在此之后矩形才会绘制。
setTimeout(function(){drawRect(30, 30, 20, 20);}, 1000);
我的问题是如何避免使用计时器绘制方法时屏幕清除。换句话说,我希望在这个示例中看到两个矩形!
谢谢!
这是因为你正在使用gl.bufferData()实际上是替换你的场景的内容。
你应该使用gl.bufferSubData()。
查看答案bufferData -使用参数差异