2 个不稳定版本

0.2.0 2024年8月5日
0.1.0 2024年3月19日

#30渲染引擎

Download history 9/week @ 2024-07-01 115/week @ 2024-08-05

115 每月下载量

MPL-2.0 许可证

145KB
3.5K SLoC

Jandering engine

这是一个简单的渲染引擎,我将其作为学习项目和希望为我的所有后续图形编程工作使用的东西。我希望引擎非常简约,这样在我想做某些奇怪的事情时不会限制我,但仍然足够简单,不需要超过几行代码就可以得到令人满意的结果。

我想包括一些可能不属于渲染引擎的东西,比如对象加载、UI和各种其他实用工具。它们可能作为独立的crate实现。

值得一看的东西

  • 实例化示例 -> 使用大量实例的示例,您可以随意将其增加到数百万:P
  • 光线追踪示例 -> 根据这个教程进行光线追踪的示例
  • wasm 模板 -> 创建wasm项目的模板
  • wgsltoy -> 类似于 Shader Toy 的实时 wgsl 着色器编辑器
  • dashy 几何体(geometry dash 克隆) -> 具有地图编辑和泛光效果的 geometry dash

语法

这不是当前的语法,但我希望有朝一日能实现这个阶段

renderer.new_pass(shader).bind(bind_group_1).bind(bind_group_2).with_instances(instances).draw(object);

清单

  • 渲染简单三角形
  • 实例化
  • 自定义着色器
  • 自定义相机
  • 合适的绑定组
  • 模型加载
  • UI
  • PBR (延迟与前向透明度?)
  • 天空盒
  • wasm 支持(查看wasm分支)
  • 纹理

许可证

在 MPL 2.0 许可证下发布。

依赖项

~161MB
~3M SLoC