在OpenGL w / o texcoords中在网格上应用噪声

时间:2013-06-28 06:47:11

标签: opengl glsl coordinates textures noise

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

smearing with cube map http://img811.imageshack.us/img811/3923/0ouu.png

在表面更改中使用立方体贴图坐标进行涂抹

smearing with object planar http://img195.imageshack.us/img195/987/c3cz.png

使用沿z平面的物体平面(xy)坐标进行涂抹

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

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

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

1 个答案:

答案 0 :(得分:1)

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