Expand description
The Vello rendering backend.
Implements the render contracts of ferroui_base::platform on top of
the crates of the Vello project: geometries on kurbo, brushes and
blending on peniko, and the drawing context on a scene that one of the
renderers of the project draws (scene::IVelloSceneSink): vello_cpu
on the processor, and with the features hybrid and gpu of the crate
the sparse-strips renderer on the GPU (vello_gpu) and the compute
renderer (vello), into memory and into the window of a platform that
renders on a graphics device (gpu). In a web page the hybrid mode
draws with the WebGL2 renderer of vello_gpu into the canvas of a view
(the feature hybrid-webgl, web_gl).
The backend is an addition of the port (the original has no such
backend): its files follow the Skia backend’s, name by name, so that the
two stay comparable. The design, the facts about the renderers it rests
on and what is built are in docs/porting/vello-backend.md.
Modules§
- gpu
- The graphics device of the hybrid and the GPU mode.
- helpers
- Helpers shared by the backend’s types.
- perf
- Where the time of a frame of the backend goes.
- scene
- The scene of a frame and the renderers that draw it.
- vello_
extensions - Conversions between the types of the base library and those of kurbo and peniko: the counterpart of the Skia backend’s extensions.
Structs§
- Combined
Geometry Impl - A kurbo implementation of a combined geometry.
- Create
Info - Context create info.
- Drawing
Context Impl - Vello based drawing context.
- Ellipse
Geometry Impl - A kurbo implementation of an ellipse geometry.
- Font
Manager Impl - The Vello font manager: the installed fonts of the system through
fontique, which enumerates them with the font interface of the platform (CoreText, DirectWrite, fontconfig) and reads the font files itself. - Framebuffer
Render Target - Vello render target that renders to a framebuffer surface. No GPU acceleration available: a scene is rendered into memory and written to the framebuffer in its format.
- Geometry
Group Impl - A kurbo implementation of a geometry group.
- Geometry
Impl Base - State every geometry kind has: the stroke cache, the path measure and a handle to the geometry itself.
- Glyph
RunImpl - The Vello implementation of a glyph run: glyph indices and positions that a scene draws with the font of the run.
- Immutable
Bitmap - Immutable bitmap: pixels that never change.
- Line
Geometry Impl - A kurbo implementation of a line geometry.
- Platform
Render Interface - Vello platform render interface.
- Rectangle
Geometry Impl - A kurbo implementation of a rectangle geometry.
- Render
Target Bitmap Impl - A render target bitmap: a writeable bitmap that is drawn into through a framebuffer render target over its own pixels.
- Simple
Geometry Impl - A kurbo geometry defined by stroke and fill paths.
- Stream
Geometry Builder - Builds a kurbo geometry from drawing commands.
- Surface
Render Target - Vello render target that writes to a surface in memory: a layer.
- Surface
Render Target Create Info - Create info of a
SurfaceRenderTarget. - Transformed
Geometry Impl - A kurbo implementation of a transformed geometry.
- Vello
Backdrop - What a target holds when a drawing context is created for it, and how the scene of the context keeps it.
- Vello
Context - The Vello render backend bound to software rendering (scenes are rendered into memory) or to the graphics device of a platform, whose surfaces the hybrid and the GPU mode draw to: it holds the GPU as the context of the Skia backend holds its GPU.
- Vello
Font Face - The font of a typeface as the renderers and the glyph runs use it: the bytes of the font file, the font in it, the position in the variation space and the simulations. It is what a glyph run keeps of its typeface, and unlike the typeface it may be sent to the thread that draws.
- Vello
Options - Options for the Vello rendering subsystem.
- Vello
Path - A path of a geometry with the rule it is filled by.
- Vello
Platform - Vello platform initializer.
- Vello
Region Impl - An implementation of a platform region: a set of pixels held as the rectangles that were added to it.
- Vello
Typeface - A platform typeface over the bytes of a font file.
- Writeable
Bitmap Impl - A writeable bitmap: pixels in memory, in one of the formats of the contract.
Enums§
- Fill
Path - The fill path of a geometry in relation to its stroke path.
- Vello
Rendering Mode - The renderer of the Vello project a scene is drawn with.
Constants§
- OBLIQUE_
SKEW - The slant of the oblique simulation: the horizontal shear of a glyph in a space of which y points down, as the Skia backend sets it on its font.
Traits§
- Geometry
Impl - A geometry of this backend: something with a stroke path and a fill path.
- IDrawable
Bitmap Impl - Extended bitmap implementation that allows for drawing its contents.
- Vello
Application Extensions - Vello application extensions.
Functions§
- bold_
simulation_ outline_ width - The width of the outline the bold simulation adds around a glyph, for an em size, in the units of the em size.
- try_
get_ drawable_ bitmap - Recovers the drawable bitmap behind a platform bitmap.
- try_
get_ geometry_ impl - Recovers the backend geometry behind a platform geometry.