Bokeh2 效果通道

Bokeh2 Effect Pass

我正在尝试将 Bokeh2 景深效果移动到效果合成器通道中。 当我 运行 它时,我收到错误消息:

glDrawElements:绘图的源纹理和目标纹理相同。

渲染函数如下:

render: function ( renderer, writeBuffer, readBuffer, delta, maskActive ) {

    renderer.clear();

    // Render scene into texture

    this.scene.overrideMaterial = null;
    renderer.render( this.scene, this.camera, this.rtTextureColor, true );

    // Render depth into texture

    this.scene.overrideMaterial = this.material_depth;
    renderer.render( this.scene, this.camera, this.rtTextureDepth, true );

    // Render bokeh composite

    renderer.render( this.scene, this.camera );

}

我将实际场景与 DOF 效果创建的场景混淆了。这意味着我试图在第一次渲染调用时读取和写入同一个缓冲区。 为了解决这个问题,我必须传入原始场景和相机并使用它来生成颜色和深度缓冲区。

renderer.render( this.originalScene, this.originalCamera, this.rtTextureColor, true );

等 然后使用生成的贴图渲染效果场景