Midpoint displacement наше всё. Генерирует примерно вот такую картинку:

Меняя зерно можно получить самые разнообразные ландшафты. Если что, могу статью написать. Или в личку стучи :)
bazhenovc
> Если что, могу статью написать.
Пиши статью!
Если еще эрозию добавишь - вообще айс будет.
Я этим алгоритмом строил - получается вполне айс... для Марса, например. Но без эрозии видно, что ландшафт для Земли не естественный.
@!!ex
Ок, будет вам статья и эрозия :)
bazhenovc
Написал ЛС.
Может вы подскажете какой-то материал? На чем вы учились? :)
Untitled1
Подскажу :) Game Programming Gems, GPU Gems, GameDev.ru ....
И давай на "ты" ;)
Вот примеры двух карт, и что с ними произошло после применения эрозии:
До: (http://s52.radikal.ru/i138/1201/f0/7e3da9824f77.jpg)
После водной: (http://s017.radikal.ru/i414/1201/a6/d07c2925795b.jpg)
До: (http://s017.radikal.ru/i437/1201/09/56b877844d03.jpg)
После thermal: (http://s017.radikal.ru/i423/1201/b0/15997c9b79ad.jpg)

Простите за качество картинок, не занимался долго самой визуализацией
Этим хотел показать, что получаются не совсем реалистичные ландшафты в итоге, как по мне.
Ну, видимо не самый удачный алгоритм. + водная эрозия ИМХО неудачная - она должна размывать ландшафт вширь и в глубь, а получилось что-то похожее на сглаживание.
Тоже самое и с thermal.
> http://oddlabs.com/download/terrain_generation.pdf
Все бралось отсюда!
Размер карты - 500, радиус холмов: 4+rand()%8 , количество холмов: 500 / ( 4*(8 + 4) )
С поднятием холмов хоть все в порядке?
Скажем водную эрозию следовало бы применять туда, где теоретически может быть вода - т.е. долины и впадины. Перед этим эти долины и впадины можно резко углубить и немного расширить. Примеры реализации можно взять у природы:)
Вода размывает почву вширь и в глубь, а вышеуказанный алгоритм(водная эрозия) лучше всего применять уже к полученной впадине, т.к. равномерное распределение воды и "сглаживание" характерно для дна водоёма. Стенки нужно генерировать отдельно.
То есть вы считаете проблема в среде? А как же алгоритмы, думаете стоить перепроверить и сделать выводы?
Я так понял, постараюсь сделать.
И все же мы резко перешли к водной эрозии, а меня все-таки интересуют статьи\алгоритмы генерации как раз таких склонов, пещер, стен...
В Bryce 3D очень крутые алгоритмы ландшафтов и эрозии. Можно посмотреть что там выходит и какие есть виды шумов, но к сожалению движок закрыт.
А так почитать про генерацию можно как всегда на http://pcg.wikidot.com/
Если найдёте какие-то алгоритмы шумов кроме Перлина в свободном доступе - напишите если не трудно в личку, я их коллекционирую в виде шейдров:)
Я думаю алгоритм должен работать как в Bryce: шейдром генерить мапу высот скажем 1024 на 1024, затем фильтры (то что вы назвали эрозией - это на самом деле сглаживание, посмотрите как эродируют алгоритмы в Bryce), а после всего уже на основе карты высот делать сетку:

RPG
Спасибо большое.
> алгоритмы шумов кроме Перлина в свободном доступе
Вроде бы вы дали мне ссылку, где рассматриваются все алгоритмы. Разве нет?
Понял, алгоритмов так как раз нет :)
Это хорошо, есть что поискать и над чем подумать, а то думал, что там все собрано :)
По части шумов там ничего кроме перлина и ячеечного шума нет. Посмотрите сколько разных шумов в том же Bryce. Возможно, многие шумы можно получить и из шума Перлина, как вот здесь:
Но мне кажется этого маловато. Да на том сайте тоже не густо материала, есть ещё алгоритмы генерации фракталов, пещер, популяций, но они для террейнов не подходят.
RPG
А как же эта статья?
http://http.developer.nvidia.com/GPUGems3/gpugems3_ch01.html
Это круто. Правда результат крут как фрактал, не как террейн. Крутые террейны в Bryce.
Тема в архиве.