Sobre o projeto

Elemental é uma biblioteca de baixo nível projetada para a programação de GPU moderna, oferecendo uma API C unificada que abstrai a verbosidade do Direct3D 12, Vulkan e Metal. Em vez de simplificar os conceitos de GPU, ela foca em simplificar o acesso a eles, mantendo recursos, memória, filas e pipelines visíveis para o desenvolvedor. As principais capacidades incluem: - Gerenciamento de janelas e ciclo de vida de aplicativos multiplataforma - Manipulação de entrada para teclado, mouse, gamepad e toque - Filas de comando de gráficos e computação, listas de comando e swap chains - Heaps de GPU, recursos e acesso a recursos bindless - Sincronização e barreiras de recursos - Suporte para pipelines de gráficos/computação, render passes, compute shaders, mesh shaders e ray tracing - Ferramentas de compilação de shaders HLSL Ela é destinada ao desenvolvimento de renderizadores personalizados, motores de jogos, experimentos de renderização orientados por GPU, simulações e projetos de computação de propósito geral. A biblioteca suporta Windows (D3D12, Vulkan), Linux (Vulkan/Wayland), macOS (Metal) e iOS (Metal).