Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Форум / Генерация шума (комментарии) (4 стр)

Генерация шума (комментарии) (4 стр)

Поделиться
Страницы: 1 2 3 4
foxesПостоялецwww18 июля 201512:56#45
FordPerfect
> На Shadertoy, подозреваю, получше есть.
я все просмотрел остальное хлам. или примеры слишком запутанные чтобы можно было посмотреть просто шум, также там в основном очень много генерации на основе текстуры так что это самое лучшее.
Причем тут перлин? тема же генерация шума! - аа ты про название метода... видимо обобщение.

FordPerfect
> в чём ценность конкретно этого примера?
я попробовал сделать без синусов, но после того как увидел этот пример, от того объема кода который я получил мне даже как то стыдно стало :). Хотя принцип тот же только float r(vec2 n) поменять.
Да и синусы там используются для того чтобы от линейности генератора избавиться, то есть можно заметить на обычный квадрат от дробной части. Сам генератор по сути это dot.

float r(vec2 n)
{
    float a=fract(dot(n,vec2(36.26,73.12)));
    return fract(a*a*354.63);
}
уже начинают полосы вылазить, возможно стоит из радиан привести к чему то.

вот тоже забавная вещь https://www.shadertoy.com/view/Xd23Dh
тут фракталы с подсветкой от эквалайзера https://www.shadertoy.com/view/MslGWN

Belfegnar
> Кто-нибудь рыл тему Wavelet шумов, которые используются для генерации деталей
> ближних лодов земли в движке Outerra?
Я немного, но больше своего творчества - локальная генерация всплесков со случайной амплитудой = Wavlet(pos)*randAmp()
То есть вейвлет восстановление на основе шумовых коэффициентов.
смахивает на микс из разных Sparse Convolution Noise.

FordPerfectПостоялецwww18 июля 201520:30#46
foxes
>я все просмотрел остальное хлам.
Тоскливо.

> https://www.shadertoy.com/view/Xd23Dh
Voronoise можно будет кстати в статье упомянуть.

> https://www.shadertoy.com/view/MslGWN
Спасибо. Мне сейчас что-то похожее надо как-раз.

Но вроде всё не совсем плохо. И именно примеров - можно понаходить.
Вроде такого:
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.

foxesПостоялецwww18 июля 201521:04#47
FordPerfect
> совсем влобный Value Noise (2D).
это тоже самое прям один в один первый пример.
ну и все остальное просто развертывает использование первого варианта. (весь секрет в raytrace)
FordPerfect
> simplex 2D/3D
суть та же. + анимировали генератор при помощи z. 2D лучше оптимизирован (хотя вообще непонятно в чем разница между этими 2D и 3D).
FordPerfect
> Worley на jittered grid
ну тут варианты с клетками пошли. кстати классика, потом понятно становится когда навернут что нибудь.
FordPerfect
> забавный наворот на Voronoi.
вот там все в таком духе просто накрутки, я когда в первый раз это все видел - лагало жутко ни че не работало. и всем один и тот же чел помогает FabriceNeyret2.

https://www.shadertoy.com/view/XtfSzn, https://www.shadertoy.com/view/lt2GDt - тудаже
а там глядишь можно и на воксели замахнутся https://www.shadertoy.com/view/MlfGRM.
и все тот же

float hash(float x){return fract(sin(x)*265871.1723);}
хоть от dot2, хоть от dot3...

c той же интерполяцией

float noise(vec3 v) {
    vec3 V = floor(v);v-=V;
    return mix(mix(
      mix(hash(V),      hash(V+E.xyy),v.x),
        mix(hash(V+E.yxy),hash(V+E.xxy),v.x),v.y),
        mix(mix(hash(V+E.yyx),hash(V+E.xyx),v.x),
        mix(hash(V+E.yxx),hash(V+E.xxx),v.x),v.y),v.z);
}

да, не всегда понятно, но некоторые примеры можно мышкой вертеть.
насчет генерации шума на сфере я бы в эту сторону смотрел https://www.shadertoy.com/view/MtXSD7
то есть https://www.shadertoy.com/view/ltlSW4

foxesПостоялецwww19 июля 201519:13#48
Попробовал намешать клетки слои и генератор вот что получилось
https://www.shadertoy.com/view/ltsSW7
Blew_zcПостоялецwww20 июля 20150:29#49
foxes
> то есть https://www.shadertoy.com/view/ltlSW4
> step(i-=o.xy=ceil(i+=i.x*=.577),mod(o.x+o.y,3.)+--i.yx)
Оторвите ему руки! :)
foxesПостоялецwww20 июля 201521:29#50
не, вот тут кому надо что то оторвать https://www.shadertoy.com/view/XlfGRj
foxesПостоялецwww24 авг. 201515:14#51
вот что можно сделать из клеточного алгоритма
https://www.shadertoy.com/view/llsSDf
FordPerfectПостоялецwww24 авг. 201517:15#52
foxes
Ня ^_^.

Подобавлял в статью.

ishellstrikeПостоялецwww24 авг. 201517:16#53
Занятные статьи по шуму перлина с производными (имитация эрозии)
http://www.decarpentier.nl/scape-procedural-basics
http://www.decarpentier.nl/scape-procedural-extensions
FordPerfectПостоялецwww24 авг. 201517:37#54
ishellstrike
А ведь я натыкался на неё.
А что-то в список литературы как-то не добавил.

Добавил.
Спасибо.

foxesПостоялецwww24 авг. 201518:11#55
FordPerfect
> https://www.shadertoy.com/view/4sfGzS - тоже вполне себе незатейливый Value
> Noise.
Кстати я взял вот этот примерчик за основу, анимировал и вот что получилось
https://www.shadertoy.com/view/4lfSzS - почувствуй раздницу :)
Страницы: 1 2 3 4

/ Форум / Программирование игр / Общее

Тема в архиве.

2001—2017 © GameDev.ru — Разработка игр