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