क्या विंडोज 8 अभी भी डायरेक्ट 9 का समर्थन करता है?


9

क्या विंडोज 8 डायरेक्टएक्स 9 को सपोर्ट कर रहा है? क्योंकि मैं विंडोज 8 के लिए C ++ और DirectX 9 में लिखे गए कुछ नमूनों को देख रहा था। यह ऐसा नहीं था, जैसे कि मुझे पता है (यहाँ देखें http://directxtutorial.com/Lesson.aspx?lessonid=111-4-2 )। COM के साथ उदाहरण InXialising DirectX:

ComPtr<ID3D11Device1> dev;
ComPtr<ID3D11DeviceContext1> devcon;

यह सिर्फ अजीब है क्योंकि मैं इसे पुराने तरीके से जानता हूं:

ID3D11Device *dev;                  
ID3D11DeviceContext *devcon;  

(मुझे आशा है कि आप समझ गए होंगे कि मैं क्या बताना चाहता हूं)

मुझे उम्मीद है कि जारी किए गए नए ओएस के कारण यह पूरी तरह से नहीं बदला है।


1
मुझे यह कल्पना करना बहुत मुश्किल होगा कि विंडोज़ प्लेटफ़ॉर्म पर 90% + सभी खेलों के लिए Microsoft अचानक समर्थन छोड़ देगा। मुझे यह विश्वास करना और भी कठिन है कि लोग अब तक इस तरह के कदम से नाराज नहीं होंगे।
जरी कोमप्पा

उस ने कहा, यह संभव है कि नवीनतम SDK में dx9 हेडर / लाइब्रेरी शामिल न हों; मैंने जाँच नहीं की है। इसका मतलब यह नहीं है कि आप पहले की तरह dx9 sdk का उपयोग नहीं कर सकते। जब तक, निश्चित रूप से, नवीनतम दृश्य स्टूडियो किसी भी तरह आपको ऐसा करने से मना करता है, लेकिन यह मूर्खतापूर्ण होगा।
जरी कोमप्पा

ठीक है, मैं इस पर भी विश्वास नहीं कर सकता, लेकिन मुझे लगता है कि "विंडोज 8" प्राप्त करने के लिए यह संभव है-क्योंकि पीसी में सबसे ज्यादा टचस्क्रीन है और क्या आपने कभी डायरेक्टएक्स में लिखा एक गेम देखा है जो टचस्क्रीन के साथ गेमिंग का समर्थन करता है?
लावोलपे नोव

मुझे पूरा यकीन है कि आप dx9 के साथ "आधुनिक यूआई" ऐप नहीं बना पाएंगे।
जरी कोमप्पा

1
डी 3 डी ऑब्जेक्ट हमेशा COM ऑब्जेक्ट रहे हैं - कच्चे पॉइंटर्स का उपयोग नहीं करना, बल्कि उन्हें एक स्मार्ट COM पॉइंटर में डालना हमेशा संभव रहा है।

जवाबों:


12

हां , विंडोज 8 डायरेक्टएक्स 9 का समर्थन करता है।

विकास के लिए, पुराने डायरेक्टएक्स एसडीके को अब हटा दिया गया है , लेकिन आपके पास नए विंडोज 8 एसडीके के भीतर आवश्यक सभी पुस्तकालय और हेडर होंगे, जो विजुअल स्टूडियो 2012 के साथ आते हैं। आप बिना किसी समस्या के "पुराने तरीके" के लिए जा सकते हैं। । आप कुछ डीबगिंग, या उच्च स्तर D3DX पुस्तकालय के लिए PIX की जरूरत है, तो आप, के रूप में यह है वर्ष DXSDK फिर से स्थापित करना होगा नहीं Windows 8 SDK में।

हालाँकि यह केवल सादे पुराने डेस्कटॉप ऐप के लिए मान्य है। मेट्रो-शैली एप्लिकेशन के लिए, मैं माइक्रोसॉफ्ट से चक वालबर्बन को बोलने दूंगा :

Direct3D9 और Direct3D9Ex मेट्रो शैली के अनुप्रयोगों के लिए समर्थित नहीं हैं। मेट्रो शैली के अनुप्रयोगों के साथ डायरेक्टएक्स एसडीके का उपयोग अनुशंसित या समर्थित नहीं है। Http://msdn.microsoft.com/en-us/library/ee663275.aspx देखें ।

Direct3D 9 कोड 3 को Direct3D 11 में पोर्ट करने में आपकी सहायता करने के लिए कई संसाधन उपलब्ध हैं। Direct3D 9 से Direct3D 10.x पर पोर्ट करने के लिए अधिकांश सामग्री पूरी तरह से यहां लागू होती है क्योंकि Direct3D 11 का API Direct3D 10 के बहुत निकट है।

Http://blogs.msdn.com/b/chuckw/archive/2011/07/11/getting-started-with-direct3d-11.aspx देखें । विंडोज की वास्तविकता की समीक्षा करना सुनिश्चित करें: अपनी गेम्स प्रस्तुति में डायरेक्ट 3 डी 10 ग्राफिक्स का सबसे अधिक उपयोग करना क्योंकि यह कई नुकसान और प्रदर्शन मुद्दों को कवर करता है जिसे डेवलपर्स ने अतीत में मारा है, और डायरेक्ट 3 डी 30 के बीच अंतरों के सारांश के लिए डायरेक्टएक्स 11 टेक्नोलॉजी अपडेट। .x और Direct3D 11।

MSDN के पास पोर्टिंग गाइड के साथ-साथ http://msdn.microsoft.com/en-us/library/ff476190.aspx है जो आपको http://msdn.microsoft.com/en-us/library/bb205073.aspx के लिए इंगित करता है। Direct3D 9 से Direct3D 11 तक सीधे जा रहा है।

क्षमा करें, आप मेट्रो-शैली ऐप्स के लिए सीधे डी 3 डी 9 का उपयोग नहीं कर सकते। लेकिन D3D_FEATURE_LEVEL_9_3अगर आप विरासत हार्डवेयर का समर्थन करना चाहते हैं तो आप डी 3 डी 11 का उपयोग कर सकते हैं और अपने आप को कुछ फीचर लेवल (जैसे ) तक सीमित कर सकते हैं ।


वाह, आपके उत्तर के लिए धन्यवाद। जैसा कि मैंने देखा कि आपने एक महान शोध किया
लाविलेप

ठीक है, वास्तव में नहीं, मैं अभी इस पर काम कर रहा हूं;)
लॉरेंट कौविदौ

1
AFAIK win8 SDK जो वीएस 2012 के साथ आता है, अब किसी भी डी 3 डी 11 एक्स * हेडर - केवल डी 3 डी 11 * को शिप नहीं करता है। यह आपको कई उपयोगिता कार्यों के बिना छोड़ देता है, जैसे किसी फ़ाइल से शेड्स को लोड करना और उन्हें एक फ़ंक्शन कॉल में संकलित करना।

वास्तव में। Microsoft इस बारे में क्या कहता है: "इस बात से अवगत रहें कि D3DX11 के वर्तमान उपयोग के लिए प्रतिस्थापन तकनीकों में DirectXTex और DirectXTK शामिल हैं। D3DXMath को DirectXMath द्वारा बदल दिया गया है।" अभी तक परीक्षण नहीं किया गया है।
लॉरेंट कौविदो

3

विंडोज 8 में डायरेक्ट 3 डी 9 अनुप्रयोगों के लिए एक ही मूल समर्थन है जैसा कि विंडोज 7 और विंडोज विस्टा में मौजूद था। डायरेक्ट 3 डी 9 विरासत है और निश्चित रूप से कुछ कॉम्पिटिटिव मुद्दे हैं जो डायरेक्ट 3 डी 9 आधारित गेम को संभावित रूप से प्रभावित कर सकते हैं, लेकिन वे कम या ज्यादा कार्य करते हैं और साथ ही साथ विंडोज 7 पर भी काम करते हैं।

विंडोज 8 पर डायरेक्ट 3 डी 9 के साथ विकास विंडोज 7 पर थोड़ा अधिक चुनौतीपूर्ण था। मानक डायरेक्ट 3 डी 9 हेडर विंडोज 8.0 एसडीके (वीएस 2012 के साथ शामिल) का हिस्सा हैं, लेकिन इसमें डी 3 डीएक्स 9 शामिल नहीं है। Direct3D 9 डिबग रनटाइम विंडोज 8 पर समर्थित नहीं है। आप विंडोज 8 पर लीगेसी डायरेक्टएक्स एसडीके का उपयोग कर सकते हैं, लेकिन इसे स्थापित करने और सीमाएं प्राप्त करने में कई चुनौतियां हैं।

विंडोज 7 और विंडोज 8 पर नए एप्लिकेशन लिखने के लिए उपयोग किए जाने वाले अनुशंसित एपीआई डायरेक्ट 3 डी 11 है। यह Win32 डेस्कटॉप एप्लिकेशन और विंडोज स्टोर एप्लिकेशन दोनों के लिए काम करता है। इसके अलावा, यह अनुशंसा की जाती है कि आप विंडोज 8.x एसडीके का उपयोग करें और डायरेक्टएक्स एसडीके का उपयोग न करें।

इस विषय पर बहुत सारे पदों के लिए विंडोज और डायरेक्टएक्स एसडीके के लिए गेम्स देखें ।


ध्यान दें कि आप Windows XP सर्विस पैक 1 की तुलना में Windows के किसी भी संस्करण पर "DirectX" इंस्टॉल नहीं करते हैं। "DirectX End-User रनटाइम" पैकेज Windows XP SP2, Windows Vista, Windows 7 और Windows 8.x पर स्थापित होगा लेकिन यह कभी भी "डायरेक्टएक्स" स्थापित नहीं करता है। यह सिर्फ कुछ सहायक डीएलएल को दर्शाती है जो अब लीगेसी डायरेक्टएक्स एसडीके से वैकल्पिक बिट्स हैं: एक्सआईएनयूटीपी 1.3, एक्सएडियो 2.7, डी 3 डीएक्स, आदि डायरेक्ट 3 डी, डायरेक्टइनप्यूट, डायरेक्टसाउंड, आदि केवल आधिकारिक सर्विस पैक या विंडोज अपडेट रिलीज के भाग के रूप में अपडेट किए गए हैं। लिंक
चक वाल्बर्न

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