是否可以使用两个实例WebGLRenderer
,使用两个Canvas
渲染相同的场景?
var renderer = new THREE.WebGLRenderer({
canvas: canvas1
});
renderer.setSize(100,100);
var renderer2 = new THREE.WebGLRenderer({
canvas: canvas2
});
renderer2.setSize(100,100);
var mesh = new THREE.Mesh(
new THREE.BoxGeometry(100,100,100)
);
var scene = new THREE.Scene();
var camera = new THREE.PerspectiveCamera();
camera.position.z = 500;
scene.add(mesh);
function draw(){
//try commenting the first render out
//it will allow the other renderer to draw
renderer.render(scene,camera);
renderer2.render(scene,camera);
requestAnimationFrame(draw);
}
draw();
在这个小提琴中,当我按照上述操作时,我只能在给定时间在一张画布上渲染。http://jsfiddle.net/ehsanziya/sbdogbLw/1/ http://jsfiddle.net/ehsanziya/sbdogbLw/1/
不,但是您可以使用视口来解决问题,例如this http://threejs.org/examples/webgl_multiple_views.html或视口和剪刀设置,例如this https://stackoverflow.com/questions/30608723/is-it-possible-to-enable-unbounded-number-of-renderers-in-three-js/30633132#30633132.
请注意,我没有将代码发布到第一个,因为这是一个不常见的解决方案。我没有将代码发布到第二个,因为它已经出现堆栈溢出。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)