AMD Memperluas Radeon Cauldron 1.0 SDK Ke Komuniti Pengaturcaraan yang Menggunakan C ++ yang dipermudahkan

Perkakasan / AMD Memperluas Radeon Cauldron 1.0 SDK Ke Komuniti Pengaturcaraan yang Menggunakan C ++ yang dipermudahkan 4 minit membaca

Setelah ujian dalaman yang luas dan penerapan yang sangat cepat, AMD kini menawarkan Radeon Cauldron 1.0 Software Development Kit (SDK) kepada komuniti pengaturcaraan. Syarikat ini memastikan bahawa kerangka kerja tidak hanya sangat dipermudah tetapi juga sangat serba boleh. Dengan kata lain, Radeon Cauldron SDK mudah difahami untuk pemula. Lebih-lebih lagi, kerangka kerja ini sangat fleksibel untuk pengaturcara yang ingin memperluasnya dengan ciri-ciri baru.



AMD menawarkan salah satu yang paling popular kerangka pembangunan perisian kepada orang ramai. Rilis pertama SDK Radeon Cauldron yang komprehensif dan stabil kini tersedia untuk pengaturcara. Radeon Cauldron pada dasarnya adalah perpustakaan kerangka untuk prototaip cepat. Ia digunakan dalam sampel dan kesan AMD SDK. SDK berfungsi dengan lancar dengan API Vulkan atau Direct3D 12. AMD telah membuat keseluruhan rangka kerja tersedia untuk dimuat turun di GitHub , repositori paling popular untuk perisian sumber terbuka yang baru-baru ini diambil alih oleh Microsoft. Menariknya, AMD juga memuat naik GltfSample . Aplikasi bernama pelik telah dirancang, dikembangkan dan dibina menggunakan kerangka Cauldron. Secara kebetulan, semua sumber daya yang berkaitan dengan Radeon Cauldron SDK juga terdapat di GitHub.

Apa itu SDK Radeon Cauldron Dan Bagaimana Ia Mempengaruhi Pembangunan Perisian, Aplikasi atau Permainan?

Radeon Cauldron pada dasarnya adalah keseluruhan kerangka atau Kit Pembangunan Perisian yang lengkap untuk pembuatan prototaip pantas. Ia akan digunakan terutamanya dalam sampel dan kesan AMD SDK. Seperti yang disebutkan di atas, ia dapat berfungsi dengan optimum dengan Vulkan, yang merupakan grafik 3D silang platform rendah dan API pengkomputeran pilihan. Selain itu, SDK juga berfungsi dengan versi terbaru Direct3D, iaitu Direct3D 12.



Radeon Cauldron SDK pertama kali dilancarkan secara dalaman di AMD. Walaupun dijangkakan, rilis awal sangat diterima dan diterima oleh pasukan pengembangan perisian dalaman AMD. Selepas projek perintis pertama, AMD mengesahkan malah kumpulan tangen lain dalam syarikat itu mula menunjukkan minat. Akhirnya, SDK menjadi salah satu kerangka pilihan untuk pasukan yang mengendalikan alat, pemacu, dan bahkan perisian dan demonstrasi ciri.



AMD menyediakan Radeon Cauldron 1.0 pada GPUOpen di bawah lesen sumber terbuka MIT. Syarikat itu telah berulang kali menekankan kemudahan memahami kod dan kemudahan memperluaskannya. Dengan kata lain, walaupun pengaturcara berpengalaman tidak tersedia, pengguna baru dapat dengan cepat menguraikan pelbagai komponen dan fungsi masing-masing serta kebergantungannya. Ini semestinya mempermudah proses pengembangan yang kompleks dan memastikan semua pengguna yakin dan selesa semasa menggunakan yang sama. Lebih-lebih lagi, pengaturcara dapat memperluaskan kodnya dengan cepat dan cekap tanpa perlu bimbang akan mengganggu kerja masa lalu atau melanggar sesuatu dalam prosesnya.



Kerangka kerja ini sangat fleksibel dan serba boleh, menjamin AMD. Tuntutan tersebut terbukti benar kerana SDK menggunakan vanilla C ++. AMD telah mengembangkan hal yang sama dengan tujuan yang jelas untuk mengikuti falsafah 'satu ciri, satu kelas, satu fail'. Tidak perlu disebutkan ini bermaksud pengaturcara tidak perlu menavigasi fail yang rumit dan banyak sementara hanya berusaha memahami bagaimana aplikasi atau platform web berfungsi. AMD telah memastikan bahawa Radeon Cauldron SDK akan mengikuti bentuk kelas yang paling mudah. Dengan kata lain, seboleh-bolehnya, kebanyakan kelas akan menggunakan kaedah berikut:

kelas MyTechnique

{



bool OnCreate (…); // membuat saluran paip, geometri statik, dan inisialisasi sekali sahaja yang lain

batal OnDestroy (…);

batal OnDraw (…) // gunakan sumber yang dibuat untuk melukis teknik

}

Radeon Cauldron SDK membolehkan dua teknik yang diperlukan untuk membuat model glTF 2.0. Sementara satu diperlukan untuk lulus PBR (Fizikal Berdasarkan Rendering), yang lain dimaksudkan untuk lulus Depth-Only. Sebagai lanjutan, terdapat dua kelas yang dipanggil GltfPbrPass dan GltfDepthPass. Data model glTF terbahagi kepada tiga fail:

  1. GltfCommon, kelas API-agnostik yang memuat dan mengurus transformasi dan animasi pemandangan, termasuk kelas skinnin MyTechnique {bool OnCreate (…); // membuat saluran paip, geometri statik, dan inisialisasi sekali sahaja yang membatalkan OnDestroy (…); batal OnDraw (…) // gunakan sumber yang dibuat untuk melukis teknik} g.
  2. GltfTexturesAndBuffers, kelas yang memuat dan menyimpan semua tekstur, matriks skinning, dan buffer geometri.
  3. GltfPbrPass dan GltfDepthPass, dua kelas yang menggunakan kelas di atas untuk membuat pemandangan dengan teknik yang disebutkan.

Rangka kerja Radeon Cauldron mengandungi kod yang bergantung pada grafik, agnostik dan grafik. Oleh itu kerangka kerja dapat dibahagikan kepada tiga projek Visual Studio:

  1. Framework_DX12: Seperti yang jelas dari namanya, bahagian ini berkaitan dengan DirectX12. Dengan kata lain, ia mengandungi semua kod Direct3D 12.
  2. Framework_VK: Bahagian ini mengandungi semua kod Vulkan yang berkaitan.

Secara kebetulan, ada komponen ketiga juga, yang biasa untuk kedua-dua jenis projek Visual Studio yang disebutkan di atas. Bahagian ini dipanggil ‘Framework_Common’. Komponen umum mengandungi aspek berikut:

Struktur GLTF

  • Kod transformasi dan animasi
  • Memuatkan gambar
  • Pengendalian tingkap
  • Kamera

Rangka kerja Radeon Cauldron menyokong teknik pasca pemprosesan seperti mekar, kabur, pengurangan sampel, dan pemetaan nada. SDK memperkenalkan dua sub-anggota baru. Ini berguna dalam pembuatan sasaran pemberian sementara:

bool OnCreateWindowSizeDependentResources (…) // mencipta sasaran render sementara yang diperlukan untuk kesan

batal OnDestroyWindowSizeDependentResources (…)

Menariknya, AMD Radeon Cauldron 1.0 SDK yang diuji secara dalaman membolehkan pengaturcara melaksanakan sesuatu pada tahap yang lebih rendah juga. Anehnya, walaupun pada tahap ini, mereka dapat menggunakan beberapa pengurus memori untuk memastikan semuanya berjalan dengan lancar. Beberapa pengurus memori yang masih berfungsi walaupun pada tahap yang lebih rendah adalah seperti berikut:

  • StaticBufferPool: Komponen ini menyimpan data statik. Selain itu, ia juga mempunyai sub-peruntukan.
  • DynamicBufferRing: Ini adalah sistem penyangga bulat. Pengaturcara boleh bergantung pada ini untuk penyangga tetap.
  • Tekstur: Membolehkan memuatkan tekstur dan membuat sasaran render. Menariknya sistem Tekstur juga memungkinkan penciptaan paparan untuk sasaran render.
  • ShaderCompilerHelper: Ini adalah alat yang kuat yang membantu menyusun kod sumber. ShaderCompilerHelper juga menyimpan binari. Tidak perlu disebutkan, ini dengan ketara menurunkan masa pemuatan.
  • UploadHeap: Alat ini membolehkan pengaturcara mengalokasikan dari kumpulan memori sistem untuk memuat naik data, yang pada dasarnya merangkumi tekstur serta penyangga ke penyangga memori video.

Oleh kerana ini adalah SDK sumber terbuka, AMD mendesak pengguna awal di luar untuk menguji hal yang sama dan memberikan maklum balas mereka. Kemungkinan besar AMD akan menganalisis hal yang sama dan melaksanakan beberapa cadangan untuk meningkatkan Radeon Cauldron SDK.

Teg amd AMD Navi radeon