Logo cs.nowadaytechnol.com

AMD Rozšiřuje Radeon Cauldron 1.0 SDK O Programovací Komunitu, Která Používá Zjednodušený C ++

Obsah:

AMD Rozšiřuje Radeon Cauldron 1.0 SDK O Programovací Komunitu, Která Používá Zjednodušený C ++
AMD Rozšiřuje Radeon Cauldron 1.0 SDK O Programovací Komunitu, Která Používá Zjednodušený C ++

Video: AMD Rozšiřuje Radeon Cauldron 1.0 SDK O Programovací Komunitu, Která Používá Zjednodušený C ++

Video: AMD Rozšiřuje Radeon Cauldron 1.0 SDK O Programovací Komunitu, Která Používá Zjednodušený C ++
Video: Má se vypínat zdroj u PC? 2024, Březen
Anonim

Po rozsáhlých interních testech a překvapivě rychlém přijetí v rámci AMD nyní programátorské komunitě nabízí Radeon Cauldron 1.0 Software Development Kit (SDK). Společnost zajišťuje, že rámec je nejen vysoce zjednodušený, ale také pozoruhodně univerzální. Jinými slovy, sada Radeon Cauldron SDK je pro začátečníky snadno uchopitelná. Rámec je navíc značně flexibilní pro programátory, kteří ho chtějí rozšířit o nové funkce.

AMD nabízí jeden ze svých nejpopulárnějších rámců pro vývoj softwaru pro masy. Programátorům je nyní k dispozici první komplexní a stabilní vydání sady Radeon Cauldron SDK. Radeon Cauldron je v podstatě rámcová knihovna pro rychlé prototypování. Používá se v ukázkách a efektech AMD SDK. SDK funguje bez problémů s API Vulkan nebo Direct3D 12. Společnost AMD zpřístupnila celý rámec ke stažení na GitHubu, nejpopulárnějším úložišti softwaru s otevřeným zdrojovým kódem, které nedávno získala společnost Microsoft. Zajímavé je, že AMD také nahrálo GltfSample. Podivně pojmenovaná aplikace byla navržena, vyvinuta a vytvořena pomocí rámce Cauldron. Mimochodem, všechny relevantní zdroje k Radeon Cauldron SDK jsou k dispozici také na GitHubu.

Co je SDK Radeon Cauldron a jak to ovlivní vývoj softwaru, aplikací nebo her?

Radeon Cauldron je v podstatě celý rámec nebo kompletní Software Development Kit pro rychlé prototypování. Bude se primárně používat v ukázkách a efektech AMD SDK. Jak již bylo zmíněno výše, může optimálně fungovat s Vulkanem, který je preferován s nízkou režií, cross-platformní 3D grafikou a výpočetním API. SDK navíc funguje také s nejnovější verzí Direct3D, kterou je Direct3D 12.

Sada Radeon Cauldron SDK byla poprvé interně vydána v AMD. I když se očekávalo, počáteční vydání bylo výjimečně přijato a přijato interními vývojovými týmy AMD. Po prvním pilotním projektu AMD potvrdilo, že zájem projevily i další tangenciální skupiny v rámci společnosti. Nakonec se SDK stala jedním z preferovaných rámců pro týmy, které se zabývaly ukázkami nástrojů, ovladačů a dokonce i softwaru a funkcí.

AMD poskytuje Radeon Cauldron 1.0 na GPUOpen pod open source licencí MIT. Společnost opakovaně zdůrazňovala snadné pochopení kódu a jeho snadné rozšíření. Jinými slovy, i když zkušení programátoři nejsou k dispozici, noví uživatelé mohou rychle dešifrovat více komponent a jejich jednotlivé funkce i závislosti. To by mělo výrazně zjednodušit proces komplexního vývoje a zajistit, aby všichni uživatelé měli jistotu a pohodlí při jejich používání. Programátoři navíc mohou rychle a efektivně rozšířit kód bez obav z narušení minulé práce nebo rozbití něčeho v procesu.

Rámec je překvapivě flexibilní a všestranný, zaručuje AMD. Deklarace se jeví jako pravdivé primárně proto, že SDK používá vanillC ++. Společnost AMD vyvinula totéž s jasným cílem dodržovat filozofii „jedné funkce, jedné třídy, jednoho souboru“. Není nutné zmínit, že to znamená, že programátoři nemusí procházet složitými a více soubory a jednoduše se pokoušet pochopit, jak aplikace nebo webová platforma funguje. AMD zajistila, že se Radeon Cauldron SDK bude držet nejjednodušší formy tříd. Jinými slovy, kdekoli je to možné, většina tříd implementuje následující metody:

třída MyTechnique

{

bool OnCreate (…); // vytvoří potrubí, statickou geometrii a další jednorázové inicializace

void OnDestroy (…);

void OnDraw (…) // k vytvoření techniky použijte vytvořené zdroje

}

Sada Radeon Cauldron SDK umožňuje dvě techniky potřebné k vykreslení modelů glTF 2.0. Zatímco jeden je potřebný pro průchod PBR (Physically Based Rendering), druhý je určen pro průchod pouze do hloubky. Jako rozšíření existují dvě třídy zvané GltfPbrPass a GltfDepthPass. Model datof glTF je rozdělen do tří souborů:

  1. GltfCommon, API-agnostická třída, která načítá a stará se o transformaci a animaci scény, včetně třídy skinnin MyTechnique {bool OnCreate (…); // vytvoří potrubí, statickou geometrii a další jednorázové inicializace void OnDestroy (…); void OnDraw (…) // použijte vytvořené prostředky k nakreslení techniky} g.
  2. GltfTexturesAndBuffers, třída, která načte a drží všechny textury, matice skinů a vyrovnávací paměti geometrie.
  3. GltfPbrPass a GltfDepthPass, dvě třídy, které používají výše uvedené třídy k vykreslení scény pomocí uvedených technik.

Rámec Radeon Cauldron obsahuje jak graficko-agnostický, tak graficky závislý kód. Rámec lze tedy rozdělit na tři projekty sady Visual Studio:

  1. Framework_DX12: Jak je patrné z názvu, tato část se týká DirectX12. Jinými slovy obsahuje veškerý kód Direct3D 12.
  2. Framework_VK: Tato část obsahuje veškerý relevantní kód Vulkan.

Mimochodem, existuje také třetí komponenta, která je společná pro oba výše uvedené typy projektů Visual Studio. Tato část se nazývá „Framework_Common“. Společná součást obsahuje následující aspekty:

GLTF struktury

  • Transformační a animační kód
  • Načítání obrázků
  • Manipulace s okny
  • Fotoaparát

Rámec Radeon Cauldron podporuje techniky následného zpracování, jako je rozkvět, rozmazání, převzorkování a mapování tónů. SDK zavádí dva nové dílčí členy. Jsou užitečné při vytváření dočasných cílů vykreslení:

bool OnCreateWindowSizeDependentResources (…) // vytvoří dočasné cíle vykreslení potřebné pro efekt

void OnDestroyWindowSizeDependentResources (…)

Je zajímavé, že interně testovaná sada AMD Radeon Cauldron 1.0 SDK umožňuje programátorům implementovat věci i na nižší úrovni. Překvapivě, i na těchto úrovních, mohou používat několik správců paměti, aby zajistili hladký chod. Někteří správci paměti, kteří stále pracují i na nižší úrovni, jsou následující:

  • StaticBufferPool: Tato součást obsahuje statická data. Kromě toho obsahuje také sub-alokaci.
  • DynamicBufferRing: Toto je kruhový vyrovnávací systém. Programátoři se na to mohou spolehnout na konstantní vyrovnávací paměti.
  • Textura: Umožňuje načítání textur a vytváření cílů vykreslení. Je zajímavé, že systém Texture také umožňuje vytváření pohledů pro cíle vykreslení.
  • ShaderCompilerHelper: Toto je výkonný nástroj, který pomáhá při kompilaci zdrojového kódu. ShaderCompilerHelper také ukládá binární soubory do mezipaměti. Není třeba zmínit, že to výrazně snižuje časy načítání.
  • UploadHeap: Tento nástroj umožňuje programátorům sub-alokovat ze systémové paměti paměti a nahrát data, která v podstatě zahrnují textury i vyrovnávací paměti do vyrovnávací paměti grafické paměti.

Jelikož se jedná o open-source SDK, AMD naléhavě vyzývá začínající uživatele, aby je otestovali a nabídli zpětnou vazbu. Je docela pravděpodobné, že AMD bude analyzovat to samé a implementovat některé návrhy na vylepšení SDK Radeon Cauldron.