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