VEX —— Noise and Randomness

本文详细介绍了各种噪声生成函数,包括Perlin噪声、周期性噪声(pnoise)、OriginalPerlin噪声(onoise)、Worley噪声(wnoise)、SparseConvolution噪声(snoise)、Alligator噪声(anoise)、Simplex噪声(xnoise)、Flow噪声(flownoise)以及随机数生成器,如random、nrandom和hscript_rand,它们各自的特点、取值范围和适用场景。

目录

Noise generators

noise

pnoise

onoise

snoise

anoise

xnoise

wnoise

vnoise

curlnoise

flownoise

Random number generators

random

nrandom

rand

hscript_rand


Noise generators

  • 噪波生成函数,noise、wnoise、vnoise、onoise、snoise、anoise;
  • 每一个函数表示生成噪波的不同算法;

每个噪波相对成本:

  • Perlin noise(noise),1;
  • Original perlin noise(onoise),1.1;
  • worley noise(wnoise),1.8;
  • Sparse Convolution noise(snoise),2.1;
  • Alligator noise(anoise),2.3;

noise

  • 有两种Perlin噪波,此为非周期噪波,周期噪波是pnoise;
  • 取值范围0~1,中位值为0.5;发布取决于维度,更高的维度接近高斯发布;
  • 相当于:VOP内 Turbulent Noise Perlin Noise
  • 相当于:VOP内 Periodic Noise Perlin Noise
//基于1D位置
float noise(float pos)
vector noise(float pos)
//基于2D位置
float noise(float posx, float posy)
vector noise(float posx, float posy)
//基于3D位置
float noise(vector pos)
vector noise(vector pos)
//基于4D位置
float noise(vector4 pos)
vector noise(vector4 pos)

pnoise

  • 有两种Perlin噪波,此为周期噪波,非周期噪波是noise;
  • 发布取决于维度,更高的维度接近高斯发布;
  • 相当于:VOP内 Turbulent Noise Perlin Noise
  • 相当于:VOP内 Periodic Noise Perlin Noise
float|vector pnoise(float x, int px)
float|vector pnoise(vector x, vector p)
float|vector pnoise(vector4 xyzt, vector4 p)
float|vector pnoise(float x, float y, int px, int py)
float|vector pnoise(vector xyz, int px, int py, int pz)
float|vector pnoise(vector4 xyzt, int px, int py, int pz, int pt)

onoise

  • 类似wnoise、vnoise(效率略低,特征不同);
  • 取值范围-1~1,仅支持3D noise;
  • 相当于:VOP内 Turbulent Noise Original Perlin Noise
float  onoise(vector pos)
vector  onoise(vector pos)

float  onoise(vector pos, int turbulence, float rough, float atten)
vector  onoise(vector pos, int turbulence, float rough, float atten)

float  onoise(vector pos, int periodX, int periodY, int periodZ)
vector  onoise(vector pos, int periodX, int periodY, int periodZ)

float  onoise(vector pos, int periodX, int periodY, int periodZ, int turbulence, float rough, float atten)
vector  onoise(vector pos, int periodX, int periodY, int periodZ, int turbulence, float rough, float atten)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值