यदि आप पूरी तरह से 3 डी प्रोग्रामिंग के लिए नए हैं, और विशेष रूप से यदि आप COM और विंडोज प्रोग्रामिंग के लिए नए हैं, तो मैं अब डायरेक्टएक्स सीखने के खिलाफ दृढ़ता से सलाह दूंगा। मेरे अनुभव में, डायरेक्टएक्स एक अत्यंत शक्तिशाली उपकरण है, लेकिन इसमें बहुत ही कठिन सीखने की अवस्था है, जिसे आपको विंडोज प्रोग्रामिंग, 3 डी प्रोग्रामिंग और कई अन्य लोगों के सीखने की अवस्थाओं के अलावा विचार करना चाहिए। यदि आप डायरेक्टएक्स से शुरू करते हैं, तो आप बॉयलरप्लेट कोड बनाने के सभी विवरणों से अभिभूत महसूस कर सकते हैं, इसलिए मैं इसके खिलाफ सलाह देता हूं।
इसके बजाय, मैं एक सरल एपीआई की सिफारिश करूंगा जो आपको 3 डी प्रोग्रामिंग के बारे में सीखने पर अधिक ध्यान केंद्रित करने की अनुमति देता है। XNA काफी अच्छा है, और चूंकि यह DirectX के शीर्ष पर स्थित है, एक बार जब आप DirectX पर जाते हैं, तो आपके पास कुछ विचार होंगे जो डायरेक्टएक्स सीखने की अवस्था को बहुत आसान बना देंगे।
अब, यदि आपके पास 3D प्रोग्रामिंग में अनुभव है, जैसे कि OpenGL के साथ, और आप जानते हैं कि COM प्रोग्रामिंग कैसे की जाती है, तो मैं DirectX 11 की सिफारिश करूंगा। कुछ भी लेकिन नवीनतम संस्करण अप्रचलित है, और इससे मिलने वाला कोई भी अनुभव आपके लिए उपयोगी होगा समय की एक छोटी अवधि।
लेकिन तब फिर से, सच्चा अनुभव विविधता से आता है, इसलिए मैं आपको डायरेक्टएक्स और ओपनजीएल, और एक्सएनए दोनों को सीखने की सलाह दूंगा, यदि आप चाहें, और जितने चाहें उतने एपीआई भी। इस तरह, आपके पास एक सार ज्ञान होगा कि 3 डी प्रोग्रामिंग विभिन्न उपकरणों के साथ कैसे काम करता है, और आप प्रत्येक कार्य के लिए सही उपकरण का उपयोग करने में सक्षम होंगे।