Сетка деформации и VBOs - PullRequest
       33

Сетка деформации и VBOs

2 голосов
/ 27 октября 2010

В моем текущем проекте я рендерил серию кубических трехмерных моделей, расположенных в виде сетки.Эти 3D плитки формируют стены уровня подземелья в игре, поэтому они не идеально кубические, но я обращаю особое внимание на то, чтобы убедиться, что все ребра выровнены и все плитки правильно.

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

Моя текущая проблема заключается в следующем: я использую OpenGL, который предоставляет оптимизацию под названием VBO, которые, по моему мнению, являются статическими копиями меша, которые хранятся в памяти GPU для скорости.Я рендеринг с использованием VBO, потому что я использую только три базовые модели (L-угол, прямолинейный и колпачок, чтобы соединить стены, когда они не встречаются в L).Если мне придется вручную поиграть с вершинами моих моделей, похоже, мне придется заменить содержимое VBO каждой плиткой, что в значительной степени сводит на нет смысл их использования.

Мне кажется,что я мог бы использовать простые преобразования вращения и перемещения для достижения аналогичного эффекта, но я не могу понять, как это сделать, не оставляя промежутков между плитками.Какие-нибудь мысли?

1 Ответ

2 голосов
/ 27 октября 2010

Вы можете использовать вершинную программу на вашем GPU. Основная трудность (если я правильно понимаю вашу проблему) состоит в том, что вершинные программы должны полагаться либо на глобальные параметры, либо на параметры для каждой вершины, и для каждого из них существует строго ограниченный объем пространства.

Без дополнительных подробностей я могу только предложить быть умным в том, как вы устанавливаете параметры ...

...