1个不稳定版本
0.1.0 | 2024年4月5日 |
---|
#83 in 渲染引擎
285KB
3.5K SLoC
RootVG
一个针对GUI优化的2D矢量图形库,用Rust和wgpu编写

工作原理
与具有类似HTML5的Canvas API的流式绘图API的其他2D矢量图形库不同,RootVG用户构建可重复使用的"原始对象",这些对象可以以任何顺序、任何z索引和任何剪裁矩形廉价地克隆和添加。相同类型、z索引和剪裁矩形的原始对象会自动批处理在一起,从而大大减少了发送到GPU的绘制调用次数。
请参阅示例,以快速了解API的工作方式。
原始类型
RootVG提供六种原始类型
SolidQuadPrimitive
和GradientQuadPrimitive
- 基于Iced中的四边形原始对象SolidMeshPrimitive
和GradientMeshPrimitive
- 使用固定颜色或渐变绘制任意三角形。使用lyon crate生成网格。TextPrimitive
- 由glyphon提供支持ImagePrimitive
- 支持缩放和旋转。前一个渲染通道的输出也可以用作纹理源。
此外,用户可以使用自定义渲染管道创建自定义原始对象。这可以用于创建高效的光谱仪和示波器显示等。
不需要的原始类型可以在功能标志中禁用。
动机
这个库是为了即将推出的GUI库而创建的,该库将支持Meadowlark DAW。
依赖项
~11–43MB
~698K SLoC