2014-06-26 8 views
5

से बचें मैंने पहले ओपनजीएल किया है और अब मैं कुछ DirectX11 सीख रहा हूं। नई गणित पुस्तकालय में चीजों में से एक वैक्टर और मैट्रिस के लिए लोड/स्टोर विधियों की उपस्थिति है (उदाहरण के लिए http://msdn.microsoft.com/en-us/library/ee415635(v=vs.85).aspx)। मेरे लिए यह मुझे प्रत्येक वेक्टर और मैट्रिक्स को स्टोर/लोड करने के लिए बहुत परेशान करता है जब मैं उनका उपयोग करना चाहता हूं - भारी कोड का बहुत - और मैं सोच रहा था कि लोड/स्टोर प्रक्रियाओं के लिए कोई अच्छा, साफ विकल्प है या नहीं?डायरेक्टएक्समैथ एक्सएमएसटोर/लोड

+0

आप DirectX साथ DirectXMath का उपयोग करने के लिए बाध्य नहीं कर रहे हैं की जरूरत का आनंद लें बनाना चाहते हैं, और न ही यह एक सर्वश्रेष्ठ गणित पुस्तकालय है। बस ओपनजीएल के साथ इस्तेमाल किया गया या दूसरा चुनें। वहां बहुत सारे हैं। यदि आपको कभी भी गेमडेव या सिमुलेशन से रूचि होगी, तो आपको किसी भी भौतिकी लाइब्रेरी को अपने स्वयं के गणित सबसेट के साथ आवश्यकता होगी। – Drop

उत्तर

6

यदि आप मदद करते हैं तो आप simplemath देख सकते हैं। यह अब DirectXTK का हिस्सा है।

DirectXMath क्यों लपेट:

जुड़ा हुआ साइट से

?
DirectXMath अत्यधिक अनुकूलित वेक्टर और मैट्रिक्स गणित काम करता है, जो SSE SIMD intrinsics का लाभ लेने के लिए जब 86/64, या एआरएम नियोन अनुदेश सेट जब ऐसे Windows RT या Windows Phone एक हाथ मंच के लिए संकलित के लिए संकलित प्रदान करता है। कुशल सिम उपयोग के लिए डिज़ाइन किए जाने के नकारात्मक पक्ष यह है कि डायरेक्टएक्समैथ कुछ हद तक जटिल हो सकता है। डेवलपर्स को सही प्रकार के उपयोग से अवगत होना चाहिए ( सिम रजिस्टर प्रकार जैसे एक्सएमवेक्टर बनाम मेमोरी स्टोरेज प्रकार जैसे एक्सएमएफएलएटी 4) के बीच अंतर को समझना, सिम ढेर आवंटन के लिए सही संरेखण को बनाए रखने के लिए सावधानी बरतनी चाहिए, और सावधानी से उनकी संरचना से बचने के लिए कोड सिम रजिस्टर से अलग-अलग घटकों तक पहुंचने के लिए। इष्टतम सिम प्रदर्शन के लिए यह जटिलता आवश्यक है, लेकिन कभी-कभी आप बिना किसी परेशानी के काम करने के लिए चाहते हैं!

आप SimpleMath का उपयोग करना चाहिए अगर आप कर रहे हैं:

  • सी # XNA प्रकार
  • सी ++
  • सी # से मौजूदा XNA कोड Porting के लिए अनुकूलन करने के लिए चाहते हैं के लिए इसी तरह एपीआई के साथ एक सी ++ गणित पुस्तकालय के लिए खोज रहे क्रम दक्षता की कीमत पर प्रोग्रामर दक्षता (सादगी, पठनीयता, विकास की गति)

आप अंतर्निहित डी के लिए सीधे जाना चाहिए irectXMath एपीआई यदि आप:

  • सबसे तेजी से संभव कोड
  • पार्श्विक सोच कच्चे SIMD में एल्गोरिदम व्यक्त करने के लिए
+1

डायरेक्टएक्समैथ लाइब्रेरी लोड/स्टोर होने पर हाइलाइट करके आपकी मदद करने की कोशिश कर रही है। यह अंतर्निहित अंतर्निहित की सिमड प्रकृति पर एक पतली आवरण के रूप में है, लेकिन थोड़ा और अधिक पोर्टेबल पोर्टेबल है। यदि आपको वह थकाऊ लगता है, तो "सरलमाथ' वास्तव में एक उचित विकल्प है। –