Перемещение трехмерной пользовательской геометрии: лучший способ сделать это - PullRequest
0 голосов
/ 21 марта 2011

Я создаю с помощью XNA класс, который инкапсулирует произвольную геометрию, определенную произвольным образом. Я хочу, чтобы эта геометрия двигалась, теперь, каков наилучший способ сделать это? Достаточно ли привести все координаты вершин и умножить их на матрицу перевода, используя метод Vector3.Translate? Или более эффективно назначить геометрию для эффекта (скажем, BasicEffect), а затем манипулировать матрицей мира?

Спасибо!

1 Ответ

1 голос
/ 21 марта 2011

Я не настолько глубоко в xna прямо сейчас, но говоря о трехмерном программировании в целом, вы должны преобразовать мировую матрицу, чтобы "переместить" происхождение объекта. Это будет намного быстрее, чем обновление всех вершин до их новых координат (НАМНОГО быстрее, поскольку вычисления могут быть выгружены на видеокарту). Вы никогда не должны изменять / обновлять данные геометрии, просто чтобы перемещать вещи Это может быть хорошо для сложных анимаций, но (на мой взгляд) не для отдельных переводов.

...