Spinel: Accelerated Vector Graphics
- 1 min read
Spinel is a high-performance GPU-accelerated vector graphics, compositing and image processing pipeline for Vulkan 1.2+ GPUs.
Spinel differs from other vector graphics implementations by providing explicit APIs for defining:
- Paths: first-class standalone objects
- Rasters: transformed-to-screen-space rasterized Paths
- Compositions: an arrangement of Rasters on Layers
- Stylings: rendering instructions for each Layer in a Composition
These new explicit sub-APIs allow new programming idioms that untangle the canonical immediate-mode 2D API.
Spinel was first implemented using CUDA in 2012.
It was reimplemented in OpenCL and, most recently, Vulkan.
A C11 and Vulkan implementation of Spinel is open source and available here in Google’s Fuchsia project repo.