
Blend2D
2D Vector Graphics Engine
Blend2D roadmap provides information about features planned in next releases. It should be seen only as a high-level overview as minor features and tasks are not listed to make the list manageable. Features are sorted by category, not by priority. All features listed below have a different complexity; they can take days to months to implement. The highest priority features are these related to the rendering engine, pipeline generator, and improved text support. All other features like image filtering or IO have low priority.
Do you wanna help with any feature listed or do you have any feature request? Contact us!
Feature | Status | Comment |
---|---|---|
Perf - Multi-threaded Rendering | Done | Initial multi-threaded rendering context implementation. |
Perf - AVX2 and AVX-512 Acceleration | Initial Impl | Use AVX2 and AVX-512 in pipeline generator. |
Perf - Rasterizer Acceleration | Pending | Use the advantage of SSE2/AVX2 in the analytic rasterizer itself (C++ part). |
Perf - Glyph Caching | Pending | Cache pre-rendered RLE compressed glyphs. |
Text - Font Management | Initial Impl | Basic font management, font queries, and font-face caching. |
Text - OpenType API | Initial Impl | Make more OpenType features accessible via Blend2D API (GPOS/GSUB and feature selection). |
Geometry - New Stroking Engine | In Progress | Merge new stroking engine into Blend2D - it includes improved stroking algorithms and dashing. |
Geometry - Rational Bezier Curves | In Progress | Support for rational bezier curves (conics) that can represent arcs exactly [Breaking Change]. |
Geometry - Perspective Transformations | Pending | Support for perspective transformations (3x3 matrix) [Breaking Change]. |
Geometry - Path Boolean | Pending | Ability to perform boolean operations with two or more graphics paths. |
Geometry - Path on Path | Pending | Ability to deform a path to be on another path, for implementing text-on-path like effects. |
Rendering - A8 Target | Done | Rendering to buffers that use A8 pixel format. |
Rendering - Masking Support | In Progress | Support rendering with a mask (prerequisite for many other features). |
Rendering - Non-Rectangular Clipping | Pending | Support for non-rectangular clipping (region-based and/or span-based). |
Rendering - Compound Rasterization | Pending | Ability to rasterize two or more paths and combine them on-the-fly before a final composition. |
Rendering - Gradient Dithering | Pending | High-performance dithered gradients that prevent banding artifacts. |
Rendering - Pixel Filters | Pending | Filters implementing basic color adjustments and color matrix (SVG). |
Rendering - Image Filters | Pending | Filters implementing Gaussian blur, generic convolution, erode, dilate, and displacement (SVG). |
Rendering - Turbulence / Noise | Pending | Filters generating turbulence and fractal noise (SVG). |
Rendering - HSL Blend Modes | Pending | Non-separable HSL blending (PDF specification, cairo/skia compatibility). |
IO - PNG Encoder | Initial impl | Ability to encode PNG images (complementary functionality to PNG decoder). |
IO - JPEG Encoder | Pending | Ability to encode JPEG images (complementary functionality to JPEG decoder). |