【发布时间】:2013-09-13 15:38:28
【问题描述】:
我正在使用以下代码,以及来自 webgl-noise 的 noise3D 生成器
void main() {
float noise = snoise(vec3(gl_FragCoord.x, gl_FragCoord.y, 0.0));
vec4(1.0, 1.0, 1.0, noise);
}
我期待一个完全随机的输出,但我得到的是:
我做错了什么?
编辑:您看到的是单个纹理,我将 SFML 中的着色器应用到该纹理,如下所示:
window.draw(myTexture, myShader);
【问题讨论】:
-
不要指望噪音的“随机性”。尤其是 Perlin/simplex(顺便说一下,这是单纯形噪声,它会定期重复)。如果你通过一些不同的输入来调制噪声,那么你会得到类似于“随机性”的东西。例如,如果您要将采样的纹理乘以
gl_FragCoord处的噪声函数的输出...