Oyun Motoru için En İyi C ++ Matematik Kütüphanesi? [kapalı]


18

Aşağıdaki özelliklere sahip oyun motorum için hızlı bir açık kaynak kodlu C ++ matematik kütüphanesi arıyorum:

  • hızlı (sse?)
  • vektörler
  • matrisler
  • kuaterniyonlar

hem opengl hem de directx için uygun


1
Neden bir matematik kütüphanesinin neden grafik API'sine bağımlı olacağını anlamıyorum. : P
Komünist Ördek

3
afaik opengl sütun ana matrisleri ve directx satır majör kullanır. bu yüzden kütüphane her ikisini de destekleseydi güzel olurdu
pragmascript

1
GL'de, transpoze edilen matrisi her zaman ayarlayabilirsiniz ve DX'te gölgelendiricilerdeki düzeni belirleyebilirsiniz. Elle ayarlamak da önemli değil.
21'de Anteru

1
Platform burada önemlidir, çünkü bir bilgisayarda harika çalışan, ancak bir konsolda korkunç çalışan bir matematik kütüphanesi yapmak oldukça kolaydır.
Kylotan

Yanıtlar:


11

XNA Math sizin için olabilir. En yeni DirectX SDK ile dağıtılan ve SSE intrinsics kullanan bir başlık sadece C ++ matematik kütüphanesidir. Performansı hakkında fazla konuşamam ama hakkında okuduğum kadarıyla oldukça iyi görünüyor.

XNA Matematik Referansı

XNA Math programlama kılavuzu

DX SDK indir

EDIT: Lisans koşullarından da emin değilim. DX SDK Eula "Dağıtılabilir Kod" un

"Windows, Xbox ve Windows Mobile platformları dışında bir platformda çalışır;"

Ben sadece örnek ve yardımcı program kodu açıkça "Dağıtılabilir Kod" olarak işaretlenmiş olarak bu xna math için geçerli olup olmadığını tamamen emin değilim


XNA'nın lisans koşulları hakkında hiçbir fikrim yok, örneğin, örneğin microsoft olmayan işletim sistemlerinde kullanmak uygun mudur? Bununla birlikte, bir noktada bir yazılım oluşturma projesinde (neredeyse aynı şey olan) d3dx matematik kütüphanesini kullandım, bu yüzden hiçbir şekilde directx'e bağlı değil.
Jari Komppa

1
Açıklama: d3dx math, lisanslama koşullarında muhtemelen hemen hemen aynı şeydir - uygulama açısından farklıdır. SDK belgelerine göre d3dx matematik ağırlıklı olarak satır içi ve işaretçi ile geçerken, xnamath SIMD ve intrinsiklere dayanmaktadır.
Koarl

14

Biz kullanmak OpenGL Matematik

Her ne kadar isim sadece OpenGL için olduğu anlamına gelse de DirectX için işe yaramayacağına dair hiçbir neden göremiyorum. Bu sadece bir başlık kütüphanesi, kullanımı kolay ve çok aktif olarak güncellenir.

Bunu kontrol et.


2
MIT lisansını kullanıyor
Jari Komppa

5

Deneyin Eigen - hızlı, ifade şablonları, kolay kullanımı, vectorized ve altında lisanslanmıştır MPL2



1

Sony'nin Bullet Physics'in bir parçası olarak kullanılan vectormath kütüphanesi tüm gereksinimlerinizi karşılar. Bullet'ten ayırmak için bazı çalışmalar yapılıyor, ancak ciddi bir şey yok - mermiye bağlı değil, sadece hiç kimse resmi olarak onun dışında paketlemedi.

Bullet ağacında bulunan sürüm SSE optimizasyonlarını destekler ve bir C ++ arayüzüne sahiptir.

Daha eski bir sürüm (muhtemelen desteklenmiyor) SOA formatlarını ve saf bir C arayüzünü de destekliyor.


1
Zlib / libpng lisansı gibi görünüyor.
Jari Komppa

Bununla ilgileniyorum. Bazı işlerin ayrılıklara karıştığını söylemiştiniz, ne tür bir işin gerektirdiği hakkında herhangi bir bağlantınız veya başka bilgileriniz var mı?

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.