2

我想添加一个具有 2d 渐变的球体作为纹理来创建天穹。我读到在openGL中,这通常通过在附加通道中渲染没有深度测试的天空盒来解决。我在我的球体上禁用了 depthTest ,所以其他所有东西都绘制在它前面,这有点给了我不想要的效果,但取决于它穿过场景中其他对象的相机角度。

我正在查看几个使用 THREE.EffectComposer 和第二个场景的示例,我可能完全是在寻找错误的东西,但我认为这可以解决这个问题。问题是我从未接触过 effectComposer 并且完全不知道如何使用它以及我究竟需要哪些东西。

我会对此提出任何意见,也许我根本就在追求错误的东西。

4

2 回答 2

8

下面是两个 three.js 示例,其中创建了带有渐变的天穹。它们不涉及EffectComposer或禁用深度测试。

http://mrdoob.github.com/three.js/examples/webgl_lights_hemisphere.html

http://mrdoob.github.com/three.js/examples/webgl_materials_lightmap.html

三.js r.55

于 2013-01-19T17:36:53.370 回答
0

您不必使用圆锥或其他 3D 几何图形来模拟渐变天空。我使用画布(具有 3 个渐变点,浅蓝色 -> 白色(水平) -> 深蓝色)解决了它,并将其绘制为我的相机前的精灵,与它的距离合适(雾距离)。您只需在移动/旋转凸轮时管理距离。提示:使用 mesh.scale.set (xx,xx,1) 将画布纹理缩放到所需大小。

于 2014-05-09T03:44:16.047 回答