Společnost AMD nový otevřený framework , který poskytuje nástroje pro rychlý vývoj prototypů her a grafických aplikací využívajících API Vulkan nebo DirectX12. Framework byl původně používán uvnitř společnosti k vyvíjení demonstrací a příkladů pro SDK. Kód projektu je napsán v jazyce C++11 a je licencován pod MIT licencí.
Caudron se představuje jako zjednodušený herní engine, který je snadno použitelný a lze jej modifikovat během vývoje pro různé experimenty. Engine se připojuje k aplikaci ve formě staticky linkované knihovny. Komponenty engine jsou rozděleny do čtyř hlavních kategorií:
- Manažeři a načítače zdrojů. Podporuje načítání textur ve formátech DDS, PNG, JPG a další s možností vytváření pohledů obrazů. Nabízí několik implementací bufferů pro ukládání vrcholů a indexů pro statické i dynamicky měnící se geometrické objekty a také pro ukládání textur před načtením do video paměti;
- Renderovací moduly, které umožňují načítání a vykreslování 3D modelů ve formátu glTF 2.0 s podporou animace pohybu kamery, kostry a světel, texturování, fyzikálně korektního vykreslování materiálů (PBR), bodových světel a stínů. Podporuje vykreslování 2D objektů ve formátech PostProcPS/PS s použitím vlastního shaderu ve fázi postprocessingu. Také je k dispozici komponent pro vytváření GUI a soubor widgetů pro vytváření souřadnicové sítě a rámcového kostky (pro ohraničující rámečky a kužely světla/kamery);
- Soubor pomocných zpracovatelů a kódu pro konfiguraci specifickou pro API Vulkan;
- Typický kód pro různé operační systémy pro zpracování operací škálování, okenních a celoobrazovkových režimů, zpracování zpráv mezi okny atd.
Součástí jsou také další knihovny: AGS pro získávání informací o GPU, VulkanMemoryAllocator pro správu paměti v aplikacích Vulkan, d3d12x pro použití API D3D12, dxc s kompilátorem shaderů pro DirectX, imgui s GUI knihovnou, json pro manipulaci s daty ve formátu JSON.
Zdroj: opennet.ru
