Rasterizer
Inspired by my love of Adobe Flash, I started to work on a GPU-accelerated 2D vector graphics engine for the original iPhone, and then the Mac. Three iterations, and many years later, I have finally released Rasterizer . It is up to 60x faster than the CPU, making it ideal for vector animated UI (press the T key in the demo app to see an example).
The 10-year gestation was the result of endlessly iterating over the core problem of efficiently turning vector paths into reference-quality anti-aliased pixels -- plus a touch of burnout after settling on the best solutions, some of which may extend the state of the art.
The current implementation targets macOS using C++ 11 and Metal, but it will work on any GPU that supports instancing and floating point render targets.
An iOS port is in the pipelline.
Building
The Xcode demo app project builds out of the box as all dependencies are included. For best performance, select the Run Rasterizer scheme.
Demo App
The demo app can open SVG and PDF files. Use to -/+ keys to select PDF pages. Other key mappings are shown on the HUD top left.
Use the trackpad and/or mouse to drag and zoom/rotate the canvas around its center. Hold the Shift key to zoom/rotate around the pointer.
... continue reading