threejs:在单个webgl渲染器中渲染多个场景

时间:2015-05-16 05:32:27

标签: 3d three.js renderer scene

我正在尝试将多个场景包含到单个webgl渲染器中,如下面的代码所示:

renderer.render(scene1,camera);
renderer.render(scene2,camera);

我面临的问题是,在最后一个传递给渲染器的场景对象中是否正在绘制,而前一个不是。我通过交换上面两行代码证实了这一点。我是threejs的新手,想知道上述是否可以实现?如果你可以指导我支持例子(如果有的话)。

谢谢!

1 个答案:

答案 0 :(得分:2)

您可以在这里找到最小的解决方案:https://jsfiddle.net/mmalex/sqg0d8vx/

var animate = function() {
    requestAnimationFrame(animate);

    renderer.autoClear = true;

    //render scene1
    renderer.render(scene1, camera);

    //prevent canvas from being erased with next .render call
    renderer.autoClear = false;

    //just render scene2 on top of scene1
    renderer.render(scene2, camera);
};