1

Я играл с некоторыми примерами, и они выглядят очень хорошо.Нужно ли реорганизовать физику пули для использования в приложении DirectX?

Однако я заметил, что Bullet использует свои собственные векторные структуры и математические утилиты. Я использую DirectXMath для остальных приложений DirectX. Таким образом, это означает, что у меня есть два набора математических функций.

Я считаю, что DirectXMath является более эффективным, но Bullet имеет длину 130 000 строк, поэтому я должен быть уверен, прежде чем начинать рефакторинг.

ответ

3

В рефакторе практически нет необходимости.

Это звучит сложнейшая задача, специально учитывая количество ошибок, которые могут быть потенциально введены в процесс (и математика пули довольно быстро также с преимуществом встраивания по вызову функций d3d).

Просто используйте пулевые типы данных для имитации и конвертируйте их в datdat d3d при необходимости (поскольку они имеют одинаковый макет памяти, то стрелка указателя будет выполнять задание и имеет почти нулевую стоимость, при этом некоторые операторы кастования C++ также будут сделать процесс почти прозрачным)

Смежные вопросы