C++ Graphics

Open-source C++ projects categorized as Graphics

Top 23 C++ Graphic Projects

  • GitHub repo aseprite

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

    Project mention: Need Dad advice - got a kid waaaaay into flowlab and needing help providing better direction. | reddit.com/r/gamedev | 2021-02-22

    Just want to jump in here to mention that the game engine choice is only half of the equation. Something that trips up a lot of people getting into game dev is access to art assets. If you are trying to support your son, spend a bit of time looking at some options like Asset Forge. If he wants to get into pixel art, maybe purchase Asperite. Blender is way more powerful than the first two, but way less user friendly. I would only recommend Blender if he really wants to get into 3D modelling, but it is an excellent free modeling platform with lots of tutorials available.

  • GitHub repo tinyrenderer

    A brief computer graphics / rendering course

    Project mention: What’s everyone working on this week (8/2021)? | reddit.com/r/rust | 2021-02-21

    Working on a clone of https://github.com/ssloy/tinyrenderer/wiki in rust. I sorta got a templated linear algebra library working (in house, not imported) but it did not play nice with triangle filling so I'm scrapping it to take a different approach.

  • Scout

    Get performance insights in less than 4 minutes. Scout APM uses tracing logic that ties bottlenecks to source code so you know the exact line of code causing performance issues and can get back to building a great product faster.

  • GitHub repo bgfx

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

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

  • GitHub repo OpenFrameworks

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

    Project mention: AudioStellar 1.0.0beta is out ! | reddit.com/r/linuxaudio | 2021-02-19

    Is it this one? https://github.com/openframeworks/openFrameworks

  • GitHub repo SFML

    Simple and Fast Multimedia Library

    Project mention: Is a project based learning method a good way of getting comfortable with C++ ? If so, what kind of projects can I work on ? | reddit.com/r/cpp_questions | 2021-02-18

    To move beyond text based programming to creating graphical applications, such as games, I would suggest that you learn to how to write a C++ application using the simple and fast multimedia library (SFML). You can learn this library pretty easily and this will help you get used to reading documentation (APIs), frameworks, and incorporating libraries other than the C++ standard template library.

  • GitHub repo Skia

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

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

  • GitHub repo DearPyGui

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

    Project mention: Background color modification | reddit.com/r/DearPyGui | 2021-02-24
  • GitHub repo urho3d

    Cross-platform 2D and 3D game engine.

    Project mention: What are the best C++ frameworks for desktop applications? | reddit.com/r/cpp_questions | 2021-02-10

    wxWidgets/Qt for desktop, SFML for 2D games. Haven't seen recommendations for 3D except things like Godot. But https://urho3d.github.io/ looks fancy.

  • GitHub repo magnum

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

    Project mention: Best Vulkan wrapper / low-level graphics library? | reddit.com/r/GraphicsProgramming | 2021-02-09

    (Sorry for a self-promo, hope that's fine.) If you don't mind being an early adopter and use something that's still undergoing heavy development and is not complete yet, I'm building a low-level Vulkan wrapper in Magnum. If you aren't familiar with Magnum yet, it's a C++11 library that has (among other things) a thin OpenGL/GLES/WebGL wrapper that removes the platform-specific extension hell and most of the boilerplate while still allowing you to work with the raw APIs if you need ... and the same is now being done for Vulkan.

  • GitHub repo OpenSubdiv

    An Open-Source subdivision surface library.

  • GitHub repo Atomic Game Engine

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

  • GitHub repo Ogre 3D

    scene-oriented, flexible 3D engine

  • GitHub repo OpenSceneGraph

    OpenSceneGraph git repository

    Project mention: Trying to Install OpenSceneGraph-3.6.5 featuring an interesting labyrinth of an error message | reddit.com/r/linuxquestions | 2021-01-22

    I assume you followed [this guide?](https://github.com/openscenegraph/OpenSceneGraph/#section-1-how-to-build-openscenegraph

  • GitHub repo matplotplusplus

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

    Project mention: (Clion, macOS, arm64) What is the "easiest" way of plotting 2D graphs that can be added to already finished project? | reddit.com/r/cpp_questions | 2021-01-29

    This one I saw on /r/cpp a while back: https://github.com/alandefreitas/matplotplusplus

  • GitHub repo Open-Source Vulkan C++ API

    Open-Source Vulkan C++ API

    Project mention: Evaluation of my C++ project from experienced users | reddit.com/r/cpp_questions | 2021-02-22

    If you want to get better acquainted with Vulkan, I suggest you convert this code to work with vulkan.hpp. Look up the samples that come with it, also check out Sascha Willems' samples ported to hpp. Consider using VMA, naive memory allocations are pretty bad in vulkan, OTOH there's plenty of more interesting things to deal with than manually suballocating memory blocks. Also, have a look at libraries like vpp, vk-bootstrap, and vookoo, those might also help make your code more concise, thus easier to read, and refactoring stuff to use them will help you understand what's going on.

  • GitHub repo KlayGE

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

  • GitHub repo 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.

    Project mention: I've made a Video Editor for Windows 10, focused on Speed + Simplicity. Would you use it? | reddit.com/r/software | 2021-02-15

    To make a long story short, it's a UWP app since I've used DirectX 11 for drawing on the screen. I use C#, and I needed win2d (https://github.com/microsoft/Win2D)

  • GitHub repo Ion

    Ion (by google)

  • GitHub repo Vulkan-Samples

    One stop solution for all Vulkan samples

    Project mention: Computer freezes between compute shader submits on NVIDIA gpu | reddit.com/r/vulkan | 2021-02-06

    Maybe somebody could report if using Non-Nvidia card you experience freezes during high compute shader load? e. g. using n-body sample from https://github.com/KhronosGroup/Vulkan-Samples with 500k bodies or so.

  • GitHub repo OpenVDB

    OpenVDB - Sparse volume data structure and tools

    Project mention: Hypothetical: A MPLv2-licensed Library | reddit.com/r/rust | 2021-02-11
  • GitHub repo GPCS4

    A Playstation 4 emulator just begin

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

  • GitHub repo 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.

  • GitHub repo 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). The latest post mention was on 2021-02-24.


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

Project Stars
1 aseprite 12,322
2 tinyrenderer 10,173
3 bgfx 8,986
4 OpenFrameworks 8,210
5 SFML 6,577
6 Skia 4,764
7 DearPyGui 4,464
8 urho3d 3,474
9 magnum 3,364
10 OpenSubdiv 2,437
11 Atomic Game Engine 2,401
12 Ogre 3D 2,107
13 OpenSceneGraph 2,060
14 matplotplusplus 1,957
15 Open-Source Vulkan C++ API 1,811
16 KlayGE 1,496
17 Win2D 1,401
18 Ion 1,388
19 Vulkan-Samples 1,376
20 OpenVDB 1,345
21 GPCS4 1,158
22 Horde3D 1,029
23 glbinding 669