我有一个包含各种对象和一些文本的Three.js场景。它由单个摄像头camera_A查看,其输出在浏览器网页的一部分中输入到viewport_A。
现在我想要第二个摄像头(camera_B)来查看同一场景并将其输出传递到同一网页另一部分的第二个视口(viewport_B)。 Camera_B在每个方面都与Camera_A相同,只是它产生的图像(在第二个viewport_B中)应该是(viewport_A)中图像的镜像。
我知道如何在同一页面上设置不同的视口,并创建两个相同的摄影机,并将它们的输出发送到一个渲染器对象中的两个视口(有两个渲染操作)。
但是,在其中一个视口中生成镜像的最佳方法是什么?
我尝试使用以下命令: -
camera.projectionMatrix.scale
(new THREE.Vector3(-1, 1, 1));
但是,当我应用此命令时,对象的结果透视看起来不对,请参阅此jsfiddle示例:http://jsfiddle.net/steveow/510h3nwv/2/
编辑:
stdob的答案可以完成工作,但需要使用第二个渲染器
(我的不好,我没有说明原始问题中单个渲染器的愿望)。
理想情况下,我只使用一个渲染器并在viewport_B中镜像图像。