这个项目能做什么

Elemental 是一个专为现代 GPU 编程设计的低级库,提供统一的 C API,用以抽象 Direct3D 12、Vulkan 和 Metal 的样板代码。它并非旨在简化 GPU 概念,而是专注于简化对这些概念的访问,使资源、内存、队列和管线对开发者可见。 核心能力包括: - 跨平台的应用程序生命周期和窗口管理 - 键盘、鼠标、游戏手柄和触摸的输入处理 - 图形和计算命令队列、命令列表以及交换链 - GPU 堆、资源以及无绑定(bindless)资源访问 - 同步和资源屏障 - 支持图形/计算管线、渲染通道、计算着色器、网格着色器(mesh shaders)和光线追踪 - HLSL 着色器编译工具 该库旨在用于开发自定义渲染器、游戏引擎、GPU 驱动的渲染实验、模拟以及通用计算项目。该库支持 Windows (D3D12, Vulkan)、Linux (Vulkan/Wayland)、macOS (Metal) 和 iOS (Metal)。