0

我在没有纹理坐标的情况下在 OpenGL 中的非平凡网格(以及任何网格)的表面上应用噪声时遇到问题。我基本上想在表面上应用噪声纹理,但由于我没有纹理坐标,我不能只应用噪声纹理。在顶点着色器中生成纹理坐标在一定程度上起作用,但是无论是立方体、球体还是对象平面坐标,总会有一些纹理拖尾。

涂抹立方体贴图 http://img811.imageshack.us/img811/3923/0ouu.png

在表面变化时使用立方体贴图坐标涂抹

用物体平面涂抹 http://img195.imageshack.us/img195/987/c3cz.png

沿 z 平面使用对象平面 (xy) 坐标进行涂抹

我已经在片段着色器中进行了随机噪声生成,但是因为这会改变每一帧,所以这不是我需要的(而且计算成本也不低)。

我只需要在网格表面上静态均匀分布噪声。

有人对如何做到这一点有任何想法吗?

4

1 回答 1

1

您可以获取片段着色器中每个像素的 3d 模型空间坐标,并根据这些值使用一些 3d 噪声。

于 2013-06-28T07:34:28.490 回答