1个不稳定版本
0.4.0 | 2024年8月3日 |
---|
#295 在 图形API
每月139次下载
38KB
870 代码行
在wgpu和winit之上提供了一个低成本抽象层,以使它们的API更加易用。
这是一个正在进行中的项目。最初这个项目是打算替换loitsu中的渲染器LoiRen,但是项目被拆分了。也许有一天还会实现这个目标。目前大部分设置都是硬编码的,这将会改变。
状态
Taika处于早期开发阶段,这意味着API将会有大的变化。然而,它目前被用于一个生产就绪的游戏,这为库提供了一个很好的测试平台。
目标
- 简化窗口创建
- 引入"RenderPasses"和"RenderPipelines",这是游戏引擎中常见的模式。
- 通过提供半稳定的API,使WGPU和Winit的API变更不那么令人沮丧。尽管如此,API变更仍然会发生。
- 提供完整的WGPU访问权限
除了这些目标,Taika还包括一些针对游戏开发的通用工具,以及一些非常基本的资产管理形式。Taika旨在被构建,而不是作为一个完整的资产管理系统。
Taika不做什么
- 输入处理,您可以通过监听传递给事件处理器的winit事件来自行处理
- 音频,使用其他库
- 使渲染变得简单。您仍然需要编写着色器,并实现可绘制的特性,才能实际向GPU发出绘制调用。Taika不会自行发出绘制调用
注意事项
- 当为Windows构建时,后端选择被重写为DX12,因为vulkan有一些输入性能问题。(截至wgpu 22.0)
rendering::RenderPass
和rendering::RenderPipeline
的命名有点令人困惑,因为它们也在wgpu中使用。- 目前没有示例!
平台
在Windows、Linux(wayland和x11)和macOS上积极测试。
将来可能会支持Web
依赖关系
~8–43MB
~694K SLoC