0

我在编写 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 为 false)之间切换时,我应该如何正确切换渲染以使用和不使用 OculusRiftEffect 的效果?

4

1 回答 1

0

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

于 2013-08-28T07:19:41.033 回答