2

创建了一个带有立方体的简单场景。能够在背景中看到包含元素 (body) 的颜色。

添加了 FXAA 着色器,抗锯齿效果很好。但是背景现在是黑色的,因此无法再看到背景容器的颜色。

添加了以下代码:

var target = new THREE.WebGLRenderTarget(512, 512);

var composer = new THREE.EffectComposer(renderer, target);

为了将效果器渲染目标格式设置为 THREE.RGBAFormat,而不是默认的 THREE.RGBFormat。

这使得背景正常工作,但是立方体周围有黑白边缘,抗锯齿看起来不太好。

重复上述步骤,但使用 Sepia 着色器而不是 FXAA 着色器。这可以正常工作。立方体看起来是棕褐色的,并且包含元素颜色的背景是正确的。

是否有任何解决方法可以允许抗锯齿和透明背景?

谢谢你的帮助

4

2 回答 2

1

我阅读了您的问题,似乎有一个很好的来源可以解决或至少引导您走上正确的道路。去看看:https ://github.com/mrdoob/three.js/issues/2125

希望这可以帮助。

于 2013-08-20T17:29:49.030 回答
0

在https://stackoverflow.com/a/21056080/2482976检查我的答案

需要更新 FXAA 以处理透明背景

于 2014-01-10T23:07:04.923 回答