Clean up Threejs WebGl contexts

后端 未结 3 1813
忘掉有多难
忘掉有多难 2021-02-05 06:03

I have a problem while cleaning up my WebGl-Scenes. I\'m using Three.js with a WebGlRenderer. In my application I have to change the views quite often and therefore need to rend

3条回答
  •  悲哀的现实
    2021-02-05 06:23

    You can keep the same renderer for different scenes. The renderer does not care what scene it will render. You can supply a different Scene everytime you call render() if you like.

    // instantiate only once and keep it
    var renderer = new THREE.WebGLRenderer();
    
    // current scene and camera. Switch whenever you like
    var scene = new THREE.Scene();
    var camera = new THREE.PerspectiveCamera(...);
    fillScene(scene);
    
    // rendering always uses current scene
    function render() {
        renderer.render(scene, camera);
        requestAnimationFrame(render);
    }
    
    /* ... 
     *   somewhere in your application
     * ...
     */
    if(condition) {
      // switch scene
      scene = new THREE.Scene();
      fillOtherScene(scene);
    }
    

提交回复
热议问题