Szukam szybkiej biblioteki matematycznej C ++ dla mojego silnika gry z następującymi funkcjami:
- szybki (sse?)
- wektory
- matryce
- czwartorzędy
odpowiedni zarówno dla opengl, jak i directx
c++
mathematics
pragmascript
źródło
źródło
Odpowiedzi:
XNA Math może być dla Ciebie. Jest to biblioteka matematyczna C ++ zawierająca tylko nagłówki, która jest dystrybuowana z najnowszym zestawem SDK DirectX i wykorzystuje elementy wewnętrzne SSE. Nie mogę dużo mówić o jego wydajności, ale z tego, co o nim czytałem, wydaje się całkiem przyzwoity.
XNA Math Reference
Przewodnik po programowaniu XNA Math
Pobieranie DX SDK
EDYCJA: Nie jestem również pewien warunków licencyjnych. DX SDK Eula stwierdza, że „Kod Dystrybucyjny” może nie być
Nie jestem całkowicie pewien, czy dotyczy to matematyki xna, ponieważ tylko przykładowy i użyteczny kod jest wyraźnie oznaczony jako „Kod dystrybucyjny”
źródło
Używamy matematyki OpenGL
Mimo że nazwa sugeruje, że jest to tylko OpenGL, nie widzę powodu, dla którego nie miałby działać w DirectX. Jest to biblioteka tylko z nagłówkami, łatwa w użyciu i bardzo aktywnie aktualizowana.
Sprawdź to.
źródło
Wypróbuj Eigen - szybkie szablony ekspresji, wektoryzowane, łatwe w użyciu i licencjonowane na licencji MPL2
źródło
Może CML http://www.cmldev.net/
źródło
Biblioteka vectormath firmy Sony, używana jako część Bullet Physics , spełnia wszystkie Twoje wymagania. Oddzielenie go od Bullet wymaga pewnej pracy, ale nic poważnego - nie zależy to od kuli, tyle że nikt nigdy nie zapakował jej oficjalnie poza nią.
Wersja obecnie w drzewie punktorów obsługuje optymalizacje SSE i ma interfejs C ++.
Starsza wersja (prawdopodobnie teraz nieobsługiwana) obsługuje również formaty SOA i czysty interfejs C.
źródło
Lub, dla szybkości, http://sourceforge.net/projects/simdx86/ .
źródło