Skip to content

概述

Zephyr3d是一个面向浏览器的3D渲染框架,提供了两套API接口及所见即所得的编辑器


API

Device API

DeviceAPI提供了一组面向底层的抽象封装接口,允许用户使用完全相同的方式调用WebGL,WebGL2和WebGPU图形接口。这些接口覆盖了绝大多数的底层API能力,可以轻松支持跨API的图形渲染。 跨平台渲染的一个主要困难是Shader语言不同,WebGL和WebGL2使用GLSL而WebGPU使用WGSL,为了能够统一Shader的编写,我们实现了一套动态生成Shader的功能,用户可以使用原生Javascript 编写Shader,对于不同的后端,系统自动生成对应的Shader代码,不存在繁琐的字符串拼接,不存在大量的#ifdef,具有极高的灵活性。

Scene API

SceneAPI是建立在DeviceAPI基础上的一个上层渲染框架,既作为DeviceAPI的测试环境,也可直接用于图形开发。目前SceneAPI已实现的功能有:

  • 基于SceneGraph的场景管理
  • Clustered光照
  • PBR/IBL
  • ShadowMap(PCF/ESM/VSM/CSM)
  • 骨骼动画及关键帧动画
  • GPU实例渲染
  • 地形渲染
  • 大气渲染
  • 水面渲染
  • 后处理(Tonemap, Bloom, TAA, FXAA, SSAO等)
  • ImGui绑定

编辑器

Zephyr3d编辑器运行于浏览器中,无需下载安装,可用于交互式网页3D应用开发。

主要功能:

  • 项目管理

    • 新建/导入/导出项目
    • 一键发布Web应用
  • 场景编辑

    • 物体摆放
    • 属性编辑
    • 地形编辑
  • 动画编辑

    为场景节点创建和编辑关键帧动画和动画轨道

  • 创建/编辑材质

    使用蓝图创建和编辑自定义材质

  • 脚本编写

    编辑器内编写TS脚本并绑定到场景实体

  • 资产管理

    • 导入外部GLTF/GLB模型
    • 预制件系统
    • 使用IndexedDB存储项目资产

Released under the MIT License.