1.glsl学习之编写噪声函数
什么是噪声函数呢?
在计算机图形学中,噪声(Noise)指的是一类随机生成的值,输出的每个值都是独立且均匀分布的。噪声函数可以用于生成各种复杂的、看起来像自然现象的图案,比如云朵、大理石、柏油等等。
这是来自chatGPT的回答
所以我们编写噪声函数时
- 要获取到一个随机数。
- 这个随机数都是独立且均匀分布的。
1.随机数函数
float random(vec2 st) {
return fract(sin(dot(dot(vPosition.xy, vec2(12.9898, 78.233)))) * 43758.5453);
}
2.简单的一个噪声函数
float Noise(float v) {
float i = floor(vPosition.x*10); // 拉伸10倍,然后获取他的整数部分
float j = fract(vPosition.x *10.0); // 获取他的小数部分, j表示混合比例
j = smoothstep(0.0, 1.0, f);
// smoothstep是内置函数,是x*x(3-2x);
float c = mix(random(i), randmo(i+1), j);
}