蓝色噪声具有独特的属性,非常适合抖动、空间生成等。您可以从这些精彩文章中找到有关蓝色噪声的更多详细信息:momentsingraphics.de、blog.demofox.org。
性能和精度是所有蓝噪声发生器的两个主要缺点。生成 1024×1024 的图像需要数小时甚至数天的时间。这是不可接受的。而且,8位精度无法以完美的空间精度表示大噪声图像(超过16×16),因为会有多个像素具有相同的值。我们制作了一个 GPU 蓝噪声发生器,它使用快速傅立叶变换并提供极快的生成速度。在 GeForce 2080 Ti 级 GPU 上,生成 1024×1024 图像只需不到 6 分钟。输出噪声图像可以是 16 位整数或 32 位浮点精度。
我们的 Windows 和 Linux (Vulkan) 蓝噪声生成器的二进制文件可供所有人使用。但要小心,因为我们的 Radeon Vega 7 在 4K 纹理生成过程中死机了。
Download link: TellusimClayNoise.zip
The application has simple command line parameters:
Clay Blue Noise Image Generator (https://tellusim.com/)
Usage: ./noise -o noise.png
-i Input image
-o Output image
-f Forward image
-h Histogram output
-bits Image bits (8)
-size Image size (256)
-width Image width (256)
-height Image width (256)
-seed Random seed (random)
-init Initial pixels (10%)
-sigma Gaussian sigma (2.0)
-epsilon Quadratic epsilon (0.01)
-device Computation device index
This command makes a unique blue noise image with 16-bit precision in less than a minute. The Fourier transformation of the noise can be obtained with -f command line parameter. Histogram output is a text file. The initial random pixels can be specified as an input image as well.
clay_noise.exe -size 512 -bits 16 -o noise_512x512_16bit.png
The sigma parameter changes the blur radius during generation. You can see the result of different Sigma values in this WebGL application: