/awesome-2d-graphics-rendering

Awesome vector graphic and font rendering resources

Awesome 2D Graphics Rendering

2D Graphics Library

  • skia: Skia is an open source 2D graphics library which provides common APIs that work across a variety of hardware and software platforms. It serves as the graphics engine for Google Chrome and Chrome OS, Android, Flutter, Mozilla Firefox and Firefox OS, and many other products.
  • cairo: Cairo is a 2D graphics library with support for multiple output devices. Currently supported output targets include the X Window System (via both Xlib and XCB), Quartz, Win32, image buffers, PostScript, PDF, and SVG file output. Experimental backends include OpenGL, BeOS, OS/2, and DirectFB.

Vector Graphics Standards

  • OpenVG: The Standard For Vector Graphics Acceleration.
  • SVG: W3C Scalable Vector Graphics 2.

Vector Graphics Library

  • piet-gpu: An experimental GPU compute-centric 2D renderer.
  • Blend2D: Blend2D is a high performance 2D vector graphics engine written in C++ and released under the Zlib license.
  • AmanithSVG: AmanithSVG is a high performance native software library that implements fast rendering of static SVG files on top of OpenVG API, developed by Mazatech
  • lyon: 2D graphics rendering on the GPU in rust using path tessellation.
  • pathfinder: A fast, practical GPU rasterizer for fonts and vector graphics.
  • NanoVG: Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. (not actively maintained)
  • plutovg: Tiny 2D vector graphics library in C.
  • ShivaVG: OpenGL based ANSI C implementation of the OpenVG standard.
  • MonkVG: MonkVG is an OpenVG 1.1 like vector graphics API implementation optimized for game use currently using an OpenGL ES backend that should be compatible with any HW that supports OpenGL ES 2.0 which includes most iOS and Android devices.

Font Library

  • harfbuzz: HarfBuzz text shaping engine
  • Allsorts: Font parser, shaping engine, and subsetter for OpenType, WOFF, and WOFF2 implemented in Rust.
  • rustybuzz: A complete harfbuzz's shaping algorithm port to Rust
  • swash: Font introspection, complex text shaping and glyph rendering.
  • glyph-brush: Fast GPU cached text rendering

Blog & Paper & Tutorial & Book & Discussion