#2d-rendering #cross-platform #graphics #back-end #pigeon #flexable #avn

pigeon-2d

一个简单、灵活、跨平台的2D渲染库

7个版本 (4个重大更新)

0.5.0 2022年7月25日
0.4.0 2022年7月23日
0.3.1 2022年7月23日
0.2.1 2022年7月20日
0.0.1 2022年5月31日

#844 in 图形API

每月28次下载
用于 egui_pigeon

MIT 许可证

1MB
2.5K SLoC

鸽子

Latest Version Docs License

一个简单、灵活、跨平台的2D渲染库。

为什么

鸽子的发展主要是由AVN图形后端的需求驱动的。然而,我也想将其与AVN分开,以便在其他项目中使用。

设计

我希望它简单、小巧、可移植和灵活。鸽子不是为了管理你的应用和创建窗口而设计的,它只是在屏幕上很好地绘制形状(或者尽可能好)。

你可以在示例文件夹中看到一些示例

目标

  • 简单:你创建形状,并将它们交给相应的管道函数
  • 灵活:允许添加自定义管道和图形,并让鸽子自动渲染它们
  • 可移植: 待办事项 使用Web Assembly和其他平台进行测试。

非目标

  • 图形引擎:鸽子设计为一个可以修改以满足你需求的组件
  • 超级闪电4并行宇宙优化:我还在学习图形编程,我没有这方面的知识。我已经做了我认为是合理程度的优化,并且不打算进一步扩展它

鸽子实现了一种形式的自动批处理,将使用同一管道渲染的所有图形组合成一个大的顶点和索引数组。然后根据纹理进行排序,以最小化渲染期间纹理绑定组的交换。

鸽子设计得尽可能少内置功能,但具有使用parrot扩展自己的管道和使用鸽子扩展自己的图形的能力。

未来计划

探索Web Assembly

免责声明

我非常新于图形编程,这更多或更少是我增加理解的努力。自行承担风险。此外,API仍然不稳定,容易发生变化

依赖关系

~9–22MB
~298K SLoC