AMD proširuje Radeon Cauldron 1.0 SDK na zajednicu za programiranje koja koristi pojednostavljeni C ++

Hardver / AMD proširuje Radeon Cauldron 1.0 SDK na zajednicu za programiranje koja koristi pojednostavljeni C ++ 4 minute čitanja

Nakon opsežnog internog testiranja i iznenađujuće brzog usvajanja unutar njih, AMD sada nudi Radeon Cauldron 1.0 Kit za razvoj softvera (SDK) programskoj zajednici. Tvrtka osigurava da okvir nije samo vrlo pojednostavljen, već je i izuzetno svestran. Drugim riječima, Radeon Cauldron SDK je lako shvatljiv za početnike. Štoviše, okvir je izuzetno fleksibilan za programere koji ga žele proširiti novim značajkama.



AMD nudi jedan od svojih najpopularnijih okviri za razvoj softvera masama. Prvo sveobuhvatno i stabilno izdanje Radeon Cauldron SDK sada je dostupno programerima. Radeon Cauldron je u osnovi okvirna knjižnica za brzo prototipiranje. Koristi se u uzorcima i efektima AMD SDK. SDK neometano radi s API-jema Vulkan ili Direct3D 12. AMD je izradio cijeli okvir dostupno za preuzimanje na GitHub-u , najpopularnije spremište za softver otvorenog koda koje je nedavno kupio Microsoft. Zanimljivo je da AMD također ima prenio GltfSample . Aplikacija čudnog naziva dizajnirana je, razvijena i izrađena pomoću okvira kotla. Inače, svi relevantni resursi za Radeon Cauldron SDK dostupni su i na GitHubu.

Što je Radeon Cauldron SDK i kako će to utjecati na razvoj softvera, aplikacija ili igara?

Radeon Cauldron je u osnovi cijeli okvir ili cjeloviti komplet za razvoj softvera za brzo prototipiranje. Primarno će se koristiti u AMD SDK uzorcima i efektima. Kao što je gore spomenuto, može optimalno surađivati ​​s Vulkanom, koji je preferirani 3D grafički i računalni API s niskim troškovima. Štoviše, SDK također radi s najnovijom verzijom Direct3D-a, koja je Direct3D 12.



SDK za Radeon Cauldron prvi je put objavljen interno u AMD-u. Iako se očekivalo, početno izdanje iznimno su prihvatili i prihvatili AMD-ovi interni timovi za razvoj softvera. Nakon prvog pilot projekta, AMD je potvrdio da su čak i druge tangencijalne skupine unutar tvrtke počele pokazivati ​​interes. Na kraju je SDK postao jedan od omiljenih okvira za timove koji su rukovali alatima, pokretačkim programima, pa čak i softverom te demonstracijama značajki.



AMD nudi Radeon Cauldron 1.0 na GPUOpen pod licencom MIT otvorenog koda. Tvrtka je više puta naglasila lakoću razumijevanja koda i lakoću proširenja istog. Drugim riječima, čak i ako iskusni programeri nisu dostupni, novi korisnici mogu brzo dešifrirati više komponenata i njihove pojedinačne funkcije, kao i ovisnosti. To bi trebalo znatno pojednostaviti postupak složenog razvoja i osigurati da svi korisnici budu samopouzdani i ugodni dok isti koriste. Štoviše, programeri mogu brzo i učinkovito proširiti kôd, ne brinući se hoće li kočiti prošli posao ili nešto slomiti u procesu.



Okvir je iznenađujuće fleksibilan i svestran, uvjerava AMD. Tvrdnje se čine istinitima prvenstveno jer SDK koristi vanilin C ++. AMD je isto razvio s jasnim ciljem da slijedi filozofiju 'jedna značajka, jedna klasa, jedna datoteka'. Nepotrebno je spominjati da to znači da programeri ne trebaju navigirati složenim i višestrukim datotekama, dok jednostavno pokušavaju razumjeti kako aplikacija ili web platforma funkcioniraju. AMD je osigurao da se Radeon Cauldron SDK drži najjednostavnijeg oblika nastave. Drugim riječima, gdje god je to moguće, većina klasa implementirat će sljedeće metode:

razred MyTechnique

{



bool OnCreate (…); // kreira cjevovode, statičku geometriju i druge jednokratne inicijalizacije

poništi OnDestroy (…);

void OnDraw (…) // koristi stvorene resurse za crtanje tehnike

}

SDK Radeon Cauldron omogućuje dvije tehnike potrebne za generiranje glTF 2.0 modela. Iako je jedan potreban za prolaz PBR (Physical Based Rendering), drugi je namijenjen za prolazak samo u dubinu. Kao produžetak postoje dvije klase nazvane GltfPbrPass i GltfDepthPass. Podaci glTF modela podijeljeni su u tri datoteke:

  1. GltfCommon, API-agnostička klasa koja učitava i brine o transformaciji i animaciji scene, uključujući skinnin klasu MyTechnique {bool OnCreate (…); // stvara cjevovode, statičku geometriju i ostale jednokratne inicijalizacije void OnDestroy (…); void OnDraw (…) // koristi stvorene resurse za crtanje tehnike} g.
  2. GltfTextureAndBuffers, klasa koja učitava i čuva sve teksture, matrice za skidanje i me uspremnike za geometriju.
  3. GltfPbrPass i GltfDepthPass, dvije klase koje koriste gore navedene klase za prikazivanje scene uz spomenute tehnike.

Okvir Radeon Cauldron sadrži i grafički agnostički i grafički ovisan kôd. Stoga se okvir može podijeliti na tri projekta Visual Studio:

  1. Framework_DX12: Kao što je vidljivo iz naziva, ovaj se dio odnosi na DirectX12. Drugim riječima, sadrži sav Direct3D 12 kod.
  2. Framework_VK: Ovaj dio sadrži sav relevantni Vulkan kod.

Usput, postoji i treća komponenta, koja je zajednička za obje gore spomenute vrste Visual Studio projekata. Ovaj se dio naziva 'Framework_Common'. Uobičajena komponenta sadrži sljedeće aspekte:

GLTF strukture

  • Transformacijski i animacijski kod
  • Učitavanje slika
  • Rukovanje prozorima
  • Fotoaparat

Okvir Radeon Cauldron podržava tehnike naknadne obrade poput cvjetanja, zamućenja, smanjenja uzorkovanja i mapiranja tonova. SDK predstavlja dva nova podčlana. Oni su korisni u stvaranju privremenih ciljeva prikaza:

bool OnCreateWindowSizeDependentResources (…) // stvara privremene ciljeve prikaza koji su potrebni za učinak

poništi OnDestroyWindowSizeDependentResources (…)

Zanimljivo je da interno testirani AMD Radeon Cauldron 1.0 SDK omogućuje programerima da implementiraju stvari i na nižoj razini. Iznenađujuće je da čak i na tim razinama mogu koristiti nekoliko upravitelja memorije kako bi osigurali da stvari teku glatko. Neki od upravitelja memorije koji još uvijek rade i na nižoj razini su sljedeći:

  • StaticBufferPool: Ova komponenta sadrži statičke podatke. Štoviše, sadrži i sublokaciju.
  • DynamicBufferRing: Ovo je kružni međuspremnik. Programeri se na to mogu osloniti za stalne međuspremnike.
  • Tekstura: omogućuje učitavanje tekstura i stvaranje ciljeva prikaza. Zanimljivo je da sustav Tekstura također omogućuje stvaranje prikaza za ciljeve prikaza.
  • ShaderCompilerHelper: Ovo je moćan alat koji pomaže u sastavljanju izvornog koda. ShaderCompilerHelper također kešira binarne datoteke. Nepotrebno je spominjati, ovo značajno smanjuje vrijeme utovara.
  • UploadHeap: Ovaj alat omogućuje programerima da dodijele iz zbirke sistemske memorije za prijenos podataka, što u osnovi uključuje teksture, kao i međuspremnike u međuspremnik video memorije.

Budući da je ovo SDK otvorenog koda, AMD potiče rane vanjske korisnike da iste testiraju i ponude svoje povratne informacije. Sasvim je vjerojatno da će AMD isto analizirati i primijeniti neke prijedloge za poboljšanje Radeon Cauldron SDK-a.

Oznake amd AMD Navi radeon