Воскресенье, 22 Декабря 2024, 10:46

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Рендер модели по точкам
ganstermДата: Понедельник, 03 Сентября 2012, 11:00 | Сообщение # 1
частый гость
Сейчас нет на сайте
Здравствуйте. Возникла следующая проблема.
Есть 3д модель а-ля дорога.
Дорога может рисоваться по 3-м точкам. Но есть функция сглаживания(добавляет 20-50 точек).
Вопрос, как лучьше выводить модель по этим точкам?
P.S если кто шарит как это сделать в Дирексе или Ogre3d


Сообщение отредактировал gansterm - Понедельник, 03 Сентября 2012, 11:01
ArchidoДата: Понедельник, 03 Сентября 2012, 13:29 | Сообщение # 2
Сэнсэй
Сейчас нет на сайте
Quote (gansterm)
Дорога может рисоваться по 3-м точкам

Что под этим конкретно подразумевается? За что эти три точки отвечают?


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ganstermДата: Понедельник, 03 Сентября 2012, 13:34 | Сообщение # 3
частый гость
Сейчас нет на сайте
3 точки - это опорные, нужно рисовать по ним. Но между этими точками может появиться еще штук 40. Это как бы маршрут по которому должна растянуться модель.
ArchidoДата: Понедельник, 03 Сентября 2012, 14:26 | Сообщение # 4
Сэнсэй
Сейчас нет на сайте
Quote (gansterm)
3 точки - это опорные, нужно рисовать по ним. Но между этими точками может появиться еще штук 40. Это как бы маршрут по которому должна растянуться модель.

А как на данный момент реализован алгоритм отрисовки модели по этим трем точкам?

В идеале модель должна быть тесселирована (чтобы правильно "растянуться"), т.е. иметь сетку, кол-во клеток которой должно быть равно кол-ву необходимых опорных точек (по длине, например). После чего, "пометив" необходимые вершины неким ID (одинаковый ID будет у вершин, которые образуют ребро у клетки) - 0, 1, 2, N + 1, где N - кол-во клеток "в длину", а числа это, соответственно, номера опорных точек. Перед рендером модели, основываясь на ID конкретной вершины, мы перемещаем (update'ом вершинного буфера или шейдером) эту вершину в позицию необходимой опорной точки. Мне это видится так.

Другой вариант - разделить всю пачку точек на блоки по три и рисовать модель N раз (состыковая их вместе), где N кол-во получившихся блоков.


C++ - он особенный. С помощью него можно не только выстрелить себе в ногу, но и повеситься в пустой комнате:)
ganstermДата: Понедельник, 03 Сентября 2012, 14:46 | Сообщение # 5
частый гость
Сейчас нет на сайте
В данный момент я нахожу направление на следующую точку и расстояние до нее и исходя их этих данных рисую модель.
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг