C++ graphics-library

Open-source C++ projects categorized as graphics-library

Top 10 C++ graphics-library Projects

  • GuiLite

    ✔️The smallest header-only GUI library(4 KLOC) for all platforms

    Project mention: Does anyone have feedback on working with GuiLite? | reddit.com/r/cpp_questions | 2022-04-08
  • matplotplusplus

    Matplot++: A C++ Graphics Library for Data Visualization 📊🗾

    Project mention: Update on C++ DataFrame project | reddit.com/r/cpp | 2023-01-24
  • Sonar

    Write Clean C++ Code. Always.. Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.

  • FabGL

    ESP32 Display Controller (VGA, PAL/NTSC Color Composite, SSD1306, ST7789, ILI9341), PS/2 Mouse and Keyboard Controller, Graphics Library, Sound Engine, Game Engine and ANSI/VT Terminal

    Project mention: Anyone want to help create a Free and Open Source AlphaSmart Neo? | reddit.com/r/AlphaSmart | 2022-08-26

    Some ideas can be borrowed from here: https://github.com/fdivitto/FabGL

  • MethaneKit

    🎲 Modern 3D graphics made simple with C++17 cross-platform framework and rendering abstraction API on top of DirectX 12, Metal & Vulkan

    Project mention: Searching for Reliable Cross-Platform Rendering Framework (C/C++) | reddit.com/r/gamedev | 2023-01-19

    I have had my eye on MethaneKit for a while, it may not be far enough along for what you want.

  • debug-draw

    Immediate-mode, renderer agnostic, lightweight debug drawing API.

    Project mention: Good graphics engines to visualize my physics framework? | reddit.com/r/gamedev | 2022-11-14

    https://github.com/glampert/debug-draw ?

  • canvas_ity

    A tiny, single-header <canvas>-like 2D rasterizer for C++

    Project mention: Ask HN: What have you created that deserves a second chance on HN? | news.ycombinator.com | 2023-01-26


    This is an STB-style single-header C++ library with no dependencies beyond the standard C++ library. In about 2300 lines of 78-column code (not counting blanks or comments), or 1300 semicolons, it implements an API based on the basic W3C specification to draw 2D vector graphics into an image buffer:

    - Strokes and fills (with antialiasing and gamma-correct blending)

    - Linear and radial gradients

    - Patterns (with repeat modes and bi-cubic resampling)

    - Line caps and line joins (handling high curvature)

    - Dash patterns and dash offsets

    - Transforms

    - Lines, quadratic and cubic Beziers, arcs, and rectangles

    - Text (very basic, but does its own TTF font file parsing!)

    - Raster images (i.e., sprites)

    - Clipping (via masking)

    - Compositing modes (Porter-Duff)

    - Drop shadows with Gaussian blurs

    I also uncovered a number of interesting browser quirks along the way with the HTML5 port of my testing suite.

  • Skity

    A light weight 2D Vector Graphic renderer library writing in c++ for OpenGL3.3+ / OpenGLES3.0+ / Vulkan 1.1+/ WebGL2 with WASM

    Project mention: GitHub - A light weight 2D Vector Graphic renderer library writing in c++ with GPU hardware acceleration | reddit.com/r/coolgithubprojects | 2022-03-28
  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Platform where developers build real-time applications for analytics, IoT and cloud-native services. Easy to start, it is available in the cloud or on-premises.

  • ascii-graphics

    3D graphics in the terminal using ASCII characters

    Project mention: My First Graphics Project: ASCII Graphics in the Terminal | reddit.com/r/GraphicsProgramming | 2022-05-08
  • crosscore_dev

    crosscore is a portable C++ library for graphics programming

    Project mention: How to export Maya files to WebGL. | reddit.com/r/webgl | 2022-03-31

    Alternatively you can write a script or plugin to save what you need from inside Maya scene. It's a bit of code, as an example of this approach here is a set of Houdini export scripts that I'm using for my own projects: https://github.com/schaban/crosscore_dev/tree/main/exp What you're getting from this approach is that data is represented in convenient way, and in many cases you don't need any preprocessing or special run-time representation to use the data (for example XCOL format for collision geometry in the scripts above already has BVH structure already baked-in to speed-up collision queries, you don't need to generate it upon loading, dynamic allocations are minimized etc.).

  • Memake

    Yeet! C++ 2D graphics library to output primitives and other custom shapes, easily.

NOTE: The open source projects on this list are ordered by number of github stars. The number of mentions indicates repo mentiontions in the last 12 Months or since we started tracking (Dec 2020). The latest post mention was on 2023-01-26.

C++ graphics-library related posts


What are some of the best open-source graphics-library projects in C++? This list will help you:

Project Stars
1 GuiLite 6,603
2 matplotplusplus 3,030
3 FabGL 1,043
4 MethaneKit 575
5 debug-draw 460
6 canvas_ity 220
7 Skity 122
8 ascii-graphics 11
9 crosscore_dev 6
10 Memake 1
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives