Skip to content

ZenFG ​

自主构建渲染功能,组合不同 GPU 系统,看清每一帧的执行过程。

ZenFG 通过显式 FrameGraph 协调渲染与计算工作。直接使用 WebGPU 或 wgpu 开发领域功能,或接入已有引擎,再把它们组合到同一帧中。 场景、材质、管线和渲染策略由你掌控;ZenFG 负责声明的依赖、执行顺序、 瞬态资源生命周期与诊断。TypeScript 与 Rust 运行时共享语义和可移植 Snapshot, 并提供可嵌入的 Inspector。

为什么选择 ZenFG ​

  • 自主实现 — 使用原生 GPU API 或兼容的第三方库构建功能,保留自己的渲染架构。
  • 组合已有成果 — 将外部引擎和图内渲染、计算模块组合使用,显式声明共享资源与执行边界。
  • 看清实际流程 — 用 Inspector 检查帧图、资源和可选 CPU/GPU 计时;导出 Snapshot,结合代码进行人工或 AI 辅助分析,再次捕获以验证修改。
  • 协调依赖与资源 — 保留必要工作、裁剪未使用的工作,管理瞬态资源的分配、生命周期、别名复用与资源池。

Three.js 协同渲染:两个渲染器共享颜色与深度附件,在同一场景中互相遮挡。

也可以查看 Reference Renderer 的 GPU 裁剪与间接绘制、 PlayCanvas 流式 GSplat(需要网络)和 TypeGPU Slime Mold 的计算与渲染节点。 各示例的源码与说明记录了依赖版本和接入细节。

从这里开始 ​

更多指南和参考资料见文档索引。 修改公共语义、示例或发布产物前,请阅读英文贡献指南。 源码开发使用 pnpm 管理 JavaScript、Cargo 管理 Rust;在仓库根目录运行 pnpm install --frozen-lockfile 安装工作区依赖。

配合 AI 编程助手使用 ​

开发版本提供英文 Agent Skills,分别指导 WebGPU 集成、 Snapshot 数据处理和 Inspector 嵌入。 各包 README 说明了发布情况,以及使用 pnpm 安装和批准的步骤。 当前已发布的 npm 版本尚未提供此能力。

集成层级 ​

应用负责设备、渲染策略和呈现;ZenFG 协调图中声明的工作。具体录制、资源、执行与集成契约见各包指南:

发布包 ​

包用途发布版本文档
@zenfg/webgpuTypeScript/WebGPU FrameGraph 运行时Published package指南
@zenfg/snapshotSnapshot 1.2 类型、编解码、验证与规范Published package指南
@zenfg/inspector可嵌入的 DOM InspectorPublished package指南
zenfgRust/wgpu FrameGraph 运行时Published package指南
zenfg-snapshotRust Snapshot 1.2 编解码、验证与迁移Published package指南

方向 ​

我们正在探索可复用的 GPU-Driven Mesh、粒子与后处理模块,让独立渲染功能更容易组合并进入实际项目。

项目状态 ​

ZenFG 0.1.0 是首个非预发布版本。各包独立发版,当前已发布版本见上方注册表徽章。 1.0 前公共 API 仍可能变化;集成方应固定精确包版本,并在升级前查看 从 0.1.0 升级的迁移说明。

TypeScript 与 Rust 共享语义和可移植诊断,不追求源码级 API 一致。 Snapshot 数据格式使用独立于包版本的版本体系; 详情参阅兼容矩阵与更新日志。

许可证 ​

ZenFG 使用 MIT License。

开源 / MIT 许可