Microsoft ने D3D9On12 परत का स्रोत कोड जारी किया जिसका उपयोग Direct3D 9 कमांड को Direct3D 12 में अनुवाद करने के लिए किया जाता है।

माइक्रोसॉफ्ट की ओर से अच्छी खबर आई है और यह हाल ही में है रिहा एक ब्लॉग पोस्ट के माध्यम से D3D9On12 परत का स्रोत कोड खोलना DDI (डिवाइस ड्राइवर इंटरफ़ेस) डिवाइस के कार्यान्वयन के साथ, जो Direct3D 9 (D3D9) कमांड को Direct3D 12 (D3D12) कमांड में ट्रांसलेट करता है।

Microsoft के इस कदम से अब डेवलपर्स के लिए अपने गेम के लिए DirectX11 से DirectX12 में संक्रमण करना पहले से कहीं अधिक आसान हो जाएगा। DX12 अनुवाद परत अनिवार्य रूप से DX11-शैली डोमेन से DX12-शैली डोमेन में ग्राफिकल अवधारणाओं और आदेशों का अनुवाद करने के लिए एक सहायक पुस्तकालय है।

हमें पिछली बार D3D9On12 मैपिंग लेयर का उल्लेख किए हुए कुछ समय हो गया है। एक त्वरित अद्यतन के रूप में, यह D3D9 कमांड को D3D12 में मैप करता है जो D3D9 डिवाइस ड्राइवर इंटरफ़ेस (DDI) के रूप में कार्य करता है। इस मैपिंग लेयर के होने से पुराने D3D9 एप्लिकेशन आधुनिक सिस्टम पर चल सकते हैं जिनमें D3D9 ड्राइवर नहीं हो सकता है। पिछले ब्लॉग पोस्ट के बाद से, हमने अल्फा टू कवरेज एक्सटेंशन के लिए समर्थन जोड़ा, कुछ बग्स को ठीक किया, और ओपन सोर्स के लिए कोड बेस को साफ किया.

यह निस्संदेह अच्छी खबर है और वह है परत के साथ काम करने वाली विभिन्न परियोजनाएं अब लाभान्वित हो सकती हैं, चूंकि यह लीगेसी अनुप्रयोगों को ऐसे वातावरण में काम करने की अनुमति देता है जो केवल D3D12 का समर्थन करते हैं, अर्थात उदाहरण के लिए, यह परियोजनाओं के आधार पर D3D9 को लागू करने के लिए उपयोगी हो सकता है vkd3d और VKD3D-प्रोटॉनक्योंकि ये Linux के लिए Direct3D 12 कार्यान्वयन प्रदान करते हैं जो D3D12 कॉल को Vulkan ग्राफ़िक्स API में अनुवाद करके काम करता है।

D3D9On12 एक परत है जो D3D9 से D3D12 तक ग्राफिकल कमांड को मैप करती है। D3D9On12 D3D9 API का कार्यान्वयन नहीं है, बल्कि D3D9 DDI (डिवाइस ड्राइवर इंटरफ़ेस) उपयोगकर्ता मोड का कार्यान्वयन है। इसका मतलब है कि यह d3d9.dll नामक बाइनरी नहीं है, बल्कि इसे d3d9on12.dll कहा जाता है।

जब कोई एप्लिकेशन D3D9 डिवाइस बनाता है, तो वे मूल D3D9 डिवाइस के बजाय D12D3On9 डिवाइस बनना चुन सकते हैं। जब ऐसा होता है, d3d9on12.dll को D3D9 रनटाइम द्वारा लोड किया जाता है और इनिशियलाइज़ किया जाता है। जब एप्लिकेशन रेंडर कमांड को कॉल करता है, तो D3D9 उन कमांड को मान्य करेगा और फिर उन कमांड को DDI D3D9 में बदल देगा और किसी भी D3D9 ड्राइवर की तरह D12D3On9 को भेज देगा।

D3D9On12 इन आदेशों को लेगा और उन्हें D3D12 API कॉल में परिवर्तित करेगा, जो D3D12 रनटाइम द्वारा आगे मान्य हैं, वैकल्पिक रूप से D3D12 डिबग परत सहित, जिन्हें तब DDI D3D12 में परिवर्तित किया जाता है और D3D12 ड्राइवर को भेजा जाता है।

यह भी उल्लेख है कि परियोजना विंडोज 10 में शामिल एक समान सबसिस्टम के कोड पर आधारित है। यह ध्यान दिया जाना चाहिए कि D3D9On12 कोड का प्रकाशन एक अवसर प्रदान करेगा ताकि समुदाय के प्रतिनिधि बग फिक्स में भाग लेना और अनुकूलन जोड़ना, और यह D3D9 DDI ड्राइवरों के कार्यान्वयन और D3D12 में विभिन्न ग्राफिक्स एपीआई के अनुवाद के लिए ऐसी परतें बनाने के लिए एक रूपरेखा का अध्ययन करने के लिए एक उदाहरण के रूप में भी काम कर सकता है।

क्यों खुला स्रोत?
D3D9On12 कुछ वर्षों से विंडोज 10 का हिस्सा रहा है, और उस समय के दौरान यह स्थिरता और उपयोगिता में बढ़ गया है। इसे खुला स्रोत बनाएं:

समुदाय को अतिरिक्त बग समाधान या प्रदर्शन सुधार में योगदान करने दें।
D3D12TranslationLayer का उपयोग कैसे करें, इसका एक अन्य उदाहरण के रूप में कार्य करें
D3D9 DDI कार्यान्वयन कैसा दिखता है, इस पर एक नज़र डालने में रुचि रखने वालों को दें

उसी समय, एक DXBC हस्ताक्षरकर्ता पैकेज जारी किया गया है जो DXBC फ़ाइलों पर हस्ताक्षर करने की क्षमता को सक्षम बनाता है तृतीय-पक्ष टूलकिट द्वारा उत्पन्न मनमाना। D3D9On12 इस पैकेज का उपयोग शेडर्स को एक नए मॉडल में परिवर्तित करके उत्पन्न DXBCs पर हस्ताक्षर करने के लिए करता है।

अंत में यदि आप इसके बारे में अधिक जानने में रुचि रखते हैं, आप Microsoft द्वारा अपने ब्लॉग पर किए गए प्रकाशन का विवरण देख सकते हैं निम्नलिखित लिंक में


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: मिगुएल elngel Gatón
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।