Size: a a a

pro.graphon (and gamedev)

2020 November 16

d

disba1ancer in pro.graphon (and gamedev)
ed braed
Сетка конкретно для шума Перлина - это просто плоская (квадратная, кубическая или n-мерная) сетка со случайными нормализированными векторами в узлах.
Далее "накладываешь" её на растр и при обходе каждого пикселя блендишь 4 ближайших узла.
Сблендив несколько таких слоёв с разным размером клеток - получишь тем самые облака.

Но если только начинаешь раскуривать, возьми лучше не Перлина, а value noise, он как мне кажется попроще..
У меня в заметках есть примеры реализации (и того и другого) на shadertoy, можешь там глянуть.
там не блендинг
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
там не блендинг
Где именно?
источник

d

disba1ancer in pro.graphon (and gamedev)
ed braed
Где именно?
> Далее "накладываешь" её на растр и при обходе каждого пикселя блендишь 4 ближайших узла.
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
> Далее "накладываешь" её на растр и при обходе каждого пикселя блендишь 4 ближайших узла.
Интерполируешь - звучит лучше? :)
источник

d

disba1ancer in pro.graphon (and gamedev)
ed braed
Интерполируешь - звучит лучше? :)
ну вообще, у тебя львиная доля технических подробностей упущена
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
ну вообще, у тебя львиная доля технических подробностей упущена
Ну, я и не ставил перед собой цели в одном предложении весь алгоритм расписать..
Да, конечно, всё несколько сложнее.
источник

d

disba1ancer in pro.graphon (and gamedev)
ed braed
Интерполируешь - звучит лучше? :)
просто там интерполируешь результат скалярного произведения 4ёх пар векторов
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
просто там интерполируешь результат скалярного произведения 4ёх пар векторов
Вообще, по этой теме уже столько статей расписано что прям и лениво как-то говорить лишний раз..
Но да, это абсолютно верно.
источник

eb

ed braed in pro.graphon (and gamedev)
Наверное не совсем корректно выразился, каюсь.
источник

d

disba1ancer in pro.graphon (and gamedev)
ed braed
Вообще, по этой теме уже столько статей расписано что прям и лениво как-то говорить лишний раз..
Но да, это абсолютно верно.
я в своё время на волне майнкрафта, долго долбил этот алгоритм, в итоге разобрался, было также сложно как и fft
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
я в своё время на волне майнкрафта, долго долбил этот алгоритм, в итоге разобрался, было также сложно как и fft
У меня приблизительно похожий опыт был, недавно вот вспоминал..
источник

d

disba1ancer in pro.graphon (and gamedev)
ed braed
У меня приблизительно похожий опыт был, недавно вот вспоминал..
а с чем именно?
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Возникла такая проблема: скачал я значит render doc (на винду), хочу запустить его на своём приложении (OpenGL). Соответственно выбираю в RenderDoc launch application, устанавливаю пути, все запускается и... Ничего, никакой инфы нет, жмакаю capture frame, тоже ничего нет
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
Alexander Potapov
Возникла такая проблема: скачал я значит render doc (на винду), хочу запустить его на своём приложении (OpenGL). Соответственно выбираю в RenderDoc launch application, устанавливаю пути, все запускается и... Ничего, никакой инфы нет, жмакаю capture frame, тоже ничего нет
Вангую compatibility profile или версия gl ниже 3.2
источник

d

disba1ancer in pro.graphon (and gamedev)
Aleksey Muravev
Вангую compatibility profile или версия gl ниже 3.2
т.е. на шинтеле хд 3000 не сработает?
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
Ну вот вроде ставлю GLFW_OPENGL_CORE_PROFILE и версию 4.5
источник

AP

Alexander Potapov in pro.graphon (and gamedev)
проблема на другом компе воспроизводится => косяк скорее всего в коде
источник

AM

Aleksey Muravev in pro.graphon (and gamedev)
disba1ancer
т.е. на шинтеле хд 3000 не сработает?
Какая-то шутка, которой я не понимаю?
источник

d

disba1ancer in pro.graphon (and gamedev)
Aleksey Muravev
Какая-то шутка, которой я не понимаю?
Intel HD Graphics 3000 не умеет в OpenGL выше 3.1 на шинде
источник

eb

ed braed in pro.graphon (and gamedev)
disba1ancer
а с чем именно?
Ну я процедурной генерацией пытался заниматься ещё до того как на gpu пришёл, не столько ради какой-то конкретной цели, сколько ради интереса.. Когда получился результат в 3.5 сек на value noise 1024x1024 - понял что что-то делаю не так. Мудрые люди тогда направили на gpu.
Тогда  как раз и перелез на плюсы, и за одно в opengl..
Уже лет 10 прошло <.<
источник