Добавлен prog,
опубликован
Вводная информация
Продолжая тему "что можно накодить за обеденный перерыв?", хочу рассказать вам о своем микропроекте, который посвящен процедурной генерации моделей.
Началось это все, когда мне не хватило геометрических примитивов для прототипирования, а лезть в 3д-редактор было лень. Можно было, конечно, взять готовый пак моделей из интернета или просто добавить дополнительные формы примитивов, но кого интересуют легкие решения?
В итоге былы выбрана процедурная генерация меша по набору сплайнов. И не банальное построение меша путем вращения сплайна или растягивание одного сплайна вдоль другого, а генерация меша по независимым направляющим, исходящим из одной точки.
Для визуализации используется движок JMonkeyEngine 3.0.
Все вершины, треугольники и нормали генерируются програмно, за исключением небольшого набора вершин, задающего узлы направляющих.
Для интерполяции используется алгоритм CatmullRom.
План действий
- Построить направляющие по набору ключевых точек - готово
- Построить лоуполи модель по направляющим - готово
- Добавить вертикальное и горизонтальное сглаживание к модели путем увеличения кол-ва вершин - готово
- Построить нормали к поверхности - готово
- Построить высокополигональную модель по вершинам - готово
- Добавить текстурные координаты для вершин
- Добавить возможность редактировать направляющие в режиме реального времени - в процессе
- Убрать ограничения на форму и количество направляющих
- Добавить процедурную генерацию текстур
- Добавить поддержку LOD
- Добавить поддержку других алгоритмов интерполяции помимо CatmullRom
- Добавить поддержку более сложных форм за счет комбинирования нескольких сгенерированных моделей
- Добавить механизм, позволяющий контролировать плотность сетки
- Добавить возможность делать острые углы на модели, а не только сглаженные до безобразия поверхности
- Добавить другие алгоритмы генерации помимо базового
- Добавить возможность экспорта в файл для дальнейшего использования в графических редакторах
Фотоотчет
`
ОЖИДАНИЕ РЕКЛАМЫ...
Чтобы оставить комментарий, пожалуйста, войдите на сайт.
Отредактирован prog
Доработан генератор нормалей.
Исправлен косяк, мешавший сгенерировать последний ряд вершин.