Loon GPU:告别 Buffer,指针即一切

Writing a bindless GPU abstraction layer

12surprisetalk💬 0
Loon GPU:告别 Buffer,指针即一切

受 Sebastian Aaltonen 关于简化图形 API 文章的启发,我开发了 Loon GPU 项目,试图在现有 Vulkan 和 Metal 后端上实现一种更接近硬件本质的抽象层。在这个设计中,我们彻底抛弃了传统的 Buffer 对象和显式的 Bind Groups,转而让 GPU 指针成为一等公民,通过 malloc 和 free 直接管理内存。纹理和采样器采用 Bindless 模式,通过索引访问巨大的纹理堆。虽然目前在使用 Slang 进行跨平台着色器编译时遇到了一些挑战,特别是 Metal 后端的适配问题,但这种将复杂绑定模型简化为指针传递的方式,让 CPU 端的代码逻辑变得异常自然,仿佛直接在操作 C 语言对象。这是一个充满野心的实验,旨在证明现代图形 API 可以比现在简单得多。

"虽然它看起来可能不会带来巨大的差异,但 API 直接提供指针这一特性,确实让 CPU 端的代码感觉自然得多。"

同日更多故事 · 2026-07-14