清除WebGL Canvas,Three.JS

时间:2014-09-13 14:01:24

标签: javascript canvas opengl-es three.js webgl

我正在使用三个.js中的WebGLRenderer,我无法清除画布。基本上,我有一个方法,不断向场景添加另一个对象,但在添加之前清除子项。例如

group = new THREE.Object3D();

function add(object){
    group.children = [];//clears the group children first
    group.add(object);
}

我认为这会让它清楚,但我错了。我习惯于为我做这件事。有谁知道我应该如何清除WebGL画布?

1 个答案:

答案 0 :(得分:0)

清除画布和清除场景图的子树是两件事。

假设您的GC.heap_dump被命名为.hprofrenderer.clear()可以清除画布。

清除场景图的子树可以通过THREE.WebGLRenderer或(在现代JavaScript中)renderer完成。不建议仅为group.remove.apply(group, group.children)分配一个新数组,因为这会使内部混乱。使用group.remove(...group.children)添加并使用group.children删除。