OpenGL ES 2.0 गेम में उपयोग के लिए पूरा गणित पुस्तकालय? [बन्द है]


14

क्या आप OpenGL ES 2.0 गेम में उपयोग के लिए एक पूर्ण (या लगभग पूर्ण) क्रॉस प्लेटफ़ॉर्म गणित पुस्तकालय से अवगत हैं ?

पुस्तकालय में होना चाहिए:

  • मैट्रिक्स 2 एक्स 2, मैट्रिक्स 3x3, मैट्रिक्स 4x4 कक्षाएं
  • quaternions
  • वेक्टर 2, वेक्टर 3, वेक्टर 4 कक्षाएं
  • यूलर एंगल क्लास
  • उपर्युक्त वर्गों, रूपांतरणों आदि के बीच संचालन।
  • 3 डी ग्राफिक्स (डॉट उत्पाद, क्रॉस उत्पाद, एसएलईआरपी, आदि ...) में मानक रूप से उपयोग किए जाने वाले गणित संचालन

क्या इस तरह का मैथ एपीआई किसी स्टैंडअलोन या किसी पैकेज के हिस्से के रूप में उपलब्ध है ?

प्रोग्रामिंग भाषा: विज़ुअल सी ++ लेकिन ओएस एक्स और एंड्रॉइड ओएस में पोर्ट किए जाने की योजना है।



अभी के लिए कोई पूर्ण गणित पुस्तकालय नहीं है, मैंने सिर्फ कुछ आवश्यकताओं को लिखने की कोशिश की है और बस कोई पुस्तकालय उनके पास नहीं है, अच्छी तरह से वास्तव में मैं किसी को पुस्तकालय को GLM के समान आसान बनाना चाहता हूं जैसा कि शेड्स + ओग्रे गणित पुस्तकालय की शैली और इसकी कुछ कार्यक्षमताओं (कि GLM को मिस फ्रूटम, बाउंडिंग बॉक्स इत्यादि की तरह याद किया जाता है) यह भी ध्यान दें कि GLM इतना तेज नहीं है (वास्तव में जो मायने नहीं रखता है) इसलिए मुझे संदेह है कि कोई इसका उपयोग किरणों या गहन सामग्री में करेगा, और अधिक उपयोगी एपीआई और डिजाइन शैली के कारण
GameDeveloper

जवाबों:


14

क्या आपने विन्यास योग्य गणित पुस्तकालय पर विचार किया है ?


+1 @ जोश: आपकी अच्छी टिप के लिए धन्यवाद। मैं वर्तमान में GLM ( glm.g-truc.net ) जीएल मठ पुस्तकालय पर विचार कर रहा हूं । मैं यह देखने के लिए इंतजार करूंगा कि पुस्तकालयों के लोगों ने पहले से ही क्या प्रयास किया है और कितना अच्छा साबित हुआ है।
Bunkai.Satori

3
Id जोरदार GLM की सलाह देते हैं। मैं इसे और इसके "कमाल"
brainydexter

+1, मुझे CML बहुत पसंद है और इसने उत्तर =) के रूप में पोस्ट किया होगा। हालांकि, यह कंपाइलर के अनुकूलन पर बहुत कुछ निर्भर करता है, क्योंकि यह सामान्य और टेम्पलेट आधारित है। यदि आप मोबाइल डिवाइस को लक्षित कर रहे हैं (संभवतः जैसा कि आपने ईएस उद्धृत किया है), कुछ अन्य गणित पुस्तकालय लक्ष्य के लिए बेहतर अनुकूलित हो सकते हैं।
जरी कोमप्पा

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

@ जरी - जब ओपन लाइब्रेरी ईएस प्लेटफॉर्म के लिए मैथ लाइब्रेरी ऑप्टिमाइज़ेशन पर चर्चा की जाती है, तो क्या शामिल है? मेरा मतलब है, अगर सूत्र और डेटा प्रकार ठीक से डिज़ाइन किए गए हैं तो ईएस प्लेटफॉर्म के लिए लाइब्रेरी को अनुकूलित करने के लिए और क्या किया जा सकता है? (यह प्राथमिक प्रश्न हो सकता है, लेकिन मेरे पास इसके लिए कोई उत्तर नहीं है।)
बंकई

8

Eigen एक C ++ हैडर है जो केवल गणित पुस्तकालय है जो SSE, AltiVec और ARM नियोन वेक्टराइजेशन को सपोर्ट करता है।


महान टिप के लिए +1। हाय साइमन, आपकी महान टिप के लिए धन्यवाद। मैंने GLM (ओपनजीएल मैथ लाइब्रेरी) का उपयोग करना शुरू किया, और यह बहुत अद्भुत है। इसमें वेक्टर, मैट्रिक्स, क्वाटरनियन मैथ, एसएलईआरपी इंटरपोटेशन आदि सभी चीजें शामिल हैं ... अब तक, यह वास्तव में मेरी जरूरत से ज्यादा ऑफर करता है, इसलिए मैं अभी इसके लिए खुश हूं।
बंकई। कटोरी

6

अच्छी युक्तियों के लिए +1। हाय माईक, आपकी टिप्पणियों के लिए धन्यवाद। मेरी राय में, दूसरा तब विशेष रूप से उपयोगी हो सकता है जब खेल बुलेट भौतिकी को एकीकृत करता है। मेरा गेम बुलेट फिजिक्स का उपयोग करने जा रहा है, लेकिन दुर्भाग्यपूर्ण है, मैंने जीएलएम का उपयोग करना शुरू कर दिया है, इसलिए मैं जीएलएम से चिपके रहने की कोशिश करूंगा।
बंकई.सटोरि

4

मैंने इस परीक्षण में Apple के GLKMath को जोड़ने पर काम किया (वास्तव में इस कांटे को कांटा )

यहाँ मेरी 4 जनरेशन iPod टच पर परिणाम है :

Eigen:
Additions: 77624 milliseconds.
Multiplications: 227179 milliseconds.

GLM:
Additions: 23935 milliseconds.
Multiplications: 80599 milliseconds.

CML:
Additions: 102390 milliseconds.
Multiplications: 161059 milliseconds.

GLKMath:
Additions: 8526 milliseconds.
Multiplications: 21775 milliseconds.

यहाँ मेरा कोड है

मेरे पास Android डिवाइस नहीं है, लेकिन मैं उत्सुक हूं कि GLKMath Android पर कैसा प्रदर्शन करेगा।


3

यह एक पुराना प्रश्न है, लेकिन मुझे एक बहुत हालिया लेख आया, जो इस मुद्दे को केवल विचार प्रदर्शन, प्रलेखन, आसानी से उपयोग करने, आदि को ध्यान में रखकर संबोधित करता है ...

http://www.mfoot.com/blog/2012/01/23/choosing-a-maths-library-for-cross-platform-c-game-development/

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