Я ищу быструю математическую библиотеку C ++ с открытым исходным кодом для моего игрового движка со следующими функциями:
- быстро (сс?)
- векторы
- матрицы
- кватернионы
подходит как для opengl, так и для directx
c++
mathematics
pragmascript
источник
источник
Ответы:
XNA Math может быть для вас. Это математическая библиотека C ++ только для заголовков, которая распространяется с последним пакетом DirectX SDK и использует встроенные функции SSE. Я не могу много говорить о его производительности, но из того, что я читал об этом, он кажется довольно приличным.
XNA Math Reference
Руководство по программированию XNA Math
DX SDK скачать
РЕДАКТИРОВАТЬ: Я также не уверен в условиях лицензирования. DX SDK Eula заявляет, что «Вторично распространяемый код» не может быть
Я не совсем уверен, применимо ли это к математике xna, поскольку только пример кода и утилиты явно помечен как «Вторично распространяемый код».
источник
Мы используем OpenGL Математика
Хотя название подразумевает, что это только для OpenGL, я не вижу причин, по которым он не будет работать для DirectX. Это библиотека только для заголовков, простая в использовании и очень активно обновляемая.
Проверьте это.
источник
Попробуйте Eigen - быстро, шаблоны выражений, векторизация, проста в использовании и лицензирована в соответствии с MPL2
источник
Может быть, CML http://www.cmldev.net/
источник
Библиотека векторной графики Sony, используемая как часть Bullet Physics , отвечает всем вашим требованиям. Требуется некоторая работа, чтобы отделить его от Bullet, но ничего серьезного - это не зависит от пули, просто никто никогда официально не упаковывал ее отдельно от нее.
Версия в настоящее время в дереве маркеров поддерживает оптимизацию SSE и имеет интерфейс C ++.
Более старая версия (возможно, теперь не поддерживаемая) также поддерживает форматы SOA и чистый интерфейс C.
источник
Или, для скорости, http://sourceforge.net/projects/simdx86/ .
источник