我在编写OculusRift效果时遇到了麻烦。这是情况
function init(){
.
.
.
if(k==true){
renderer = new THREE.WebGLRenderer( { antialias: true, preserveDrawingBuffer: true } );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setClearColor(0x000000);
console.log(renderer.getClearColor());
container.appendChild( renderer.domElement );
effect = new THREE.OculusRiftEffect( renderer );
effect.setSize( window.innerWidth, window.innerHeight );
console.log(effect.getHMD().interpupillaryDistance);
}
if(k==false){
renderer = new THREE.WebGLRenderer( { antialias: true, preserveDrawingBuffer: true } );
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.setClearColor(0x000000);
console.log(renderer.getClearColor());
container.appendChild( renderer.domElement );
}
}
当我通过按键按钮切换“k == false”和“k == true”(初始k为假)时,我应该如何正确地将渲染切换为有效和无效OculusRiftEffect?
答案 0 :(得分:0)
我认为你不需要有两个渲染器。我不确定,但我使用的大部分后期处理效果都有一个“effect.enable”,你可以将其设置为true或false,从而打开和关闭效果本身,而不是在你的情况下切换渲染器。