Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

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

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

Ответ 2

Год назад мне тоже понадобился fast Perlin Noise и, наконец, реализовано это.

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

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