2D drawing abstraction that allows applications/frameworks to support many rendering backends through a unified API.
Painting a scene
The core abstraction in AnyRender is the [PaintScene] trait.
[PaintScene] is a "sink" which accepts drawing commands:
- Applications and libraries draw by pushing commands into a [
PaintScene] - Backends execute those commands to produce an output
Rendering to surface or buffer
In addition to PaintScene, there is:
- The [
ImageRenderer] trait which provides an abstraction for rendering to aVec<u8>RGBA8 buffer. - The [
WindowRenderer] trait which provides an abstraction for rendering to a surface/window
SVG
The anyrender_svg crate allows SVGs to be rendered using AnyRender
Backends
Currently existing backends are: