Самый быстрый Perlin-Like 3D алгоритм шума? - PullRequest
16 голосов
/ 06 августа 2011

Прошло уже более 20 лет с тех пор, как Кен Перлин впервые изобрел свой шум. Кому-нибудь удалось создать более быстрый вид генератора трехмерного шума со свойствами, близкими к свойствам Perlin (процедурная, естественная группировка, уменьшенные полосы, обычный размер объекта и т. Д.)?

Я пытаюсь построить процедурный генератор мира, но в настоящее время Перлин просто не сокращает его. Я признаю, что моя реализация не самая лучшая, какой она могла бы быть сейчас, но если я все равно собираюсь ее переписать, мне стало интересно, существует ли лучший алгоритм.

Ответы [ 2 ]

16 голосов
/ 06 августа 2011

Вы хотите Симплексный шум .

  • меньше вычислительно дорого
  • не основано на квадратной сетке, поэтому нет очевидных направленных артефактов
  • лучше масштабируется до более высоких измерений: O (N ^ 2) против O (2 ^ N) классического Перлина для N измерений

Вот хорошее объяснение здесь . Очевидно, пример реализации Кена Перлина не самый простой для понимания код.

4 голосов
/ 07 мая 2012

Год назад мне тоже нужен был fast Perlin Шум, и я наконец-то реализовал его.

Java Gaming , который является 2d в java, но может быть легко превращен в 3d (и действительно на любом другом языке, кроме Java).

В зависимости от ваших потребностей вы можете просто использовать что-то вроде noise2d * noise1d (или аналогичный прием), здесь приведен пример трюка (должен быть noise2d * noise1d) рендеринга вполный Java Software .

...