Estoy buscando una biblioteca matemática C ++ de código abierto rápida para mi motor de juego con las siguientes características:
- rápido (sse?)
- vectores
- matrices
- cuaterniones
Adecuado para opengl y directx
Estoy buscando una biblioteca matemática C ++ de código abierto rápida para mi motor de juego con las siguientes características:
Adecuado para opengl y directx
Respuestas:
XNA Math podría ser para ti. Es una biblioteca matemática de C ++ solo con encabezado que se distribuye con el último DirectX SDK y utiliza intrínsecos SSE. No puedo hablar mucho sobre su rendimiento, pero por lo que leí al respecto, parece ser bastante decente.
Guía de programación de XNA Math
EDITAR: tampoco estoy seguro de los términos de licencia. El DX SDK Eula establece que "Código distribuible" puede no ser
"ejecutarse en una plataforma que no sea Windows, Xbox y Windows Mobile;"
No estoy completamente seguro de si esto se aplica a xna math ya que solo el código de muestra y de utilidad está marcado explícitamente como "Código Distribuible"
Usamos Matemáticas OpenGL
Aunque el nombre implica que es solo para OpenGL, no veo ninguna razón para que no funcione para DirectX. Es una biblioteca de solo encabezado, fácil de usar y se actualiza muy activamente.
Echale un vistazo.
La biblioteca de vectores matemáticos de Sony, utilizada como parte de Bullet Physics , cumple con todos sus requisitos. Se requiere algo de trabajo para separarlo de Bullet, pero nada serio: no depende de bala, solo que nadie lo empaquetó oficialmente aparte de él.
La versión actualmente en el árbol de viñetas admite optimizaciones SSE y tiene una interfaz C ++.
O, para mayor velocidad, http://sourceforge.net/projects/simdx86/ .