1个不稳定版本

0.1.0 2024年4月5日

#83 in 渲染引擎

MIT 许可证

285KB
3.5K SLoC

RootVG

Documentation Crates.io License

一个针对GUI优化的2D矢量图形库,用Rust和wgpu编写

工作原理

与具有类似HTML5的Canvas API的流式绘图API的其他2D矢量图形库不同,RootVG用户构建可重复使用的"原始对象",这些对象可以以任何顺序、任何z索引和任何剪裁矩形廉价地克隆和添加。相同类型、z索引和剪裁矩形的原始对象会自动批处理在一起,从而大大减少了发送到GPU的绘制调用次数。

请参阅示例,以快速了解API的工作方式。

原始类型

RootVG提供六种原始类型

  • SolidQuadPrimitiveGradientQuadPrimitive - 基于Iced中的四边形原始对象
  • SolidMeshPrimitiveGradientMeshPrimitive - 使用固定颜色或渐变绘制任意三角形。使用lyon crate生成网格。
  • TextPrimitive - 由glyphon提供支持
  • ImagePrimitive - 支持缩放和旋转。前一个渲染通道的输出也可以用作纹理源。

此外,用户可以使用自定义渲染管道创建自定义原始对象。这可以用于创建高效的光谱仪和示波器显示等。

不需要的原始类型可以在功能标志中禁用。

动机

这个库是为了即将推出的GUI库而创建的,该库将支持Meadowlark DAW。

依赖项

~11–43MB
~698K SLoC