AMD ny åben kilde rammeværk , som tilbyder værktøjer til hurtig udvikling af prototype-spil og grafiske applikationer, der bruger Vulkan eller DirectX12 API'en. Rammeværket blev oprindeligt anvendt internt i virksomheden til at udvikle demonstrationer og eksempler til SDK'en. Projektets kode er skrevet i C++11 og under MIT-licensen.
Caudron præsenteres som en forenklet spilmotor, der er let at lære og kan modificeres under udviklingen til at udføre forskellige eksperimenter. Motoren tilknyttes applikationen i form af en statisk linket bibliotek. Motorens komponenter er opdelt i fire hovedkategorier:
- Managere og indlæsere af ressourcer. Supporterer indlæsning af teksturer i DDS, PNG, JPG-formater osv. med mulighed for at oprette visninger af billeder. Flere implementationer af buffere til opbevaring af vertex- og indexdata til statiske og dynamisk ændrede geometriske objekter, samt til opbevaring af teksturer før de indlæses i videohukommelsen tilbydes;
- Render-moduler, der muliggør indlæsning og rendering af 3D-modeller i glTF 2.0 formatet med støtte til animation af kamerabevægelse, skeletter og lys, teksturoverlejring, fysisk korrekt rendering af materialer (PBR), punktlys og skygger. Rendering af 2D-objekter understøttes i PostProcPS/PS-formater ved hjælp af en egen shader i post-processing stadiet. Der er også tilgængelig komponenten til oprettelse af GUI og et sæt widgets til opbygning af koordinatrummet og en wireframe kube (til grænser og lys-/kamerakonus);
- Et sæt hjælpefunktioner og kode til konfiguration specifik for Vulkan API;
- Standardkode til forskellige operativsystemer til behandling af skalering, vindues- og fuldskærms tilstande, behandling af meddelelser mellem vinduer osv.
Derudover inkluderer pakken ekstra biblioteker: AGS til at få information om GPU'er, VulkanMemoryAllocator til hukommelsesstyring i Vulkan-applikationer, d3d12x til brug af D3D12 API'en, dxc med shader compiler til DirectX, imgui med GUI-bibliotek og json til manipulation af data i JSON-format.
Kilde: opennet.ru
