खेल इंजन के लिए सर्वश्रेष्ठ सी ++ गणित पुस्तकालय? [बन्द है]


18

मैं अपने फीचर्स इंजन के लिए निम्न फीचर्स के साथ एक तेज ओपनसोर्स C ++ गणित-पुस्तकालय की तलाश कर रहा हूं:

  • तेज (sse?)
  • वैक्टर
  • मैट्रिक्स
  • quaternions

दोनों opengl और Directx के लिए उपयुक्त है


1
मैं यह नहीं देखता कि गणित की लाइब्रेरी वैसे भी ग्राफिक्स एपीआई पर निर्भर क्यों होगी। : पी

3
afaik opengl कॉलम प्रमुख मैट्रिक्स और डायरेक्टेक्स पंक्ति प्रमुख का उपयोग करता है। इसलिए यह अच्छा होगा यदि पुस्तकालय दोनों का समर्थन करता है
pragmascript

1
जीएल में, आप हमेशा ट्रांसपोज़्ड मैट्रिक्स सेट कर सकते हैं, और डीएक्स में, आप शेड्स में लेआउट निर्दिष्ट कर सकते हैं। मैन्युअल रूप से समायोजित करना भी कोई बड़ी बात नहीं है।
ऐंटरू

1
प्लेटफ़ॉर्म यहां महत्वपूर्ण है, क्योंकि यह एक गणित पुस्तकालय बनाने में काफी आसान है जो पीसी पर बहुत अच्छा काम करता है लेकिन कंसोल पर या इसके विपरीत बहुत ही अच्छा है।
काइलोटन

जवाबों:


11

XNA मैथ आपके लिए हो सकता है। यह केवल हेडर सी + + गणित पुस्तकालय है जिसे नवीनतम डायरेक्टएक्स एसडीके के साथ वितरित किया जाता है और एसएसई इंट्रिनिक्स का उपयोग करता है। मैं इसके प्रदर्शन के बारे में ज्यादा बात नहीं कर सकता, लेकिन इसके बारे में मैंने जो भी पढ़ा है, उससे यह काफी अच्छा लग रहा है।

XNA मैथ संदर्भ

XNA मैथ प्रोग्रामिंग गाइड

डीएक्स एसडीके डाउनलोड

संपादित करें: मैं लाइसेंस शर्तों के बारे में निश्चित नहीं हूं। DX SDK यूला कहता है कि "वितरण योग्य कोड" नहीं हो सकता है

"विंडोज, एक्सबॉक्स और विंडोज मोबाइल प्लेटफॉर्म के अलावा अन्य प्लेटफॉर्म पर चला?"

मुझे पूरी तरह से यकीन नहीं है कि क्या यह xna गणित के लिए लागू होता है क्योंकि केवल नमूना और उपयोगिता कोड स्पष्ट रूप से "वितरण योग्य कोड" के रूप में चिह्नित है


मुझे पता नहीं है कि XNA की लाइसेंस शर्तों के बारे में जो भी हो, उदाहरण के लिए, गैर-Microsoft ऑपरेटिंग सिस्टम में उनका उपयोग करना ठीक है। उस ने कहा, मैं एक बिंदु पर एक सॉफ्टवेयर प्रतिपादन परियोजना में d3dx गणित पुस्तकालय (जो बहुत ज्यादा एक ही बात है) का उपयोग किया है, इसलिए यह किसी भी तरह से Directx पर निर्भर नहीं है।
जरी कोमप्पा

1
स्पष्टता: d3dx गणित लाइसेंसिंग शब्दों में शायद बहुत ही समान है - कार्यान्वयन-वार हालांकि यह अलग है। SDK प्रलेखन के अनुसार d3dx गणित काफी हद तक इनलाइनिंग पर निर्भर करता है और पॉइंटर से गुजरता है जबकि xnamath SIMD और आंतरिक पर निर्भर करता है।
कोअरल

14

हम OpenGL के गणित का उपयोग करते हैं

हालांकि नाम का अर्थ है कि यह सिर्फ OpenGL के लिए है, मुझे लगता है कि यह DirectX के लिए काम नहीं करेगा। यह हेडर केवल लाइब्रेरी है, उपयोग करने में आसान है और बहुत सक्रिय रूप से अपडेट किया गया है।

इसकी जांच - पड़ताल करें।


2
एमआईटी लाइसेंस का उपयोग करता है
जरी कोप्पा

5

Eigen की कोशिश करें - तेज, अभिव्यक्ति टेम्पलेट, सदिश, उपयोग करने में आसान, और MPL2 के तहत लाइसेंस प्राप्त है



1

बुलेट फिजिक्स के हिस्से के रूप में उपयोग की जाने वाली सोनी की वीटर्मथ लाइब्रेरी आपकी सभी आवश्यकताओं को पूरा करती है। कुछ काम इसे बुलेट से अलग करने के लिए शामिल है, लेकिन कुछ भी गंभीर नहीं है - यह बुलेट पर निर्भर नहीं करता है, बस किसी ने कभी इसे आधिकारिक तौर पर इसके अलावा पैक नहीं किया है।

बुलेट ट्री में वर्तमान में संस्करण SSE अनुकूलन का समर्थन करता है, और इसमें C ++ इंटरफ़ेस है।

एक पुराना संस्करण (शायद अब असमर्थित) भी SOA स्वरूपों और एक शुद्ध C इंटरफ़ेस का समर्थन करता है।


1
Zlib / libpng लाइसेंस की तरह लगता है।
जरी कोमप्पा

मुझे इसमें दिलचस्पी है। आपने उल्लेख किया है कि कुछ काम जुदाई में शामिल हैं, क्या आपके पास कोई लिंक या अन्य जानकारी है कि किस तरह का काम होता है?

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.