glDrawElements:绘制的源纹理和目标纹理相同解决方案

在three升级过程中,遇到了缓冲区绘制到屏幕时提示绘制的源纹理和目标纹理相同,解决方法如下:
在最新版本的three中将原来使用的方法
renderer.render(scene, camera,WebGLRenderTarget, bool )
改为了

renderer.setRenderTarget( WebGLRenderTarget );
renderer.clear();
renderer.render( scene, camera );

但是这样仍不够,会提示这句话: glDrawElements: Source and destination textures of the draw are the same
告诉我们源纹理和目标纹理相同了,于是要增加一行:

renderer.setRenderTarget( WebGLRenderTarget );
renderer.setRenderTarget( null );
renderer.clear();
renderer.render( scene, camera );

将缓冲区设为空,解决问题

你可能感兴趣的:(three)