← Back
Home › Systems › Frontend and UI

vector-graphics

2D vector graphics renderer

Skia, Vello

SystemTechniques · 5Primitives · 18 vector-graphics Polygon tessellationgeometry · medium: Triangulate polygons with holes (ear clipping, earcut, monotone sweep)Path rasterization coveragegraphics · medium: Scanline or sparse-strip coverage accumulation with nonzero and even-odd fill and analytic antialiasingStencil then covergraphics · medium: GPU path filling by stencil winding counts followed by a cover passStroke expansiongraphics · medium: Convert strokes to fill outlines: joins, caps, dashes, offset curvesTile based binninggraphics · medium: Bin primitives into screen tiles, then render each tile in fast local memoryBézier curvesgraphics · low: Smooth curves defined by 3-4 control points, evaluated and split with repeated linear interpolation (de Casteljau) and flattened to lines with a closed-form segment count.›Parallel prefix sumsearch-sort · low: Work-efficient scan (Blelloch, decoupled look-back) on CPU SIMD and GPUs; stream compactionGPU command buffersgraphics · low: Record GPU work as a flat list of commands on the CPU, submit it in batches, and reuse its memory through a ring of frames in flight guarded by fences.›Homogeneous transformsgeometry · low: 4x4 affine and projective matrices, homogeneous coordinates, view and projection, normal matricesAlpha compositinggraphics · low: Porter-Duff compositing with premultiplied alpha and blend modesColor space conversiongraphics · low: Convert pixels between transfer curves (sRGB, linear light), primaries (sRGB, Display P3, XYZ) and Y'CbCr, using tables for the curve and 3x3 matrices for the rest.›Display list recordinggraphics · low: Record draw commands into a replayable list for caching, culling and off-thread rasterImage resampling filtersgraphics · low: Resize an image by convolving with a kernel (box, triangle, cubic, Lanczos) whose width scales with the shrink factor, done as two separable 1-D passes with precomputed weights.›SIMD programminghardware-os · low: Process 4-16 lanes per instruction with AVX2, AVX-512 or NEON via Rust std::arch, with runtime dispatch and a portable fallback.›Rectangle bin packingoptimization · low: Skyline, guillotine and MaxRects packing for texture and glyph atlasesExact geometric predicatesgeometry · low: Robust orient and incircle tests with adaptive-precision floats (Shewchuk) or exact arithmeticHalf edge meshgraphics · low: Half-edge mesh connectivity for editable polygon meshesFloating-point errornumerics · low: How IEEE 754 rounding error accumulates and how to contain it: compensated (Kahan/Neumaier) and pairwise summation, error-free transformations with FMA, ULP comparisons.›Triangle rasterizationgraphics · low: Triangle setup, edge functions, depth buffering for viewport renderingGPU compute shadersml-training · low: The vendor-neutral GPU launch model of Metal, Vulkan and WebGPU: a grid of workgroups, shared memory, barriers and subgroups, driven by recorded command buffers.›Convolution image filtersgraphics · low: Separable 2D convolution kernels for blur, sharpen (unsharp mask) and edges with border handling+ 2 more primitives

Similar systems

Share the most building blocks with this one.