glsl学习之编写噪声函数

噪声函数在计算机图形学中用于生成复杂图案,如云朵和大理石纹理。通过随机数和混合函数,我们可以创建出连续变化的视觉效果。文章介绍了如何使用glsl编写噪声函数,包括随机数生成和使用smoothstep进行平滑插值。

1.glsl学习之编写噪声函数

什么是噪声函数呢?

在计算机图形学中,噪声(Noise)指的是一类随机生成的值,输出的每个值都是独立且均匀分布的。噪声函数可以用于生成各种复杂的、看起来像自然现象的图案,比如云朵、大理石、柏油等等。

这是来自chatGPT的回答

所以我们编写噪声函数时

  1. 要获取到一个随机数。
  2. 这个随机数都是独立且均匀分布的。

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);
}
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值