AMD razširja Radeon Cauldron 1.0 SDK na skupnost za programiranje, ki uporablja poenostavljeni C ++

Strojna oprema / AMD razširja Radeon Cauldron 1.0 SDK na skupnost za programiranje, ki uporablja poenostavljeni C ++ 4 minute branja

Po obsežnih internih testiranjih in presenetljivo hitrem sprejemanju znotraj, AMD zdaj programski skupnosti ponuja komplet za razvoj programske opreme Radeon Cauldron 1.0 (SDK). Podjetje zagotavlja, da ogrodje ni le zelo poenostavljeno, ampak je tudi izjemno vsestransko. Z drugimi besedami, Radeon Cauldron SDK je zlahka razumljiv za začetnike. Poleg tega je ogrodje zelo prilagodljivo za programerje, ki ga želijo razširiti z novimi funkcijami.



AMD ponuja enega najbolj priljubljenih okviri za razvoj programske opreme množicam. Prva obsežna in stabilna izdaja Radeon Cauldron SDK je zdaj na voljo programerjem. Radeon Cauldron je v bistvu okvirna knjižnica za hitro izdelavo prototipov. Uporablja se v vzorcih in učinkih SDK AMD. SDK deluje brezhibno z API-ji Vulkan ali Direct3D 12. AMD je naredil celoten okvir na voljo za prenos na GitHub , najbolj priljubljeno skladišče odprtokodne programske opreme, ki ga je pred kratkim kupil Microsoft. Zanimivo je, da je tudi AMD je naložil GltfSample . Čudno imenovana aplikacija je bila zasnovana, razvita in izdelana z uporabo ogrodja kotla. Mimogrede, vsi ustrezni viri za SDK Radeon Cauldron so na voljo tudi na GitHubu.

Kaj je Radeon Cauldron SDK in kako bo vplival na razvoj programske opreme, aplikacij ali iger?

Radeon Cauldron je v bistvu celoten okvir ali celoten komplet za razvoj programske opreme za hitro izdelavo prototipov. Uporabljala se bo predvsem za vzorce in učinke AMD SDK. Kot smo že omenili, lahko optimalno deluje z Vulkanom, ki je prednostni 3D-grafični grafični in računalniški API z nizko porabo. Poleg tega SDK deluje tudi z najnovejšo različico Direct3D, to je Direct3D 12.



SDK Radeon Cauldron je bil prvič izdan interno pri AMD. Čeprav je bila pričakovana, so začetno izdajo izjemno sprejele in sprejele AMD-jeve notranje ekipe za razvoj programske opreme. Po prvem pilotnem projektu je AMD potrdil, da so zanimanje začele kazati tudi druge tangencialne skupine v podjetju. Sčasoma je SDK postal eden najprimernejših okvirov za ekipe, ki so obdelovale orodja, gonilnike in celo predstavitve programske opreme in funkcij.



AMD ponuja Radeon Cauldron 1.0 na GPUOpen pod odprtokodno licenco MIT. Podjetje je že večkrat poudarilo enostavnost razumevanja kode in enostavnost njene razširitve. Z drugimi besedami, tudi če izkušeni programerji niso na voljo, lahko novi uporabniki hitro razberejo več komponent in njihove posamezne funkcije ter odvisnosti. To bi moralo močno poenostaviti postopek kompleksnega razvoja in zagotoviti, da so vsi uporabniki samozavestni in udobni, medtem ko uporabljajo iste. Poleg tega lahko programerji hitro in učinkovito razširijo kodo, ne da bi jih skrbelo, da bi ovirali preteklo delo ali kaj prekinili.



Okvir je presenetljivo prilagodljiv in vsestranski, zagotavlja AMD. Trditve se zdijo resnične predvsem zato, ker SDK uporablja vaniljev C ++. Podjetje AMD je isto razvilo z jasnim ciljem slediti filozofiji 'ena značilnost, en razred, ena datoteka'. Ni treba posebej omenjati, da programerjem ni treba krmariti po zapletenih in več datotekah, medtem ko preprosto poskušajo razumeti, kako deluje aplikacija ali spletna platforma. AMD je zagotovil, da se bo Radeon Cauldron SDK držal najpreprostejših oblik pouka. Z drugimi besedami, kjer koli je mogoče, bo večina razredov izvajala naslednje metode:

razred MyTechnique

{



bool OnCreate (…); // ustvari cevovode, statično geometrijo in druge enkratne inicializacije

void OnDestroy (…);

void OnDraw (...) // uporabite ustvarjene vire za risanje tehnike

}

SDK Radeon Cauldron omogoča dve tehniki, ki sta potrebni za upodabljanje modelov glTF 2.0. Medtem ko je eden potreben za prehod PBR (Physically Based Rendering), je drugi namenjen prehodu samo globine. Kot razširitev obstajata dva razreda, imenovana GltfPbrPass in GltfDepthPass. Podatki modela glTF so razdeljeni v tri datoteke:

  1. GltfCommon, API-agnostični razred, ki nalaga in skrbi za preobrazbo in animacijo scene, vključno s skinnin razredom MyTechnique {bool OnCreate (…); // ustvari cevovode, statično geometrijo in druge enkratne inicializacije void OnDestroy (…); void OnDraw (…) // uporabite ustvarjene vire za risanje tehnike} g.
  2. GltfTextureAndBuffers, razred, ki naloži in zadrži vse teksture, matrice za odvzem kože in odbojnike geometrije.
  3. GltfPbrPass in GltfDepthPass, dva razreda, ki uporabljata zgornje razrede za upodabljanje scene z omenjenimi tehnikami.

Okvir Radeon Cauldron vsebuje tako grafično agnostično kot grafično odvisno kodo. Zato lahko ogrodje razdelimo na tri projekte Visual Studio:

  1. Framework_DX12: Kot je razvidno iz imena, se ta del nanaša na DirectX12. Z drugimi besedami, vsebuje vso kodo Direct3D 12.
  2. Framework_VK: Ta del vsebuje vso ustrezno Vulkanovo kodo.

Mimogrede obstaja tudi tretja komponenta, ki je skupna za zgoraj omenjene vrste projektov Visual Studio. Ta del se imenuje 'Framework_Common'. Skupna komponenta vsebuje naslednje vidike:

Strukture GLTF

  • Koda za preoblikovanje in animacijo
  • Nalaganje slik
  • Ravnanje z okni
  • Kamera

Okvir Radeon Cauldron podpira tehnike naknadne obdelave, kot so bloom, zamegljenost, zmanjšanje vzorčenja in preslikava tonov. SDK uvaja dva nova člana. Ti so koristni pri ustvarjanju začasnih ciljev upodabljanja:

bool OnCreateWindowSizeDependentResources (…) // ustvari začasne cilje upodabljanja, potrebne za učinek

void OnDestroyWindowSizeDependentResources (…)

Zanimivo je, da interno preizkušeni AMD Radeon Cauldron 1.0 SDK programerjem omogoča, da stvari uvedejo tudi na nižji ravni. Presenetljivo je, da lahko tudi na teh ravneh uporabljajo več upraviteljev pomnilnika, da zagotovijo nemoteno delovanje. Nekateri upravitelji pomnilnika, ki še vedno delujejo tudi na nižji ravni, so naslednji:

  • StaticBufferPool: Ta komponenta vsebuje statične podatke. Poleg tega ima tudi dodeljevanje.
  • DynamicBufferRing: To je sistem krožnega medpomnilnika. Programerji se na to lahko zanesejo pri stalnih medpomnilnikih.
  • Tekstura: omogoča nalaganje tekstur in ustvarjanje ciljev upodabljanja. Zanimivo je, da sistem Texture omogoča tudi ustvarjanje pogledov za cilje upodabljanja.
  • ShaderCompilerHelper: To je močno orodje, ki pomaga pri sestavljanju izvorne kode. ShaderCompilerHelper tudi shrani binarne datoteke. Ni treba posebej omenjati, da to bistveno zmanjša čas nakladanja.
  • UploadHeap: To orodje programerjem omogoča, da iz sistemskega pomnilniškega prostora prenesejo podatke, ki v bistvu vključujejo teksture in medpomnilnike v medpomnilnik video pomnilnika.

Ker gre za odprtokodni SDK, AMD poziva zgodnje zunanje uporabnike, naj preizkusijo istega in ponudijo svoje povratne informacije. Povsem verjetno je, da bo AMD to analiziral in uvedel nekatere predloge za izboljšanje Radeon Cauldron SDK.

Oznake amd AMD Navi radeon