AMD, Radeon Cauldron 1.0 SDK'yı Basitleştirilmiş C ++ Kullanan Programlama Topluluğuna Genişletiyor

Donanım / AMD, Radeon Cauldron 1.0 SDK'yı Basitleştirilmiş C ++ Kullanan Programlama Topluluğuna Genişletiyor 4 dakika okundu

Kapsamlı dahili testler ve şaşırtıcı derecede hızlı bir şekilde benimsendikten sonra AMD şimdi programlama topluluğuna Radeon Cauldron 1.0 Yazılım Geliştirme Kiti'ni (SDK) sunuyor. Şirket, çerçevenin yalnızca oldukça basitleştirilmediğini değil, aynı zamanda dikkat çekici derecede çok yönlü olduğunu da garanti ediyor. Başka bir deyişle, Radeon Cauldron SDK yeni başlayanlar için kolayca kavranabilir. Dahası, çerçeve, onu yeni özelliklerle genişletmek isteyen programcılar için oldukça esnektir.



AMD, en popülerlerinden birini sunuyor yazılım geliştirme çerçeveleri kitlelere. Radeon Cauldron SDK'nın ilk kapsamlı ve kararlı sürümü artık programcılar tarafından kullanılabilir. Radeon Cauldron, esasen hızlı prototipleme için bir çerçeve kitaplığıdır. AMD SDK örneklerinde ve efektlerinde kullanılır. SDK, Vulkan veya Direct3D 12 API'leri ile sorunsuz çalışır. AMD tüm çerçeveyi oluşturdu GitHub'dan indirilebilir , Microsoft tarafından yakın zamanda satın alınan açık kaynaklı yazılımlar için en popüler depo. İlginç bir şekilde AMD'nin bir GltfSample yükledi . Garip bir şekilde adlandırılan uygulama, Cauldron çerçevesi kullanılarak tasarlanmış, geliştirilmiş ve oluşturulmuştur. Bu arada, Radeon Cauldron SDK ile ilgili tüm kaynaklar GitHub'da da mevcuttur.

Radeon Cauldron SDK Nedir ve Yazılım, Uygulama veya Oyun Geliştirmeyi Nasıl Etkiler?

Radeon Cauldron, hızlı prototipleme için esasen eksiksiz bir çerçeve veya eksiksiz bir Yazılım Geliştirme Kitidir. Öncelikle AMD SDK örneklerinde ve efektlerinde kullanılacaktır. Yukarıda bahsedildiği gibi, tercih edilen bir düşük ek yük, çapraz platform 3B grafik ve bilgi işlem API'si olan Vulkan ile optimum şekilde çalışabilir. Dahası, SDK, Direct3D’nin en son sürümü olan Direct3D 12 ile de çalışır.



Radeon Cauldron SDK ilk olarak dahili olarak AMD'de piyasaya sürüldü. Beklense de ilk sürüm, AMD’nin dahili yazılım geliştirme ekipleri tarafından istisnai bir şekilde kabul edildi ve benimsendi. İlk pilot projeden sonra AMD, şirket içindeki diğer teğet grupların bile ilgi göstermeye başladığını doğruladı. Sonunda, SDK, araçları, sürücüleri ve hatta yazılım ve özellik tanıtımlarını işleyen ekipler için tercih edilen çerçevelerden biri haline geldi.



AMD, MIT açık kaynak lisansı altında GPUOpen üzerinde Radeon Cauldron 1.0'ı sağlıyor. Şirket, kodu anlamanın kolaylığını ve aynı şeyi genişletmenin kolaylığını defalarca vurguladı. Diğer bir deyişle, deneyimli programcılar olmasa bile, yeni kullanıcılar birden çok bileşeni ve bunların bireysel işlevlerinin yanı sıra bağımlılıkları hızla deşifre edebilir. Bu, karmaşık geliştirme sürecini büyük ölçüde basitleştirmeli ve aynı şeyi kullanırken tüm kullanıcıların kendinden emin ve rahat olmasını sağlamalıdır. Dahası, programcılar geçmiş işleri aksatmaktan veya süreçteki bir şeyi bozmaktan endişe etmeden kodu hızlı ve verimli bir şekilde genişletebilirler.



Çerçeve şaşırtıcı derecede esnek ve çok yönlüdür, AMD'yi garanti eder. İddialar öncelikle doğru görünüyor çünkü SDK vanilya C ++ kullanıyor. AMD, 'tek özellik, tek sınıf, tek dosya' felsefesini izlemek için aynı şeyi geliştirdi. Bundan bahsetmeye gerek yok, programcıların sadece bir uygulamanın veya web platformunun nasıl çalıştığını anlamaya çalışırken karmaşık ve çoklu dosyalarda gezinmesine gerek olmadığı anlamına gelir. AMD, Radeon Cauldron SDK'nın en basit sınıf biçimine bağlı kalmasını sağlamıştır. Diğer bir deyişle, mümkün olan her yerde sınıfların çoğu aşağıdaki yöntemleri uygulayacaktır:

sınıf MyTechnique

{



bool OnCreate (…); // ardışık düzenleri, statik geometriyi ve diğer tek seferlik başlatmaları oluşturur

void OnDestroy (…);

void OnDraw (…) // tekniği çizmek için oluşturulan kaynakları kullanın

}

Radeon Cauldron SDK, glTF 2.0 modellerini işlemek için gereken iki tekniğe izin verir. Biri PBR (Fiziksel Temelli Oluşturma) geçişi için gerekliyken, diğeri Yalnızca Derinlik geçişi içindir. Bir uzantı olarak, GltfPbrPass ve GltfDepthPass adlı iki sınıf vardır. Bir glTF modelinin verileri üç dosyaya bölünmüştür:

  1. GltfCommon, skinnin sınıfı MyTechnique {bool OnCreate (…) dahil olmak üzere sahnenin dönüşümü ve animasyonunu yükleyen ve bunlarla ilgilenen API'den bağımsız bir sınıf; // ardışık düzenleri, statik geometriyi ve diğer bir kerelik başlatmaları oluşturur void OnDestroy (…); void OnDraw (…) // tekniği çizmek için oluşturulan kaynakları kullanın} g.
  2. GltfTexturesAndBuffers, tüm dokuları, dış görünüm matrislerini ve geometri arabelleklerini yükleyen ve tutan bir sınıf.
  3. GltfPbrPass ve GltfDepthPass, sahneyi belirtilen tekniklerle işlemek için yukarıdaki sınıfları kullanan iki sınıf.

Radeon Cauldron çerçevesi hem grafikten bağımsız hem de grafiğe bağlı kod içerir. Dolayısıyla, çerçeve üç Visual Studio projesine ayrılabilir:

  1. Framework_DX12: Adından da anlaşılacağı gibi, bu bölüm DirectX12 ile ilgilidir. Başka bir deyişle, tüm Direct3D 12 kodunu içerir.
  2. Framework_VK: Bu bölüm, ilgili tüm Vulkan kodunu içerir.

Bu arada, yukarıda bahsedilen her iki Visual Studio projesi türü için ortak olan üçüncü bir bileşen de vardır. Bu bölüm 'Framework_Common' olarak adlandırılır. Ortak bileşen aşağıdaki yönleri içerir:

GLTF yapıları

  • Dönüşüm ve animasyon kodu
  • Görüntüler yükleniyor
  • Pencere kullanımı
  • Kamera

Radeon Cauldron çerçevesi, çiçek açma, bulanıklaştırma, altörnekleme ve ton eşleme gibi işlem sonrası tekniklerini destekler. SDK, iki yeni alt üye sunar. Bunlar, geçici oluşturma hedeflerinin oluşturulmasında yararlıdır:

bool OnCreateWindowSizeDependentResources (…) // efekt için gereken geçici oluşturma hedeflerini oluşturur

void OnDestroyWindowSizeDependentResources (…)

İlginç bir şekilde, dahili olarak test edilen AMD Radeon Cauldron 1.0 SDK, programcıların işleri daha düşük bir seviyede uygulamalarına da izin veriyor. Şaşırtıcı bir şekilde, bu seviyelerde bile, işlerin sorunsuz çalışmasını sağlamak için birkaç bellek yöneticisi kullanabilirler. Daha düşük seviyede bile çalışan hafıza yöneticilerinden bazıları şu şekildedir:

  • StaticBufferPool: Bu bileşen, statik verileri tutar. Dahası, alt tahsis de içerir.
  • DynamicBufferRing: Bu dairesel bir tampon sistemidir. Programcılar, sabit tamponlar için buna güvenebilirler.
  • Doku: Dokuların yüklenmesine ve işleme hedeflerinin oluşturulmasına izin verir. İlginç bir şekilde, Doku sistemi, işleme hedefleri için görünümlerin oluşturulmasına da izin verir.
  • ShaderCompilerHelper: Bu, kaynak kodunu derlemeye yardımcı olan güçlü bir araçtır. ShaderCompilerHelper ayrıca ikili dosyaları önbelleğe alır. Söylemeye gerek yok, bu, yükleme sürelerini önemli ölçüde azaltır.
  • UploadHeap: Bu araç, programcıların bir sistem bellek havuzundan veri yüklemek için alt ayırma yapmasına olanak tanır, bu temelde dokuları ve bir video bellek arabelleğine arabellekleri içerir.

Bu açık kaynaklı bir SDK olduğu için AMD, dışardan benimseyenlerin de aynısını test edip geri bildirimde bulunmalarını istiyor. AMD'nin aynı şeyi analiz etmesi ve Radeon Cauldron SDK'yı geliştirmek için bazı önerileri uygulaması oldukça muhtemeldir.

Etiketler amd AMD Navi Radeon