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 );
等
然后使用生成的贴图渲染效果场景
我正在尝试将 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 );
等 然后使用生成的贴图渲染效果场景