AMD išplečia „Radeon Cauldron 1.0 SDK“ į programavimo bendruomenę, naudojančią supaprastintą C ++

Aparatinė įranga / AMD išplečia „Radeon Cauldron 1.0 SDK“ į programavimo bendruomenę, naudojančią supaprastintą C ++ 4 minutes perskaityta

Po išsamių vidinių bandymų ir stebėtinai greito pritaikymo AMD dabar programavimo bendruomenei siūlo „Radeon Cauldron 1.0“ programinės įrangos rinkinį (SDK). Bendrovė tikina, kad sistema yra ne tik labai supaprastinta, bet ir nepaprastai universali. Kitaip tariant, „Radeon Cauldron SDK“ yra lengvai suprantamas pradedantiesiems. Be to, sistema yra labai lanksti programuotojams, norintiems ją išplėsti naujomis funkcijomis.



AMD siūlo vieną populiariausių programinės įrangos kūrimo pagrindai masėms. Pirmasis išsamus ir stabilus „Radeon Cauldron SDK“ leidimas dabar prieinamas programuotojams. „Radeon Cauldron“ iš esmės yra greito prototipų kūrimo pagrindų biblioteka. Jis naudojamas AMD SDK pavyzdžiuose ir efektuose. SDK sklandžiai veikia su „Vulkan“ arba „Direct3D 12“ API. AMD sukūrė visą sistemą galima atsisiųsti iš „GitHub“ , populiariausia atvirojo kodo programinės įrangos saugykla, kurią neseniai įsigijo „Microsoft“. Įdomu tai, kad AMD taip pat įkėlė „GltfSample“ . Keistai pavadinta programa buvo sukurta, sukurta ir pastatyta naudojant „Cauldron“ sistemą. Beje, visus svarbius „Radeon Cauldron SDK“ išteklius galima rasti ir „GitHub“.

Kas yra „Radeon Cauldron SDK“ ir kaip tai paveiks programinės įrangos, programų ar žaidimų kūrimą?

„Radeon Cauldron“ iš esmės yra visas pagrindas arba visas programinės įrangos kūrimo rinkinys, skirtas greitam prototipų kūrimui. Pirmiausia jis bus naudojamas AMD SDK pavyzdžiuose ir efektuose. Kaip minėta pirmiau, jis gali optimaliai veikti su „Vulkan“, kuris yra pageidaujama mažos pridėtinės, kelių platformų 3D grafikos ir skaičiavimo API. Be to, SDK taip pat veikia su naujausia „Direct3D“ versija, kuri yra „Direct3D 12“.



„Radeon Cauldron SDK“ pirmą kartą buvo išleista viduje AMD. Nors ir tikėtasi, AMD vidinės programinės įrangos kūrimo komandos išimtinai priėmė ir priėmė pirminį leidimą. Po pirmojo bandomojo projekto AMD patvirtino, kad susidomėjimą ėmė rodyti net kitos bendrovės tangentinės grupės. Galų gale, SDK tapo vienu iš pageidaujamų rėmų komandoms, kurios tvarkė įrankius, tvarkykles ir net programinę įrangą bei funkcijų demonstracijas.



AMD teikia „Radeon Cauldron 1.0“ „GPUOpen“ pagal MIT atvirojo kodo licenciją. Bendrovė ne kartą pabrėžė kodo supratimo ir jo išplėtimo paprastumą. Kitaip tariant, net jei patyrusių programuotojų nėra, nauji vartotojai gali greitai iššifruoti kelis komponentus ir jų individualias funkcijas bei priklausomybes. Tai turėtų labai supaprastinti sudėtingo kūrimo procesą ir užtikrinti, kad visi vartotojai pasitiki savimi ir naudojasi tuo pačiu. Be to, programuotojai gali greitai ir efektyviai išplėsti kodą, nesijaudindami, kad trukdys praeities darbams ar ką nors sulaužys.



Ši sistema yra stebėtinai lanksti ir universali, užtikrina AMD. Teiginiai atrodo teisingi pirmiausia todėl, kad SDK naudoja vanilės C ++. AMD sukūrė tą patį, turėdamas aiškų tikslą laikytis „vienos savybės, vienos klasės, vienos bylos“ filosofijos. Nereikia nė paminėti, kad programuotojai neturi naršyti sudėtinguose ir keliuose failuose, tiesiog bandydami suprasti, kaip veikia programa ar interneto platforma. AMD užtikrino, kad „Radeon Cauldron SDK“ laikysis paprasčiausios klasės užsiėmimų. Kitaip tariant, kai tik įmanoma, dauguma užsiėmimų įgyvendins šiuos metodus:

klasės „MyTechnique“

{



bool „OnCreate“ (…); // sukuria vamzdynus, statinę geometriją ir kitus vienkartinius inicialus

negaliojantis „OnDestroy“ (…);

void OnDraw (…) // naudokite sukurtus išteklius, kad nupieštumėte techniką

}

„Radeon Cauldron SDK“ leidžia naudoti dvi technologijas, kurių reikia norint pateikti „glTF 2.0“ modelius. Nors vienas reikalingas PBR (Physically Based Rendering) leidimui, kitas skirtas tik gylio leidimui. Kaip plėtinį yra dvi klasės, vadinamos „GltfPbrPass“ ir „GltfDepthPass“. „GlTF“ modelio duomenys yra suskirstyti į tris bylas:

  1. „GltfCommon“, API agnostikos klasė, įkelianti scenos transformaciją ir animaciją, įskaitant skinnin klasę „MyTechnique“ {bool OnCreate (…); // sukuria vamzdynus, statinę geometriją ir kitus vienkartinius inicialus, „OnDestroy“ (…) negalioja; void OnDraw (…) // naudokite sukurtus išteklius, kad nupieštumėte techniką} g.
  2. „GltfTexturesAndBuffers“ - klasė, įkelianti ir laikanti visas tekstūras, odos matricas ir geometrijos buferius.
  3. „GltfPbrPass“ ir „GltfDepthPass“ - dvi klasės, kurios naudoja minėtas klases scenai perteikti minėtais būdais.

„Radeon Cauldron“ sistemoje yra ir grafikos-agnostikos, ir nuo grafikos priklausantis kodas. Taigi sistemą galima suskirstyti į tris „Visual Studio“ projektus:

  1. Framework_DX12: Kaip matyti iš pavadinimo, ši dalis yra susijusi su „DirectX12“. Kitaip tariant, jame yra visas „Direct3D 12“ kodas.
  2. Framework_VK: Šioje dalyje yra visas atitinkamas „Vulkan“ kodas.

Beje, yra ir trečias komponentas, kuris būdingas abiem aukščiau minėtiems „Visual Studio“ projektų tipams. Ši dalis vadinama „Framework_Common“. Bendrąjį komponentą sudaro šie aspektai:

GLTF struktūros

  • Transformacijos ir animacijos kodas
  • Įkeliami vaizdai
  • Langų tvarkymas
  • Fotoaparatas

„Radeon Cauldron“ sistema palaiko vėlesnio apdorojimo metodus, tokius kaip žydėjimas, suliejimas, atrankos mažinimas ir tonų atvaizdavimas. SDK pristato du naujus pogrupius. Tai naudinga kuriant laikinus pateikimo taikinius:

„bool“ „OnCreateWindowSizeDependentResources“ (…) // sukuria laikinus pateikimo tikslus, reikalingus efektui

negaliojantis „OnDestroyWindowSizeDependentResources“ (…)

Įdomu tai, kad viduje išbandytas „AMD Radeon Cauldron 1.0 SDK“ leidžia programuotojams įgyvendinti dalykus ir žemesniu lygiu. Keista, kad net ir šiuose lygiuose jie gali naudoti keletą atminties tvarkyklių, kad užtikrintų, jog viskas vyksta sklandžiai. Kai kurie atminties valdytojai, kurie vis dar dirba net žemesniu lygiu, yra šie:

  • „StaticBufferPool“: šis komponentas turi statinius duomenis. Be to, jame taip pat yra sub-paskirstymas.
  • „DynamicBufferRing“: tai žiedinė buferinė sistema. Programuotojai gali tuo pasikliauti pastoviems buferiams.
  • Tekstūra: leidžia įkelti tekstūras ir kurti vaizdavimo taikinius. Įdomu tai, kad „Texture“ sistema taip pat leidžia kurti vaizdus pateikimo tikslams.
  • ShaderCompilerHelper: Tai yra galingas įrankis, padedantis sudaryti šaltinio kodą. „ShaderCompilerHelper“ taip pat talpina dvejetainius failus. Nereikia nė paminėti, kad tai žymiai sumažina pakrovimo laiką.
  • „UploadHeap“: šis įrankis leidžia programuotojams paskirstyti duomenis iš sistemos atminties telkinio, kad būtų galima įkelti duomenis, kurie iš esmės apima tekstūras ir buferius į vaizdo atminties buferį.

Kadangi tai yra atviro kodo SDK, AMD ragina ankstyvuosius išorės naudotojus išbandyti tą patį ir pateikti savo atsiliepimus. Gana tikėtina, kad AMD analizuos tą patį ir įgyvendins kai kuriuos pasiūlymus, kaip patobulinti „Radeon Cauldron SDK“.

Žymos pak „AMD Navi“ radeonas