Three.js 3.js bloom是模糊的吗?

Three.js 3.js bloom是模糊的吗?,three.js,bloom,Three.js,Bloom,我目前正在试用three.js,并尝试添加bloom效果。但是,当Iadd渲染花朵时,它显示为模糊,而不是实际的花朵: 守则: composer = new THREE.EffectComposer(renderer, renderTarget); effectBloom = new THREE.BloomPass(1, 25, 5); composer.addPass(renderModel) composer.addPass(effectBloom); composer.addPass(c

我目前正在试用three.js,并尝试添加bloom效果。但是,当Iadd渲染花朵时,它显示为模糊,而不是实际的花朵:

守则:

composer = new THREE.EffectComposer(renderer, renderTarget);
effectBloom = new THREE.BloomPass(1, 25, 5);
composer.addPass(renderModel)
composer.addPass(effectBloom);
composer.addPass(copyPass)
并以以下方式呈现:

composer.render( delta )
我想更进一步:


bloom是一个模糊的图像,超级强加于主渲染之上。您可能需要更多的动态范围来创建如所附图像中所示的效果

我也有类似的问题。Bloom只是模糊了渲染的图像。要解决此问题,我必须将渲染器autoClear设置为false:

renderer.autoClear = false;
在我的渲染循环中,我必须在使用composer渲染场景之前手动进行清除:

renderer.clear();
composer.render();
检查我的笔以查看此操作:

我查看了着色器,如果您自己不设置浮点渲染纹理,您可能会将该黄色设置得更亮。代码似乎说模糊过程只是叠加的,这就是第30行的材质所做的。尝试在当前输出上添加另一个具有bloom渲染结果的复制过程,可能会有效谢谢您的快速响应,我现在已将黄色的亮度调高,并尝试添加另一个复制过程。但是我对这种编程一无所知,我不确定通行证是否有效,或者我做错了什么。可能是后者。如果不太麻烦的话,你能给我一个关于如何处理过程的简单解释吗?我已经通过例子找到了解决方案,结果证明这个解决方案非常简单,而不是我的问题renderer.autoClear=false;'我仍然可以在以后的参考中使用这个解释。简言之,你在整个屏幕上渲染两个三角形,然后用一个着色器使用这个四边形处理一个临时纹理(缓冲区)。你可以随心所欲地创造。在这里,您将场景渲染为纹理,然后处理该纹理,并沿着制作副本的方式进行复制(例如在一个方向上模糊该纹理,然后使用该临时纹理并在另一个方向上模糊该纹理)。在链的最后,您将在屏幕上显示结果。您的帮助具有教育意义,非常感谢您^^^ rip pen示例