AMD توسع Radeon Cauldron 1.0 SDK إلى مجتمع البرمجة الذي يستخدم C ++ المبسطة

المعدات / AMD توسع Radeon Cauldron 1.0 SDK إلى مجتمع البرمجة الذي يستخدم C ++ المبسطة 4 دقائق للقراءة

بعد اختبارات داخلية مكثفة واعتماد سريع بشكل مدهش داخلها ، تقدم AMD الآن Radeon Cauldron 1.0 Software Development Kit (SDK) لمجتمع البرمجة. تؤكد الشركة أن إطار العمل ليس مبسطًا للغاية فحسب ، بل إنه أيضًا متعدد الاستخدامات بشكل ملحوظ. بعبارة أخرى ، يمكن بسهولة فهم Radeon Cauldron SDK للمبتدئين. علاوة على ذلك ، فإن إطار العمل مرن إلى حد كبير للمبرمجين الذين يتطلعون إلى توسيعه بميزات جديدة.



تقدم AMD واحدة من أكثرها شهرة أطر تطوير البرمجيات للجماهير. الإصدار الأول الشامل والمستقر لـ Radeon Cauldron SDK متاح الآن للمبرمجين. Radeon Cauldron هي في الأساس مكتبة إطار عمل للنماذج الأولية السريعة. يتم استخدامه في عينات وتأثيرات AMD SDK. تعمل SDK بسلاسة مع واجهات برمجة تطبيقات Vulkan أو Direct3D 12. جعلت AMD الإطار بأكمله متاح للتنزيل على جيثب ، المستودع الأكثر شيوعًا للبرامج مفتوحة المصدر التي استحوذت عليها Microsoft مؤخرًا. ومن المثير للاهتمام أن AMD لديها أيضًا تحميل ملف GltfSample . تم تصميم التطبيق الذي يحمل اسمًا غريبًا وتطويره وبناؤه باستخدام إطار عمل Cauldron. بالمناسبة ، تتوفر جميع الموارد ذات الصلة بـ Radeon Cauldron SDK على GitHub أيضًا.

ما هو Radeon Cauldron SDK وكيف سيؤثر على تطوير البرامج أو التطبيقات أو الألعاب؟

Radeon Cauldron هو في الأساس إطار عمل كامل أو مجموعة أدوات تطوير برمجيات كاملة للنماذج الأولية السريعة. سيتم استخدامه بشكل أساسي في عينات وتأثيرات AMD SDK. كما هو مذكور أعلاه ، يمكن أن تعمل على النحو الأمثل مع Vulkan ، وهي واجهة مفضلة للرسومات ثلاثية الأبعاد منخفضة التكلفة وعبر الأنظمة الأساسية وواجهة برمجة تطبيقات للحوسبة. علاوة على ذلك ، تعمل SDK أيضًا مع أحدث إصدار من Direct3D ، وهو Direct3D 12.



تم إصدار Radeon Cauldron SDK لأول مرة داخليًا في AMD. على الرغم من أنه كان متوقعًا ، فقد تم قبول الإصدار الأولي بشكل استثنائي وتبنيه من قبل فرق تطوير البرامج الداخلية في AMD. بعد المشروع التجريبي الأول ، أكدت AMD أن المجموعات العرضية الأخرى داخل الشركة بدأت تظهر الاهتمام. في النهاية ، أصبحت SDK واحدة من الأطر المفضلة للفرق التي تعاملت مع الأدوات وبرامج التشغيل وحتى البرامج والميزات التوضيحية.



توفر AMD Radeon Cauldron 1.0 على GPUOpen بموجب ترخيص MIT مفتوح المصدر. شددت الشركة مرارًا وتكرارًا على سهولة فهم الكود وسهولة توسيعه. بعبارة أخرى ، حتى في حالة عدم توفر المبرمجين المتمرسين ، يمكن للمستخدمين الجدد فك شفرة المكونات المتعددة ووظائفها الفردية وكذلك التبعيات بسرعة. يجب أن يبسط هذا بشكل كبير عملية التطوير المعقدة ويضمن أن يكون جميع المستخدمين واثقين ومرتاحين أثناء استخدام نفس الشيء. علاوة على ذلك ، يمكن للمبرمجين توسيع الشفرة بسرعة وكفاءة دون القلق بشأن إعاقة العمل السابق أو كسر شيء ما في العملية.



إطار العمل مرن ومتعدد الاستخدامات بشكل مدهش ، وهذا ما يؤكد AMD. تبدو الادعاءات صحيحة في المقام الأول لأن SDK تستخدم الفانيليا C ++. وقد طورت AMD الأمر نفسه بهدف واضح وهو اتباع فلسفة 'ميزة واحدة ، فئة واحدة ، ملف واحد'. لا داعي لذكر هذا يعني أن المبرمجين لا يحتاجون إلى التنقل في ملفات معقدة ومتعددة بينما يحاولون ببساطة فهم كيفية عمل تطبيق أو نظام أساسي للويب. ضمنت AMD أن Radeon Cauldron SDK ستلتزم بأبسط أشكال الفئات. بمعنى آخر ، حيثما أمكن ، ستنفذ معظم الفئات الطرق التالية:

فئة MyTechnique

{



منطقي OnCreate (...) ؛ // ينشئ خطوط الأنابيب والهندسة الثابتة وعمليات التهيئة الأخرى لمرة واحدة

باطل OnDestroy (...) ؛

void OnDraw (...) // استخدم الموارد التي تم إنشاؤها لرسم التقنية

}

يسمح Radeon Cauldron SDK بتقنيتين مطلوبتين لتقديم نماذج glTF 2.0. في حين أن أحدهما مطلوب لتمرير PBR (العرض القائم على أساس مادي) ، فإن الآخر مخصص لممر Depth-Only. كامتداد ، هناك فئتان تدعى GltfPbrPass و GltfDepthPass. يتم تقسيم بيانات نموذج glTF إلى ثلاثة ملفات:

  1. GltfCommon ، فئة حيادية لواجهة برمجة التطبيقات تحمل وتهتم بالتحول والرسوم المتحركة للمشهد ، بما في ذلك تقنية MyTechnique من فئة Skinnin {bool OnCreate (...) ؛ // ينشئ خطوط الأنابيب والهندسة الثابتة والتهيئة الأخرى لمرة واحدة باطلة OnDestroy (...) ؛ void OnDraw (…) // استخدم الموارد التي تم إنشاؤها لرسم التقنية} g.
  2. GltfTexturesAndBuffers ، فئة تحمل وتحمل جميع القوام ومصفوفات الأسطح والمخازن المؤقتة للهندسة.
  3. GltfPbrPass و GltfDepthPass ، فئتان تستخدمان الفئات المذكورة أعلاه لتقديم المشهد بالتقنيات المذكورة.

يحتوي إطار عمل Radeon Cauldron على كلاً من التعليمات البرمجية التي لا تعتمد على الرسومات والمعتمدة على الرسومات. ومن ثم يمكن تقسيم إطار العمل إلى ثلاثة مشاريع Visual Studio:

  1. Framework_DX12: كما يتضح من الاسم ، يتعلق هذا الجزء بـ DirectX12. بمعنى آخر ، يحتوي على كل كود Direct3D 12.
  2. Framework_VK: يحتوي هذا الجزء على كل كود Vulkan ذي الصلة.

بالمناسبة ، هناك مكون ثالث أيضًا ، وهو شائع لكل من أنواع مشاريع Visual Studio المذكورة أعلاه. هذا الجزء يسمى 'Framework_Common'. يحتوي المكون المشترك على الجوانب التالية:

هياكل GLTF

  • كود التحويل والرسوم المتحركة
  • تحميل الصور
  • التعامل مع النوافذ
  • الة تصوير

يدعم إطار عمل Radeon Cauldron تقنيات ما بعد المعالجة مثل bloom ، blur ، تصغير الحجم ، وتعيين درجة اللون. تقدم SDK عضوين فرعيين جديدين. هذه مفيدة في إنشاء أهداف تصيير مؤقتة:

منطقي OnCreateWindowSizeDependentResources (...) // ينشئ أهداف تصيير مؤقتة مطلوبة للتأثير

باطل OnDestroyWindowSizeDependentResources (…)

ومن المثير للاهتمام أن AMD Radeon Cauldron 1.0 SDK الذي تم اختباره داخليًا يسمح للمبرمجين بتنفيذ الأشياء على مستوى أدنى أيضًا. والمثير للدهشة أنه حتى في هذه المستويات ، يمكنهم استخدام العديد من مديري الذاكرة لضمان عمل الأشياء بسلاسة. بعض مديري الذاكرة الذين لا يزالون يعملون حتى في مستوى أدنى هم كما يلي:

  • StaticBufferPool: يحتفظ هذا المكون بالبيانات الثابتة. علاوة على ذلك ، فإنه يتميز أيضًا بالتخصيص الفرعي.
  • DynamicBufferRing: هذا نظام مخزن مؤقت دائري. يمكن للمبرمجين الاعتماد على هذا للمخازن المؤقتة الثابتة.
  • الملمس: يسمح بتحميل الزخارف وإنشاء أهداف تصيير. ومن المثير للاهتمام أن نظام Texture يسمح أيضًا بإنشاء طرق عرض لأهداف العرض.
  • ShaderCompilerHelper: هذه أداة قوية تساعد في ترجمة التعليمات البرمجية المصدر. يقوم ShaderCompilerHelper أيضًا بتخزين الثنائيات مؤقتًا. وغني عن الذكر أن هذا يقلل بشكل كبير من أوقات التحميل.
  • UploadHeap: تسمح هذه الأداة للمبرمجين بالتخصيص الفرعي من تجمع ذاكرة النظام لتحميل البيانات ، والتي تتضمن أساسًا مواد وكذلك مخازن مؤقتة إلى ذاكرة فيديو مؤقتة.

نظرًا لأن هذه حزمة SDK مفتوحة المصدر ، فإن AMD تحث المستخدمين الخارجيين الأوائل على اختبارها وتقديم ملاحظاتهم. من المحتمل جدًا أن تقوم AMD بتحليل نفس الشيء وتنفيذ بعض الاقتراحات لتحسين Radeon Cauldron SDK.

العلامات ايه ام دي AMD نافي راديون