C++ graphics-library

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

Top 14 C++ graphics-library Projects

  • GuiLite

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

    Project mention: Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE? | /r/embedded | 2023-12-06
  • matplotplusplus

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

    Project mention: Creating k-NN with C++ (from Scratch) | dev.to | 2024-01-11

    cmake_minimum_required(VERSION 3.5) project(knn_cpp CXX) # Set up C++ version and properties include(CheckIncludeFileCXX) check_include_file_cxx(any HAS_ANY) check_include_file_cxx(string_view HAS_STRING_VIEW) check_include_file_cxx(coroutine HAS_COROUTINE) set(CMAKE_CXX_STANDARD 20) set(CMAKE_BUILD_TYPE Debug) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_CXX_EXTENSIONS OFF) # Copy data file to build directory file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/iris.data DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) # Download library usinng FetchContent include(FetchContent) FetchContent_Declare(matplotplusplus GIT_REPOSITORY https://github.com/alandefreitas/matplotplusplus GIT_TAG origin/master) FetchContent_GetProperties(matplotplusplus) if(NOT matplotplusplus_POPULATED) FetchContent_Populate(matplotplusplus) add_subdirectory(${matplotplusplus_SOURCE_DIR} ${matplotplusplus_BINARY_DIR} EXCLUDE_FROM_ALL) endif() FetchContent_Declare( fmt GIT_REPOSITORY https://github.com/fmtlib/fmt.git GIT_TAG 7.1.3 # Adjust the version as needed ) FetchContent_MakeAvailable(fmt) # Add executable and link project libraries and folders add_executable(${PROJECT_NAME} main.cc) target_link_libraries(${PROJECT_NAME} PUBLIC matplot fmt::fmt) aux_source_directory(lib LIB_SRC) target_include_directories(${PROJECT_NAME} PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}) target_sources(${PROJECT_NAME} PRIVATE ${LIB_SRC}) add_subdirectory(tests)

  • JetBrains Dev Survey

    What’s up with the C++ ecosystem in 2023? JetBrains Developer Ecosystem Survey 2023 has given us many interesting insights. The Embedded (37%) and Games (39%) industries are already working with C++20, developers are incorporating static analysis in their CI, and ChatGPT usage among coders is flourishing. Read on for more!

  • FluidX3D

    The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.

    Project mention: Earthquake in Japan yesterday may have shifted land 1.3 meters | news.ycombinator.com | 2024-01-02

    Could even use this as a revers GLOBAL ORBITING SYSTEM [GoS] - Whereby a single satellite|probe dispels a lander to a planet with the Quantum Magnetic Cannister, and that QMC signals its global location to the satellite launcher, and the satellit can extrap its location based on the absolute location of the ground guys... (might need more than one ground magnet-moles?)

    How can this be measured? Can fluidx3d do martian magnetics? [0]


    [0] https://github.com/ProjectPhysX/FluidX3D


    EDIT: "Mars does not have a magnetosphere"

    ELI5: "how do electronics work when there is zero magnetic field around them? A complete antimagnetic environ?"

    I've never heard any mention about making any electrical device work on a planet (such as mars) in a complete magnetically dark location?

    How is there gravity on mars if there is no magnetic field for a planet, and how can mass, the size of a planet not produce magnetism/gravity if its not made of iron-sh (the RED of the planet)

    ELI5, please.

  • 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

  • MethaneKit

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

  • GuiLiteSamples

    ✨Small interesting GUI effects could be reused everywhere

    Project mention: Bombed an interview and trying to figure out how to pivot. Any advice on on increasing code literacy and filling in knowledge gaps from EE? | /r/embedded | 2023-12-06
  • debug-draw

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

  • Onboard AI

    ChatGPT with full context of any GitHub repo. Onboard AI learns any GitHub repo in minutes and lets you chat with it to locate functionality, understand different parts, and generate new code. Use it for free at app.getonboardai.com.

  • canvas_ity

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

    Project mention: Writing a TrueType font renderer | news.ycombinator.com | 2024-01-01

    I have a small TTF implementation that's in the neighborhood of that size and is open source. It's part of my canvas_ity single-header library [0] that's around 2300 LOC / 36 KB object size and implements a C++ version of most of the 2D HTML5 canvas spec [1].

    The core implementation of the TTF parsing and drawing is in L1526-L1846 with another small bit at L3205-L3274 of src/canvas_ity.hpp.

    It's something of a toy implementation that only supports western left-to-right text, and doesn't do any hinting at all, nor kerning, nor shaping. But it's enough to draw a basic "Hello world!" using any typical TTF file.

    The test suite in test/test.cpp L84-304 embeds a few custom Base64-encoded TTF files. They're small and only have a few glyphs but they do exercise a number of interesting edge cases in the OpenType TTF spec [2]. Have a look at the HTML5 port of the test suite at test/test.html in different browsers to see how their canvas implementations render those fonts.

    [0] https://github.com/a-e-k/canvas_ity

    [1] https://www.w3.org/TR/2015/REC-2dcontext-20151119/

    [2] https://standards.iso.org/ittf/PubliclyAvailableStandards/c0...

  • Skity

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

  • ascii-graphics

    3D graphics in the terminal using ASCII characters

  • tortoise

    Python Turtle Library in C++

    Project mention: 2D Graphical library for C++ beginners | news.ycombinator.com | 2023-12-27
  • crosscore_dev

    crosscore is a portable C++ library for graphics programming

    Project mention: Building a Web Game in C with Raylib | news.ycombinator.com | 2023-12-12
  • Tephra

    A modern, high-performance C++17 graphics and compute library based on Vulkan

    Project mention: Tephra: A high-level graphics and compute library based on Vulkan | /r/vulkan | 2023-07-24
  • Memake

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

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

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 2024-01-11.

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 7,116
2 matplotplusplus 3,817
3 FluidX3D 3,012
4 FabGL 1,326
5 MethaneKit 741
6 GuiLiteSamples 607
7 debug-draw 482
8 canvas_ity 309
9 Skity 186
10 ascii-graphics 29
11 tortoise 23
12 crosscore_dev 13
13 Tephra 9
14 Memake 2
The modern API for authentication & user identity.
The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.