AMD laajentaa Radeon Cauldron 1.0 SDK: n ohjelmointiyhteisöön, joka käyttää yksinkertaistettua C ++ -sovellusta

Laitteisto / AMD laajentaa Radeon Cauldron 1.0 SDK: n ohjelmointiyhteisöön, joka käyttää yksinkertaistettua C ++ -sovellusta 4 minuuttia luettu

Laajan sisäisen testauksen ja yllättävän nopean käyttöönoton jälkeen AMD tarjoaa nyt Radeon Cauldron 1.0 -ohjelmistokehityspaketin (SDK) ohjelmointiyhteisölle. Yritys vakuuttaa, että kehystä ei pelkästään yksinkertaisteta, vaan se on myös huomattavan monipuolinen. Toisin sanoen, Radeon Cauldron SDK on helposti tarttuva aloittelijoille. Lisäksi kehys on erittäin joustava ohjelmoijille, jotka haluavat laajentaa sitä uusilla ominaisuuksilla.



AMD tarjoaa yhden suosituimmista ohjelmistokehityskehykset massoille. Radeon Cauldron SDK: n ensimmäinen kattava ja vakaa julkaisu on nyt ohjelmoijien käytettävissä. Radeon Cauldron on pohjimmiltaan kehyskirjasto nopeaan prototyyppien muodostamiseen. Sitä käytetään AMD SDK -näytteissä ja -efekteissä. SDK toimii saumattomasti joko Vulkan- tai Direct3D 12 -sovellusliittymien kanssa. AMD on tehnyt koko kehyksen ladattavissa GitHubista , suosituin avoimen lähdekoodin ohjelmistovarasto, jonka Microsoft on äskettäin hankkinut. Mielenkiintoista on, että myös AMD on latasi GltfSample-mallin . Oudosti nimetty sovellus on suunniteltu, kehitetty ja rakennettu Cauldron-kehyksen avulla. Kaikki muut asiaankuuluvat resurssit Radeon Cauldron SDK: lle ovat saatavilla myös GitHubissa.

Mikä on Radeon Cauldron SDK ja miten se vaikuttaa ohjelmistojen, sovellusten tai pelien kehitykseen?

Radeon Cauldron on pohjimmiltaan koko kehys tai täydellinen ohjelmistokehityspaketti nopeaa prototyyppia varten. Sitä käytetään ensisijaisesti AMD SDK -näytteissä ja -efekteissä. Kuten edellä mainittiin, se voi toimia optimaalisesti Vulkanin kanssa, joka on edullinen matalat yleiskustannukset, alustojen välinen 3D-grafiikka ja tietojenkäsittelyliittymä. Lisäksi SDK toimii myös Direct3D: n uusimman version kanssa, joka on Direct3D 12.

Radeon Cauldron SDK julkaistiin ensin sisäisesti AMD: ssä. Vaikka odotettiin, AMD: n sisäiset ohjelmistokehitystiimit hyväksyivät alkuperäisen julkaisun poikkeuksellisesti. Ensimmäisen pilottihankkeen jälkeen AMD vahvisti, että jopa muut yrityksen tangentiaaliset ryhmät alkoivat osoittaa kiinnostusta. Lopulta SDK: sta tuli yksi suosituimmista kehyksistä ryhmille, jotka käsittelivät työkaluja, ohjaimia ja jopa ohjelmistoja ja ominaisuuksia.



AMD tarjoaa Radeon Cauldron 1.0: n GPUOpenille MIT: n avoimen lähdekoodin lisenssillä. Yhtiö on toistuvasti korostanut koodin ymmärtämisen helppoutta ja sen laajentamisen helppoutta. Toisin sanoen, vaikka kokeneet ohjelmoijat eivät olisikaan käytettävissä, uudet käyttäjät voivat nopeasti tulkita useita komponentteja ja niiden yksittäisiä toimintoja sekä riippuvuuksia. Tämän pitäisi yksinkertaistaa huomattavasti monimutkaisen kehityksen prosessia ja varmistaa, että kaikki käyttäjät ovat varmoja ja mukavia käyttäessään samaa. Lisäksi ohjelmoijat voivat laajentaa koodia nopeasti ja tehokkaasti huolimatta menneiden töiden haitasta tai prosessin rikkomisesta.



Kehys on yllättävän joustava ja monipuolinen, vakuuttaa AMD. Väitteet näyttävät totta lähinnä siksi, että SDK käyttää vanilja C ++: ta. AMD on kehittänyt saman selkeällä päämäärällä noudattaa ”yksi ominaisuus, yksi luokka, yksi tiedosto” -filosofiaa. Tarpeetonta mainita tämä tarkoittaa, että ohjelmoijien ei tarvitse liikkua monimutkaisissa ja monissa tiedostoissa yrittäessään yksinkertaisesti ymmärtää miten sovellus tai web-alusta toimii. AMD on varmistanut, että Radeon Cauldron SDK pitää kiinni luokkien yksinkertaisimmasta muodosta. Toisin sanoen, kun mahdollista, suurin osa luokista toteuttaa seuraavat menetelmät:

luokan MyTechnique

{



bool OnCreate (…); // luo putkilinjat, staattisen geometrian ja muut kertaluontoiset alustukset

mitätön OnDestroy (…);

void OnDraw (…) // käytä luotuja resursseja tekniikan piirtämiseen

}

Radeon Cauldron SDK sallii kaksi tekniikkaa, joita tarvitaan glTF 2.0 -mallien hahmottamiseen. Vaikka toista tarvitaan PBR (Physical Based Rendering) -kululle, toinen on tarkoitettu vain syvyydelle. Laajennuksena on kaksi luokkaa nimeltä GltfPbrPass ja GltfDepthPass. GlTF-mallin tiedot on jaettu kolmeen tiedostoon:

  1. GltfCommon, API-agnostinen luokka, joka lataa kohtauksen muunnoksen ja animaation, huolehtii siitä, mukaan lukien skinnin-luokan MyTechnique {bool OnCreate (…); // luo putkilinjat, staattisen geometrian ja muut kertaluonteiset alustukset mitätöi OnDestroy (…); void OnDraw (…) // piirrä tekniikka luotujen resurssien avulla} g.
  2. GltfTexturesAndBuffers, luokka, joka lataa ja pitää kaikki tekstuurit, nylkemismatriisit ja geometriset puskurit.
  3. GltfPbrPass ja GltfDepthPass, kaksi luokkaa, jotka käyttävät yllä olevia luokkia näyttämön luomiseksi mainituilla tekniikoilla.

Radeon Cauldron -kehys sisältää sekä grafiikka-agnostisen että grafiikasta riippuvan koodin. Siten kehys voidaan jakaa kolmeen Visual Studio -projektiin:

  1. Framework_DX12: Kuten nimestä käy ilmi, tämä osa liittyy DirectX12: een. Toisin sanoen se sisältää kaiken Direct3D 12 -koodin.
  2. Framework_VK: Tämä osa sisältää kaikki asiaankuuluvat Vulkan-koodit.

Muuten on olemassa myös kolmas komponentti, joka on yhteinen molemmille edellä mainituille Visual Studio -projekteille. Tätä osaa kutsutaan nimellä 'Framework_Common'. Yhteinen komponentti sisältää seuraavat näkökohdat:

GLTF-rakenteet

  • Muunnos- ja animaatiokoodi
  • Ladataan kuvia
  • Ikkunoiden käsittely
  • Kamera

Radeon Cauldron -kehys tukee jälkikäsittelytekniikoita, kuten kukinta, sumennus, näytteenotto ja sävykartoitus. SDK esittelee kaksi uutta alijäsentä. Nämä ovat hyödyllisiä väliaikaisten renderöintikohteiden luomisessa:

bool OnCreateWindowSizeDependentResources (…) // luo vaikutukseen tarvittavat väliaikaiset renderöintikohteet

void OnDestroyWindowSizeDependentResources (…)

Mielenkiintoista on, että sisäisesti testattu AMD Radeon Cauldron 1.0 SDK antaa ohjelmoijille mahdollisuuden toteuttaa asioita myös alemmalla tasolla. Yllättäen jopa näillä tasoilla he voivat käyttää useita muistinhallintaohjelmia varmistaakseen asioiden sujuvuuden. Jotkut vielä alemmalla tasolla toimivista muistinhallintaohjelmista ovat seuraavat:

  • StaticBufferPool: Tämä komponentti sisältää staattiset tiedot. Lisäksi siinä on myös alijako.
  • DynamicBufferRing: Tämä on pyöreä puskurijärjestelmä. Ohjelmoijat voivat luottaa tähän vakiopuskureissa.
  • Rakenne: Mahdollistaa tekstuurien lataamisen ja renderöintikohteiden luomisen. Mielenkiintoista on, että tekstuurijärjestelmä mahdollistaa myös näkymien luomisen renderöintikohteille.
  • ShaderCompilerHelper: Tämä on tehokas työkalu, joka auttaa lähdekoodin kokoamisessa. ShaderCompilerHelper välimuisti myös binäärit. Tarpeetonta mainita, että tämä vähentää merkittävästi latausaikoja.
  • UploadHeap: Tämä työkalu antaa ohjelmoijille mahdollisuuden jakaa varauksia järjestelmän muistipoolista tietojen lataamiseen, joka sisältää olennaisesti tekstuureja sekä puskureita videomuistipuskuriin.

Koska tämä on avoimen lähdekoodin SDK, AMD kehottaa varhaisia ​​ulkopuolisia käyttäjiä testaamaan samaa ja antamaan palautetta. On melko todennäköistä, että AMD analysoi saman ja toteuttaa joitain ehdotuksia Radeon Cauldron SDK: n parantamiseksi.

Tunnisteet tark AMD Navi Radeon