如何将渲染切换为有或没有OculusRift效果?

时间:2013-08-28 06:43:17

标签: three.js

我在编写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?

1 个答案:

答案 0 :(得分:0)

我认为你不需要有两个渲染器。我不确定,但我使用的大部分后期处理效果都有一个“effect.enable”,你可以将其设置为true或false,从而打开和关闭效果本身,而不是在你的情况下切换渲染器。