Также много эффектов можно реализовать, используя значение шумовой функции для деформации изображения (напр. самплинг в точке, смещённой относительно исходной в соответствии со значением шумовой функции), как растрового, так и процедурного (неявного):

Обзор приёмов применения шума при текстурировании можно найти, например, в книге "Texturing and Modeling: A Procedural Approach", 2002, David S. Ebert, F. Kenton Musgrave, Darwyn Peachey, Ken Perlin, Steven Worley, 3rd ed. Morgan Kaufmann Publishers, Inc.
Эксперименты в использовании шума могут помочь читателю получить опыт, усвоить существующие приёмы и создать собственные.
Примеры с shadertoy
Ниже приводятся несколько использующих шум шейдеров с
https://www.shadertoy.com (по мотивам
находок foxes в комментариях к статье):
https://www.shadertoy.com/view/XtXXD8 - Value Noise
https://www.shadertoy.com/view/lsf3WH - Value Noise (2D).
https://www.shadertoy.com/view/4sfGzS - Value Noise.
https://www.shadertoy.com/view/XdXGW8 - Gradient Noise (не Perlin).
https://www.shadertoy.com/view/XsX3zB - simplex 2D.
https://www.shadertoy.com/view/XtBGDG - simplex 3D.
https://www.shadertoy.com/view/4l2GzW - Worley на jittered grid.
https://www.shadertoy.com/view/ldB3zc - модификация Voronoi.
https://www.shadertoy.com/view/llsSDf - мыльные пузыри на основании клеточного шума.
Литература:
http://physbam.stanford.edu/cs448x/old/Procedural_Noise%282f%29Categories.html - категории шума.
http://graphics.cs.kuleuven.be/publications/LLCDDELPZ10STARPNF/ - State of the Art in Procedural Noise Functions, статья сравнивающая различные виды шума
http://en.wikipedia.org/wiki/Perlin_noise
http://www.noisemachine.com/talk1/index.html - слайды Кена Перлина о генерации шума.
http://mrl.nyu.edu/~perlin/noise/ - Improved Noise reference implementation (Java)
http://mrl.nyu.edu/~perlin/paper445.pdf - Improving Noise, Ken Perlin, SIGGRAPH 2002
http://http.developer.nvidia.com/GPUGems2/gpugems2_chapter26.html - Implementing Improved Perlin Noise
http://en.wikipedia.org/wiki/Simplex_noise
http://www.csee.umbc.edu/~olano/s2002c36/ch02.pdf - симплекс-шум.
http://freespace.virgin.net/hugo.elias/models/m_perlin.htm - октавы численного шума (ошибочно названные в статье шумом Перлина).
http://graphics.pixar.com/library/WaveletNoise/paper.pdf - статья Wavelet Noise (Robert L. Cook, Tony DeRose, Pixar Animation Studios).
http://graphics.ucsd.edu/courses/cse168_s06/ucsd/cellular_noise.pdf - A cellular texture basis function, 1996, Worley, Steven, Proceedings of the 23rd annual conference on computer graphics and interactive techniques. acm.org. pp. 291–294.
http://wearcam.org/gabor1946.pdf - Theory of communication, GABOR, D., J. Int. Electrical Engineers 93, 429–457
http://www.academia.edu/653965/Texture_synthesis_for_digital_painting - Texture Synthesis for Digital Painting, John Peter Lewis, Massachusetts Institute of Technology (Computer Graphics (Proc. ACM SIGGRAPH 84), vol. 18, 245–252).
http://www.academia.edu/653961/Algorithms_for_solid_noise_synthesis - Algorithms for Solid Noise Synthesis, J. P. Lewis, Computer Graphics Laboratory New York Institute of Technology, (Computer Graphics (Proc. ACM SIGGRAPH 89), vol. 23, 263–270) .
http://graphics.cs.kuleuven.be/publications/LLDD09PNSGC/ - Procedural Noise using Sparse Gabor Convolution
http://graphics.cs.kuleuven.be/publications/GLLD12GNBE/ - Gabor Noise by Example
http://libnoise.sourceforge.net/ - библиотека, реализующая различные виды шума
https://github.com/nothings/stb - коллекция библиотек stb, включающая stb_perlin.h - public domain, single-file, header-only реализацию 3-мерного шума Перлина
http://habrahabr.ru/company/unigine/blog/167075/ - "Применение процедурных генераторов в создании контента для real-time 3D приложений: Часть 1. Oil Rush" - содержит множество примеров использования процедурной генерации и опыт интеграции её а арт-пайплайн.
http://habrahabr.ru/company/unigine/blog/184614/ - "Применение процедурных генераторов в создании контента для real-time 3D приложений: Часть 2. Valley Benchmark"
http://www.decarpentier.nl/scape-procedural-basics - использование шума в генерации ландшафта (часть 2 из серии).
http://www.decarpentier.nl/scape-procedural-extensions - использование шума в генерации ландшафта (часть 3 из серии).
#noise, #Perlin, #генерация, #математика, #текстурирование
20 мая 2015
(Обновление: 31 дек 2018)
Комментарии [55]