Spoločnosť AMD rozširuje sadu SDK Radeon Cauldron 1.0 o programátorskú komunitu, ktorá používa zjednodušený jazyk C ++

Hardware / Spoločnosť AMD rozširuje sadu SDK Radeon Cauldron 1.0 o programátorskú komunitu, ktorá používa zjednodušený jazyk C ++ 4 minúty prečítané

Po rozsiahlych interných testoch a prekvapivo rýchlom prijatí v rámci ponuky teraz AMD ponúka programátorskej komunite Radeon Cauldron 1.0 Software Development Kit (SDK). Spoločnosť zaručuje, že rámec je nielen veľmi zjednodušený, ale aj pozoruhodne všestranný. Inými slovami, sada Radeon Cauldron SDK je pre začiatočníkov ľahko uchopiteľná. Rámec je navyše značne flexibilný pre programátorov, ktorí ho chcú rozšíriť o nové funkcie.



AMD ponúka jeden z najpopulárnejších rámce pre vývoj softvéru masám. Prvé komplexné a stabilné vydanie sady Radeon Cauldron SDK je teraz k dispozícii programátorom. Radeon Cauldron je v podstate rámcová knižnica pre rýchle prototypovanie. Používa sa vo vzorkách a efektoch AMD SDK. Sada SDK pracuje bez problémov s rozhraniami Vulkan alebo Direct3D 12 API. Spoločnosť AMD vytvorila celý rámec k dispozícii na stiahnutie na GitHub , najpopulárnejšie úložisko softvéru s otvoreným zdrojovým kódom, ktoré nedávno získala spoločnosť Microsoft. Je zaujímavé, že AMD má tiež nahral GltfSample . Podivne pomenovaná aplikácia bola navrhnutá, vyvinutá a postavená pomocou rámca Cauldron. Mimochodom, všetky príslušné zdroje k Radeon Cauldron SDK sú k dispozícii aj na GitHub.

Čo je SDK Radeon Cauldron a aký vplyv to bude mať na vývoj softvéru, aplikácií alebo hier?

Radeon Cauldron je v podstate celý rámec alebo kompletná vývojová súprava softvéru pre rýchle prototypovanie. Primárne sa bude používať v ukážkach a efektoch AMD SDK. Ako už bolo spomenuté vyššie, môže optimálne fungovať s programom Vulkan, ktorý je preferovanou platformou 3D grafiky a výpočtového rozhrania API s nízkou prevádzkou. SDK navyše funguje aj s najnovšou verziou Direct3D, ktorou je Direct3D 12.



Sada Radeon Cauldron SDK bola najskôr interne vydaná v AMD. Aj keď sa to očakávalo, počiatočné vydanie bolo výnimočne prijaté a prijaté internými vývojovými tímami AMD. Po prvom pilotnom projekte spoločnosť AMD potvrdila, že záujem prejavili aj ďalšie tangenciálne skupiny v rámci spoločnosti. SDK sa nakoniec stala jedným z preferovaných rámcov pre tímy, ktoré sa zaoberali ukážkami nástrojov, ovládačov a dokonca aj softvéru a funkcií.



AMD poskytuje Radeon Cauldron 1.0 na GPUOpen pod licenciou open source MIT. Spoločnosť opakovane zdôrazňovala ľahkosť porozumenia kódu a ľahkosť jeho rozširovania. Inými slovami, aj keď skúsení programátori nie sú k dispozícii, noví používatelia môžu rýchlo dešifrovať viaceré komponenty a ich jednotlivé funkcie, ako aj závislosti. To by malo výrazne zjednodušiť proces komplexného vývoja a zaistiť, aby všetci používatelia boli sebavedomí a pohodlní pri ich používaní. Programátori navyše môžu rýchlo a efektívne rozšíriť kód bez obáv z brzdenia minulej práce alebo narušenia procesu.



Rámec je prekvapivo flexibilný a všestranný, zaručuje AMD. Tvrdenia sa javia pravdivé predovšetkým preto, že SDK používa vanilkový C ++. Spoločnosť AMD vyvinula to isté s jasným cieľom nasledovať filozofiu „jednej funkcie, jednej triedy, jedného súboru“. Je potrebné spomenúť, že to znamená, že programátori nemusia prechádzať zložitými a viacerými súbormi a jednoducho sa pokúšať pochopiť, ako aplikácia alebo webová platforma funguje. Spoločnosť AMD zabezpečila, že sa sada Radeon Cauldron SDK bude držať najjednoduchšej formy tried. Inými slovami, všade, kde je to možné, bude väčšina tried implementovať nasledujúce metódy:

triedy MyTechnique

{



bool OnCreate (...); // vytvorí kanály, statickú geometriu a ďalšie jednorazové inicializácie

void OnDestroy (...);

void OnDraw (…) // na vytvorenie techniky použijeme vytvorené zdroje

}

Sada Radeon Cauldron SDK umožňuje dve techniky, ktoré sú potrebné na vykreslenie modelov glTF 2.0. Zatiaľ čo jeden je potrebný na prechod PBR (Physically Based Rendering), druhý je určený na prechod iba do hĺbky. Ako rozšírenie existujú dve triedy nazývané GltfPbrPass a GltfDepthPass. Údaje modelu glTF sú rozdelené do troch súborov:

  1. GltfCommon, API-agnostická trieda, ktorá načítava a stará sa o transformáciu a animáciu scény, vrátane triedy skinnin MyTechnique {bool OnCreate (...); // vytvorí kanály, statickú geometriu a ďalšie jednorazové inicializácie void OnDestroy (…); void OnDraw (…) // použite vytvorené prostriedky na nakreslenie techniky} g.
  2. GltfTexturesAndBuffers, trieda, ktorá načítava a uchováva všetky textúry, matice skinov a vyrovnávacie pamäte geometrie.
  3. GltfPbrPass a GltfDepthPass, dve triedy, ktoré používajú vyššie uvedené triedy na vykreslenie scény spomenutými technikami.

Rámec Radeon Cauldron obsahuje graficko-agnostický aj graficky závislý kód. Rámec je preto možné rozdeliť na tri projekty Visual Studio:

  1. Framework_DX12: Ako je zrejmé z názvu, táto časť sa týka DirectX12. Inými slovami, obsahuje všetok kód Direct3D 12.
  2. Framework_VK: Táto časť obsahuje všetok relevantný kód Vulkan.

Mimochodom, existuje aj tretí komponent, ktorý je spoločný pre oba typy projektov Visual Studio uvedené vyššie. Táto časť sa nazýva ‘Framework_Common‘. Spoločný komponent obsahuje nasledujúce aspekty:

Štruktúry GLTF

  • Transformačný a animačný kód
  • Načítavajú sa obrázky
  • Manipulácia s oknami
  • fotoaparát

Rámec Radeon Cauldron podporuje techniky následného spracovania, ako napríklad Bloom, Blur, převzorkovanie a mapovanie tónov. SDK predstavuje dvoch nových členov. Sú užitočné pri vytváraní dočasných cieľov vykreslenia:

bool OnCreateWindowSizeDependentResources (…) // vytvorí dočasné ciele vykreslenia potrebné pre tento efekt

void OnDestroyWindowSizeDependentResources (…)

Je zaujímavé, že interne testovaná sada AMD Radeon Cauldron 1.0 SDK umožňuje programátorom implementovať veci aj na nižšej úrovni. Prekvapivo, aj na týchto úrovniach môžu používať niekoľko správcov pamäte na zabezpečenie hladkého priebehu. Niektorí správcovia pamäte, ktorí stále fungujú aj na nižšej úrovni, sú:

  • StaticBufferPool: Táto súčasť obsahuje statické údaje. Okrem toho obsahuje aj čiastkové pridelenie.
  • DynamicBufferRing: Toto je kruhový vyrovnávací systém. Programátori sa na to môžu pri konštantných vyrovnávacích pamätiach spoľahnúť.
  • Textúra: Umožňuje načítanie textúr a vytvorenie cieľov vykreslenia. Je zaujímavé, že systém Texture umožňuje aj vytváranie pohľadov na ciele vykreslenia.
  • ShaderCompilerHelper: Toto je výkonný nástroj, ktorý pomáha pri kompilácii zdrojového kódu. ShaderCompilerHelper tiež ukladá binárne súbory do medzipamäte. Netreba pripomínať, že to výrazne skracuje doby načítania.
  • UploadHeap: Tento nástroj umožňuje programátorom sub-alokovať zo systémovej pamäte na nahrávanie údajov, ktoré v podstate zahŕňajú textúry a medzipamäte do medzipamäte videopamäte.

Pretože sa jedná o SDK s otvoreným zdrojovým kódom, AMD naliehavo vyzýva začínajúcich používateľov, aby ich otestovali a ponúkli spätnú väzbu. Je dosť pravdepodobné, že AMD bude analyzovať to isté a bude implementovať niektoré z návrhov na vylepšenie Radeon Cauldron SDK.

Značky pozm AMD Navi radeon