C++ Graphics

Open-source C++ projects categorized as Graphics

Top 23 C++ Graphic Projects

  • aseprite

    Animated sprite editor & pixel art tool (Windows, macOS, Linux)

    Latest mention: Pixel Art Questions Answers Faq Post Your | reddit.com/r/PixelArt | 2021-01-16

    Judging by their EULA (2 g), you can only use it compiled from source for your own personal use.

  • tinyrenderer

    A brief computer graphics / rendering course

    Latest mention: Learn 3D Computer Graphics Programming from Scratch | news.ycombinator.com | 2020-12-29

    To be fair, Handmade Hero is for a complete game with sound, effects, input, etc. This course looks to be focused on a realtime software renderer with the ability to read/write geometry and textures. HH is also a bit overwhelming.

    I think what specific tutorial might go for depends on that individual's background and goals. I know a bunch of people who work in games/vfx who use tools like Maya/Houdini every day. They don't need a lot of help learning 3d concepts, but are interested to see the pros/cons of different implementations. They aren't always interested in realtime or optimizations. Here are the free resources that normally come up:

    https://www.scratchapixel.com/ -- Learn Computer Graphics From Scratch!

    https://raytracing.github.io/ -- Ray Tracing in One Weekend book series

    https://github.com/ssloy/tinyrenderer/wiki -- tinyrenderer, tinyraycaster, tinyraytracer

    http://www.pbr-book.org/ -- Physically Based Rendering 3rd edition full text. It looks like a 4th edition will be published in a few months.

    https://learnopengl.com/ -- For learning modern OpenGL

  • bgfx

    Cross-platform, graphics API agnostic, "Bring Your Own Engine/Framework" style rendering library.

    Latest mention: Some questions about graphics in a 2D isometric game (engine) | reddit.com/r/gamedev | 2021-01-18

    Maybe bgfx is what you're looking for? They have an SDL section in the docs.

  • openFrameworks

    openFrameworks is a community-developed cross platform toolkit for creative coding in C++.

  • SFML

    Simple and Fast Multimedia Library

    Latest mention: Why is SDL so commonly used with C++? | reddit.com/r/cpp | 2021-01-18
  • skia

    Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.

    Latest mention: Choose your Flutter web renderer | reddit.com/r/FlutterDev | 2021-01-04

    Not that important, but I've found that decodeImageFromPixels works for web:html renderer, and not web:canvas, but then decodeImageFromList with a format that skia can recognize (in my case monochrome bitmap, so I chose the obsolete, but still supported wbmp format (from no longer existing wap forum), or for RGB data one can choose the BMP, or something by browsing skia source code and finding what it supports - https://github.com/google/skia/blob/master/include/core/SkEncodedImageFormat.h, then by looking in the enum (kWBMP) finding the codec, and with some bits of C/C++ knowledge one can see what's needed - https://github.com/google/skia/blob/master/src/codec/SkWbmpCodec.cpp#L64).

  • DearPyGui

    Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies

    Latest mention: New ways to fund DPG development! | reddit.com/r/DearPyGui | 2021-01-20
  • Urho3D

    Cross-platform 2D and 3D game engine.

    Latest mention: Is there any example code for bullet physics "btConvexHullShape" shape with c++? | reddit.com/r/gameenginedevs | 2021-01-04

    I recommend you take a look at how Urho3D does it as a solid working example: Urho3D/blob/master/Source/Urho3D/Physics/CollisionShape.cpp#L282

  • magnum

    Lightweight and modular C++11 graphics middleware for games and data visualization

  • OpenSubdiv

    An Open-Source subdivision surface library.

  • AtomicGameEngine

    The Atomic Game Engine is a multi-platform 2D and 3D engine with a consistent API in C++, C#, JavaScript, and TypeScript

  • ogre

    scene-oriented, flexible 3D engine

  • OpenSceneGraph

    OpenSceneGraph git repository

  • matplotplusplus

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

    Latest mention: Looking for a way to plot some graphs | reddit.com/r/Cplusplus | 2021-01-19

    matplotlib-cpp, matplotplusplus. I've never used them but they look fancy

  • Vulkan-Hpp

    Open-Source Vulkan C++ API

    Latest mention: rust on vulkan vs c++ | reddit.com/r/vulkan | 2021-01-04

    For C++, Vulkan-Hpp is an official C++ API from Khronos and Nvidia that introduces a lot of useful tools and abstractions and gets official attention from Khronos and other interested parties within the industry.

  • DirectXTK

    The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++

  • KlayGE

    KlayGE is a cross-platform open source game engine with plugin-based architecture.

  • Win2D

    Win2D is an easy-to-use Windows Runtime API for immediate mode 2D graphics rendering with GPU acceleration. It is available to C#, C++ and VB developers writing apps for the Windows Universal Platform (UWP). It utilizes the power of Direct2D, and integrates seamlessly with XAML and CoreWindow.

  • ion


  • openvdb

    OpenVDB - Sparse volume data structure and tools

  • GPCS4

    A Playstation 4 emulator just begin

    Latest mention: Is There An Activefunctional Ps4 Emulator Are | reddit.com/r/Roms | 2021-01-07

    there is a legit ps4 emulator for windows but i dont think you are looking for it because it doesnt run at playable frame rate Inori/GPCS4: A Playstation 4 emulator just begin (github.com)

  • Horde3D

    Horde3D is a small 3D rendering and animation engine. It is written in an effort to create an engine being as lightweight and conceptually clean as possible.

  • glbinding

    A C++ binding for the OpenGL API, generated using the gl.xml specification.

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).


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

Project Stars
1 aseprite 11,954
2 tinyrenderer 9,936
3 bgfx 8,834
4 openFrameworks 8,152
5 SFML 6,491
6 skia 4,665
7 DearPyGui 3,948
8 Urho3D 3,414
9 magnum 3,317
10 OpenSubdiv 2,418
11 AtomicGameEngine 2,396
12 ogre 2,055
13 OpenSceneGraph 2,037
14 matplotplusplus 1,918
15 Vulkan-Hpp 1,785
16 DirectXTK 1,692
17 KlayGE 1,475
18 Win2D 1,393
19 ion 1,390
20 openvdb 1,310
21 GPCS4 1,134
22 Horde3D 1,006
23 glbinding 661