How to toggle preserveDrawingBuffer in three.js?

后端 未结 2 698
無奈伤痛
無奈伤痛 2020-12-01 23:46

Basically, I want the setup where I could go to preserveDrawingBuffer=true, render the scene once, grab the screenshot, and go back. However, this poses two problems:

<
2条回答
  •  生来不讨喜
    2020-12-02 00:31

    I have also encountered this problem.my screenshot is blank in threejs webgl canvas, because not set renderer = new THREE.WebGLRenderer({canvas:renderer.domElement,preserveDrawingBuffer:true});, Here is my way to toggle preserveDrawingBuffer.

    let canvas = this.renderer.domElement;
        canvas.getContext('webgl' , {preserveDrawingBuffer: true});
    this.render();
    var data = {
      image: canvas.toDataURL(),
    };
    canvas.getContext('webgl' , {preserveDrawingBuffer: false});
    

提交回复
热议问题