Вверх ↑
Этот топик читают: Гость
Ответов: 1205
Lono
Рекрут
#1: 2012-11-28 15:19:44 ЛС | профиль | цитата
Собственно, вот, решил поэкспериментировать и наваял square-diamond алгоритм генерации ландшафта с зумом. Как здесь: тык.
Карта высот:
HeightMap - Demo0 - Screenshot - 112912 - 16:30:28.png
Сетка.
TerrainGen - Demo1 - Screenshot - 112812 - 16:41:09.png
Делаем отсекание невидимых полигонов, поддержку общего направленного света, или как он там называется. Теней нет.
TerrainGen - Demo2 - Screenshot - 112812 - 21:07:52.png
Свет с двух сторон, оси.
HeightMap - Demo3 - Screenshot - 112912 - 16:29:23.png
Кубический вариант:
HeightMap - Demo4 - Screenshot - 113012 - 03:27:48.png
Разделил весь мир на регионы ("чанки") и теперь в каждом регионе есть 1 генератор, который вы видели выше. Вот как выглядит карта высот с где-то ~50-тью регионами.
HeightMap - Demo5 - Screenshot - 113012 - 08:35:09.png
Та же хрень, только в 3d, размеры маленькие:
HeightMap - Demo6 - Screenshot - 113012 - 09:06:21.png
...с разделением на чанки:
HeightMap - Demo7 - Screenshot - 113012 - 09:12:29.png
Вот она, динамически подружаемая карта моей мечты, вот она, ВОТ ОНАА!!!!
HeightMap - Demo8 - Screenshot - 113012 - 10:00:54.png

HeightMap - Demo9 - Screenshot - 113012 - 20:25:19.png
Блин, ахренеть. Я теперь понял, почему Нотч подобрал именно такое соотношение размера человека и размера блоков. Если чучуть повысить кол-во полигонов (а на скринах с гладкими горами их куда больше, чем в кубиках Demo9), производительность ощутимо падает. Если чучуть понизить кол-во полигонов, получаются здоровенные кубы (как будто играем игроком высотой в полэльфа), неиграбельно и совсем некрасиво.

Ниже - гладкая поверхность с выравниванием по Z, очень интересная вещь. Быстрый рендеринг без оптимизаций рендеринга, но некоторые сложности с наложением текстур в будущем. А списки (glLists) не очень-то подняли производительность, судя по всему, надо еще попробовать буффера.
HeightMap - Demo10 - Screenshot - 113012 - 23:02:40.png
Кубы, чуток выровнял вычисление света. Вид сверху:
HeightMap - Demo11 - Screenshot - 113012 - 23:12:01.png
Текстурирование. Кубический вариант:
HeightMap - Demo12 - Screenshot - 120112 - 20:17:26.png
Текстурирование. Более гладкий вариант:
HeightMap - Demo13 - Screenshot - 120112 - 20:27:29.png
Текстурирование. Полностью гладкий вариант:
HeightMap - Demo14 - Screenshot - 120112 - 20:32:33.png

по ходу разработки буду дополнять

--- Добавлено в 2012-11-30 19:07:55



Сейчас попробую использовать списки и буффера, интересно, насколько они повысят производительность.
карма: 14
semplar2007@gmail.com
6
Голосовали:sabotajnik7, FredPerry, Assasin, TGC, Marshall_Methers, wthout_brain
Ответов: 445
666dev
лидер
#2: 2012-12-09 17:22:44 ЛС | профиль | цитата
ну что сказать, круто

--- Добавлено в 2012-12-09 17:25:05

читая появилась мысль, чтобы карта стала 3D

--- Добавлено в 2012-12-09 17:25:40
карма: -2
0
Ответов: 461
Monte Carlo
Твинки
#3: 2012-12-09 17:40:51 ЛС | профиль | цитата
Кулл
Супер идейка)) Красиво сделал:3
карма: -9
0
3
Сообщение
...