A headers-only C++11 CPU vector graphics library that requires no standard library, FPU, or GPU.
micro-gl is a headers-only C++11 vector graphics library that performs all rendering on the CPU without requiring a standard library, floating-point unit (FPU), or GPU. It provides tools for drawing 2D and 3D shapes, applying blends and compositing, and supports flexible numeric systems including fixed-point arithmetic. It solves the problem of adding vector graphics to embedded systems or environments with strict hardware constraints.
C++ developers working on embedded systems, retro computing, or any project requiring lightweight, portable graphics without GPU dependencies.
Developers choose micro-gl for its extreme portability, zero external dependencies, and the ability to run on hardware without an FPU or GPU. Its headers-only design and template-based architecture allow for minimal footprint and compile-time optimizations.
Headers Only C++11 CPU Vector Graphics. no std-lib, no FPU and no GPU required !
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
No dependencies on the C++ standard library, FPU, or GPU, allowing it to run on any 32/64-bit system, including embedded and retro hardware.
Entire library is header-only, enabling easy integration and compile-time optimization without linking to external libraries.
Supports floating-point, fixed-point (Q numbers), and custom numeric types, making it usable on hardware without floating-point units.
Includes over 10 blending modes, Porter-Duff alpha compositing, and allows custom pixel codings and samplers, as shown in the examples.
All graphics are rendered on the CPU, which can be orders of magnitude slower than GPU-based libraries for complex or high-resolution scenes.
Requires deep knowledge of C++ templates and low-level graphics programming, with minimal high-level abstractions or convenience APIs.
As a niche library, it lacks extensive tutorials, community support, and pre-built components compared to mainstream options like SDL or OpenGL.