AMD Radeon Cauldron 1.0 को SDK प्रोग्रामिंग समुदाय के लिए बढ़ाता है जो सरलीकृत C ++ का उपयोग करता है

हार्डवेयर / AMD Radeon Cauldron 1.0 को SDK प्रोग्रामिंग समुदाय के लिए बढ़ाता है जो सरलीकृत C ++ का उपयोग करता है 4 मिनट पढ़ा

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



एएमडी अपने सबसे लोकप्रिय में से एक की पेशकश कर रहा है सॉफ्टवेयर विकास रूपरेखा जनता को। Radeon Cauldron SDK की पहली व्यापक और स्थिर रिलीज़ अब प्रोग्रामर्स के लिए उपलब्ध है। Radeon Cauldron मूल रूप से तेजी से प्रोटोटाइप के लिए एक फ्रेमवर्क लाइब्रेरी है। इसका उपयोग AMD SDK के नमूनों और प्रभावों में किया जाता है। SDK मूल रूप से Vulkan या Direct3D 12 API के साथ काम करता है। एएमडी ने पूरे ढांचे को बनाया है GitHub पर डाउनलोड के लिए उपलब्ध है ओपन-सोर्स सॉफ़्टवेयर के लिए सबसे लोकप्रिय रिपॉजिटरी जिसे हाल ही में Microsoft द्वारा अधिग्रहित किया गया था। दिलचस्प है, एएमडी भी है एक GltfSample अपलोड किया । अजीब तरह से नामित ऐप को काल्ड्रॉन फ्रेमवर्क का उपयोग करके डिजाइन, विकसित और बनाया गया है। संयोग से, Radeon Cauldron SDK के सभी प्रासंगिक संसाधन GitHub पर भी उपलब्ध हैं।

Radeon Cauldron SDK क्या है और यह सॉफ़्टवेयर, ऐप या गेम डेवलपमेंट को कैसे प्रभावित करेगा?

Radeon Cauldron मूल रूप से रैपिड प्रोटोटाइप के लिए एक संपूर्ण ढांचा या पूर्ण सॉफ्टवेयर डेवलपमेंट किट है। यह मुख्य रूप से एएमडी एसडीके नमूनों और प्रभावों में उपयोग किया जाएगा। जैसा कि ऊपर बताया गया है, यह वल्कन के साथ बेहतर तरीके से काम कर सकता है, जो एक पसंदीदा कम-ओवरहेड, क्रॉस-प्लेटफॉर्म 3 डी ग्राफिक्स और कंप्यूटिंग एपीआई है। इसके अलावा, एसडीके डायरेक्ट 3 डी के नवीनतम संस्करण के साथ भी काम करता है, जो डायरेक्ट 3 डी 12 है।



Radeon Cauldron SDK को पहले AMD में आंतरिक रूप से रिलीज़ किया गया था। यद्यपि अपेक्षित था, प्रारंभिक रिलीज को एएमडी की आंतरिक सॉफ्टवेयर विकास टीमों द्वारा असाधारण रूप से स्वीकार और अपनाया गया था। पहले पायलट प्रोजेक्ट के बाद, एएमडी ने पुष्टि की कि कंपनी के भीतर अन्य स्पर्शरेखा समूहों ने भी रुचि दिखानी शुरू कर दी है। आखिरकार, एसडीके उन टीमों के लिए पसंदीदा रूपरेखा बन गई जो उपकरण, ड्राइवर और यहां तक ​​कि सॉफ्टवेयर और सुविधाओं के प्रदर्शनों को संभालती थीं।



AMD MIT ओपन सोर्स लाइसेंस के तहत GPUOpen पर Radeon Cauldron 1.0 प्रदान कर रहा है। कंपनी ने बार-बार कोड को समझने में आसानी और उसी का विस्तार करने में आसानी पर जोर दिया है। दूसरे शब्दों में, भले ही अनुभवी प्रोग्रामर अनुपलब्ध हों, नए उपयोगकर्ता जल्दी से कई घटकों और उनके व्यक्तिगत कार्यों के साथ-साथ निर्भरताओं को भी समझ सकते हैं। यह जटिल विकास की प्रक्रिया को बहुत सरल करना चाहिए और यह सुनिश्चित करता है कि सभी उपयोगकर्ता समान उपयोग करते समय आत्मविश्वास और आरामदायक हों। इसके अलावा, प्रोग्रामर जल्दी और कुशलता से पिछले काम में बाधा डालने या प्रक्रिया में कुछ तोड़ने की चिंता किए बिना कोड का विस्तार कर सकते हैं।



फ्रेमवर्क आश्चर्यजनक रूप से लचीला और बहुमुखी है, एएमडी को आश्वस्त करता है। दावे मुख्य रूप से सही प्रतीत होते हैं क्योंकि SDK वेनिला C ++ का उपयोग करता है। एएमडी ने, वन फीचर, वन क्लास, वन फाइल ’दर्शन का पालन करने के लिए स्पष्ट उद्देश्य के साथ विकसित किया है। यह उल्लेख करने की आवश्यकता नहीं है कि प्रोग्रामर को जटिल और एकाधिक फ़ाइलों को नेविगेट करने की आवश्यकता नहीं है, जबकि यह समझने का प्रयास किया जाता है कि एप्लिकेशन या वेब प्लेटफ़ॉर्म कैसे काम करता है। AMD ने यह सुनिश्चित किया है कि Radeon Cauldron SDK कक्षाओं के सबसे सरल रूप से चिपकेगा। दूसरे शब्दों में, जहाँ भी संभव हो, अधिकांश वर्ग निम्नलिखित विधियों को लागू करेंगे:

वर्ग MyTechnique

{



बूल ऑनक्रिट (…); // पाइपलाइनों, स्थिर ज्यामिति, और अन्य एक बार के आरंभीकरण बनाता है

शून्य OnDestroy (…);

शून्य OnDraw (…) // तकनीक बनाने के लिए बनाए गए संसाधनों का उपयोग करें

}

Radeon Cauldron SDK दो तकनीकों को अनुमति देता है जो glTF 2.0 मॉडल को प्रस्तुत करने के लिए आवश्यक हैं। जहां एक को पीबीआर (फिजिकली बेस्ड रेंडरिंग) पास की जरूरत होती है, वहीं दूसरा डेथ-ओनली पास के लिए होता है। विस्तार के रूप में, GltfPbrPass और GltfDepthPass नामक दो वर्ग हैं। एक glTF मॉडल का डेटा तीन फ़ाइलों में विभाजित है:

  1. GltfCommon, एक एपीआई-अज्ञेय वर्ग जो लोड करता है और त्वचा के वर्ग MyTechnique {बूल OnCreate (…) सहित दृश्य के परिवर्तन और एनीमेशन का ध्यान रखता है; // पाइपलाइनों, स्थिर ज्यामिति, और अन्य एकमुश्त आरंभीकरणों को ऑनडेस्टेस्ट्रो (…) बनाता है; शून्य OnDraw (…) // तकनीक बनाने के लिए बनाए गए संसाधनों का उपयोग करें} g।
  2. GltfTexturesAndBuffers, एक वर्ग जो सभी बनावटों, स्किनिंग मेट्रिक्स और ज्योमेट्री बफ़र्स को लोड और होल्ड करता है।
  3. GltfPbrPass और GltfDepthPass, दो कक्षाएं जो उल्लिखित तकनीकों के साथ दृश्य को प्रस्तुत करने के लिए उपरोक्त कक्षाओं का उपयोग करती हैं।

Radeon Cauldron ढांचे में ग्राफिक्स-अज्ञेय और ग्राफिक्स-निर्भर कोड दोनों हैं। इसलिए रूपरेखा को तीन विजुअल स्टूडियो परियोजनाओं में विभाजित किया जा सकता है:

  1. Framework_DX12: नाम से स्पष्ट है, यह भाग DirectX12 से संबंधित है। दूसरे शब्दों में, इसमें सभी Direct3D 12 कोड शामिल हैं।
  2. फ्रेमवर्क_ वीके: इस भाग में सभी प्रासंगिक वल्कन कोड शामिल हैं।

संयोग से, एक तीसरा घटक भी है, जो ऊपर वर्णित दोनों प्रकार के विज़ुअल स्टूडियो प्रोजेक्ट्स के लिए सामान्य है। इस भाग को 'फ्रेमवर्क_कोमॉन' कहा जाता है। सामान्य घटक में निम्नलिखित पहलू शामिल हैं:

GLTF संरचनाओं

  • परिवर्तन और एनीमेशन कोड
  • चित्र लोड हो रहे हैं
  • खिड़की से निपटने
  • कैमरा

Radeon Cauldron फ्रेमवर्क बौर, ब्लर, डाउनसमलिंग और टोन-मैपिंग जैसी प्रसंस्करण तकनीकों का समर्थन करता है। एसडीके दो नए उप-सदस्यों का परिचय देता है। ये अस्थायी रेंडर लक्ष्यों के निर्माण में उपयोगी हैं:

बूल OnCreateWindowSizeDependentResources (…) // प्रभाव के लिए आवश्यक अस्थायी रेंडर लक्ष्य बनाता है

शून्य OnDestroyWindowSizeDependentResources (…)

दिलचस्प है, आंतरिक रूप से परीक्षण किया गया AMD Radeon Cauldron 1.0 SDK प्रोग्रामर को निचले स्तर पर भी चीजों को लागू करने की अनुमति देता है। हैरानी की बात है कि इन स्तरों पर भी, वे चीजों को सुचारू रूप से चलाने के लिए कई मेमोरी प्रबंधकों का उपयोग कर सकते हैं। कुछ स्मृति प्रबंधक जो अभी भी निचले स्तर पर काम करते हैं, वे इस प्रकार हैं:

  • StaticBufferPool: यह घटक स्थैतिक डेटा रखता है। इसके अलावा, इसमें उप-आवंटन भी शामिल है।
  • डायनामिकबफ़रिंग: यह एक गोलाकार बफर सिस्टम है। प्रोग्रामर लगातार बफ़र्स के लिए इस पर भरोसा कर सकते हैं।
  • बनावट: बनावट को लोड करने और रेंडर टारगेट बनाने की अनुमति देता है। दिलचस्प बात यह है कि बनावट प्रणाली रेंडर टारगेट के लिए विचारों के निर्माण की भी अनुमति देती है।
  • ShaderCompilerHelper: यह एक शक्तिशाली उपकरण है जो स्रोत कोड को संकलित करने में सहायता करता है। ShaderCompilerHelper भी बायनेरिज़ को कैश करता है। उल्लेख करने की आवश्यकता नहीं है, यह लोडिंग समय को काफी कम करता है।
  • अपलोडहाइप: यह टूल प्रोग्रामरों को डेटा अपलोड करने के लिए एक सिस्टम मेमोरी पूल से उप-आवंटित करने की अनुमति देता है, जिसमें अनिवार्य रूप से बनावट के साथ-साथ वीडियो मेमोरी बफर के बफर भी शामिल हैं।

चूंकि यह एक ओपन-सोर्स एसडीके है, एएमडी बाहर के अपनाने वालों से आग्रह कर रहा है कि वे उसी का परीक्षण करें और अपनी प्रतिक्रिया दें। यह काफी संभावना है कि AMD उसी का विश्लेषण करेगा और Radeon Cauldron SDK को बेहतर बनाने के लिए कुछ सुझावों को लागू करेगा।

टैग एएमडी एएमडी नवी Radeon