AMD laiendab Radeon Cauldron 1.0 SDK-d programmeerimiskogukonnale, mis kasutab lihtsustatud C ++ -i

Riistvara / AMD laiendab Radeon Cauldron 1.0 SDK-d programmeerimiskogukonnale, mis kasutab lihtsustatud C ++ -i 4 minutit loetud

Pärast põhjalikku sisekontrolli ja üllatavalt kiiret kasutuselevõttu pakub AMD nüüd programmeerijatele Radeon Cauldron 1.0 tarkvaraarenduskomplekti (SDK). Ettevõte kinnitab, et raamistik pole mitte ainult väga lihtsustatud, vaid on ka märkimisväärselt mitmekülgne. Teisisõnu on Radeon Cauldron SDK algajatele hõlpsasti haaratav. Pealegi on raamistik programmeerijate jaoks väga paindlik, kes soovivad seda uute funktsioonidega laiendada.



AMD pakub üht oma populaarsemat tarkvaraarenduse raamistikud massidele. Radeon Cauldron SDK esimene põhjalik ja stabiilne versioon on nüüd programmeerijatele saadaval. Radeon Cauldron on põhimõtteliselt kiire prototüüpimise raamistik. Seda kasutatakse AMD SDK proovides ja efektides. SDK töötab sujuvalt kas Vulkani või Direct3D 12 API-ga. AMD on teinud kogu raamistiku saadaval allalaadimiseks GitHubis , kõige populaarsem avatud lähtekoodiga tarkvara hoidla, mille Microsoft hiljuti omandas. Huvitaval kombel on seda ka AMD-l laadis üles GltfSample . Imeliku nimega rakendus on välja töötatud, arendatud ja ehitatud Cauldroni raamistikku kasutades. Muide, kõik asjakohased Radeon Cauldron SDK ressursid on saadaval ka GitHubis.

Mis on Radeon Cauldron SDK ja kuidas see mõjutab tarkvara, rakenduste või mängude arendamist?

Radeon Cauldron on sisuliselt terve raamistik või täielik tarkvaraarenduskomplekt kiireks prototüüpimiseks. Seda kasutatakse peamiselt AMD SDK proovides ja efektides. Nagu eespool mainitud, saab see optimaalselt töötada koos Vulkaniga, mis on eelistatud madala üldkuluga platvormidevaheline 3D-graafika ja arvutuslik API. Pealegi töötab SDK ka Direct3D uusima versiooniga, milleks on Direct3D 12.

Radeon Cauldron SDK ilmus esmakordselt AMD-s. Ehkki eeldati, võtsid AMD sisetarkvara arendusmeeskonnad esialgse versiooni erandkorras vastu ja võtsid selle vastu. Pärast esimest pilootprojekti kinnitas AMD, et isegi teised ettevõtte tangentsiaalsed rühmad hakkasid huvi üles näitama. Lõpuks sai SDK-st üks eelistatud raamistikke meeskondadele, kes tegelesid tööriistade, draiverite ja isegi tarkvara ning funktsioonide tutvustustega.



AMD pakub GPUOpenil Radeon Cauldron 1.0 MIT-i avatud lähtekoodiga litsentsi alusel. Ettevõte on korduvalt rõhutanud koodi mõistmise lihtsust ja selle laiendamise lihtsust. Teisisõnu, isegi kui kogenud programmeerijad pole saadaval, saavad uued kasutajad kiiresti dešifreerida mitu komponenti ja nende individuaalseid funktsioone ning sõltuvusi. See peaks keerulise arendamise protsessi oluliselt lihtsustama ja tagab, et kõik kasutajad on sama kasutamisel enesekindlad ja mugavad. Pealegi saavad programmeerijad koodi kiiresti ja tõhusalt laiendada, muretsemata varasema töö takistamise või selle käigus millegi rikkumise pärast.



Raamistik on üllatavalt paindlik ja mitmekülgne, kinnitab AMD. Väited näivad tõesed olevat peamiselt seetõttu, et SDK kasutab vanilli C ++. AMD on sama välja töötanud selge eesmärgiga järgida filosoofiat „üks funktsioon, üks klass, üks fail”. Ütlematagi selge, et programmeerijad ei pea keerulistes ja mitmes failis navigeerima, püüdes lihtsalt mõista, kuidas mõni rakendus või veebiplatvorm töötab. AMD on taganud, et Radeon Cauldron SDK jääb kursuste lihtsama vormi juurde. Teisisõnu, kui vähegi võimalik, rakendab enamik klassidest järgmisi meetodeid:

klassi MyTechnique

{



bool OnCreate (…); // loob torujuhtmed, staatilise geomeetria ja muud ühekordsed initsialiseerimised

kehtetu OnDestroy (…);

void OnDraw (…) // kasutage tehnika joonistamiseks loodud ressursse

}

Radeon Cauldron SDK lubab glTF 2.0 mudelite renderdamiseks kahte tehnikat. Kui üht on vaja PBR-i (Physical Based Rendering) sooritamiseks, siis teine ​​on mõeldud ainult sügavuse läbimiseks. Laiendina on kaks klassi nimega GltfPbrPass ja GltfDepthPass. GlTF-mudeli andmed jagunevad kolmeks failiks:

  1. GltfCommon, API-agnostikaklass, mis laadib ja hoolitseb stseeni ümberkujundamise ja animeerimise eest, sealhulgas skinninklass MyTechnique {bool OnCreate (…); // loob torujuhtmed, staatilise geomeetria ja muud ühekordsed initsialiseerimised tühistab OnDestroy (…); void OnDraw (…) // kasutage tehnika joonistamiseks loodud ressursse} g.
  2. GltfTexturesAndBuffers - klass, mis laadib ja hoiab kõiki tekstuure, nahamaatrikseid ja geomeetrilisi puhvreid.
  3. GltfPbrPass ja GltfDepthPass, kaks klassi, mis kasutavad ülaltoodud klasse stseenide mainimiseks mainitud tehnikatega.

Radeoni katla raamistik sisaldab nii graafika-agnostilist kui ka graafikast sõltuvat koodi. Seega saab raamistiku jagada kolmeks Visual Studio projektiks:

  1. Framework_DX12: Nagu nimest nähtub, on see osa seotud DirectX12-ga. Teisisõnu sisaldab see kogu Direct3D 12 koodi.
  2. Framework_VK: see osa sisaldab kogu asjakohast Vulkani koodi.

Muide, on ka kolmas komponent, mis on tavaline mõlemale eespool nimetatud Visual Studio projektitüübile. Selle osa nimi on „Framework_Common”. Ühine komponent sisaldab järgmisi aspekte:

GLTF struktuurid

  • Teisendus- ja animatsioonikood
  • Piltide laadimine
  • Akende käsitsemine
  • Kaamera

Radeoni katla raamistik toetab järeltöötlusvõtteid, nagu õitsemine, hägusus, alamvalim ja toonide kaardistamine. SDK tutvustab kahte uut alaliiget. Need on kasulikud renderdamise ajutiste sihtmärkide loomisel:

bool OnCreateWindowSizeDependentResources (…) // loob efekti jaoks vajalikud ajutised renderdamise sihtmärgid

void OnDestroyWindowSizeDependentResources (…)

Huvitaval kombel võimaldab sisemiselt testitud AMD Radeon Cauldron 1.0 SDK programmeerijatel asju rakendada ka madalamal tasemel. Üllataval kombel saavad nad ka nendel tasanditel kasutada sujuva toimimise tagamiseks mitut mäluhaldurit. Mõned mäluhaldurid, mis töötavad ka madalamal tasemel, on järgmised:

  • StaticBufferPool: see komponent hoiab staatilisi andmeid. Pealegi sisaldab see ka alljaotust.
  • DynamicBufferRing: see on ümmargune puhvrisüsteem. Programmeerijad saavad sellele püsivate puhvrite korral tugineda.
  • Tekstuur: võimaldab tekstuure laadida ja renderdamise sihtmärke luua. Huvitav on see, et Texture süsteem võimaldab ka renderdamise sihtmärkide jaoks vaateid luua.
  • ShaderCompilerHelper: See on võimas tööriist, mis aitab lähtekoodi koostamisel. ShaderCompilerHelper sisaldab ka binaare vahemälus. Ütlematagi selge, et see vähendab oluliselt laadimisaega.
  • UploadHeap: see tööriist võimaldab programmeerijatel andmete üleslaadimiseks süsteemi mälumahust alla jaotada, mis sisuliselt sisaldab nii tekstuure kui ka puhvreid videomälupuhvrisse.

Kuna tegemist on avatud lähtekoodiga SDK-ga, kutsub AMD varakult väljastpoolt tulijaid üles seda katsetama ja tagasisidet pakkuma. On üsna tõenäoline, et AMD analüüsib sama ja rakendab mõningaid ettepanekuid Radeon Cauldron SDK täiustamiseks.

Sildid parandus AMD Navi radeon