In 2d Rendering, you often need to process images in ways which aren't just drawing of paths. For example, by blurring a background, zooming in, or inverting colors. This folder provides implementations of several different image filters, using different backends.
These backends are:
vello_filters_cpu
]. We intend to publish this, and use it in Vello CPU.We intend to have GPU implementations which are able to be executed on WebGL, with more optimised versions (e.g. using compute shaders) for more powerful GPUs.
In this README, we use the “Svg” prefix to refer to filters from the Filter Effects Module Level 1, found at https://drafts.fxtf.org/filter-effects/. The planned filters are (at least), and the implementations we have working are:
Filter | CPU | GPU (planned) | wgpu (planned) |
---|---|---|---|
Svg Gaussian Blur |
(Please let us know if this table is out-of-date)
Our implementations have been based on the following sources:
Filters which don't operate on multiple pixels are generally out-of-scope for initial versions of this crate. These include: