Самый быстрый алгоритм 3D-шума Perlin?

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

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

2 ответов


вы хотите Симплекс Шума.

  • менее ресурсоемким
  • не основано на квадратной сетке, поэтому нет очевидных направленных артефактов
  • весы лучше для более высоких размеров: O(N^2) vs Classic Perlin'S O (2^N) для n измерений

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


год назад мне был нужен fast Perlin шум тоже и, наконец, реализовали этот.

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

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