C++ Graphics

Open-source C++ projects categorized as Graphics | Edit details

Top 23 C++ Graphic Projects

  • GitHub repo aseprite

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

    Project mention: Breakdown: Why we decided to make a zelda inspired Dungeon Maker + which tools we are using. | reddit.com/r/TheMakingOfGames | 2021-07-21

    Pixelart will be created in AESprite

  • GitHub repo filament

    Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

    Project mention: Does filament support Embedded gltf files? | reddit.com/r/androiddev | 2021-07-03

    Does filament support Embedded gltf files? · Discussion #4240 · google/filament (github.com)

  • GitHub repo tinyrenderer

    A brief computer graphics / rendering course

    Project mention: For anyone who's curious about graphics and shader programming, this goes over how the GPU turns triangles and textures into pixels on the screen. It clarifies what the system does for you and at what point it calls the shader code you write. It should be useful no matter what language you're using | reddit.com/r/programming | 2021-07-16

    Very neat! I write shaders for a living and I wish I'd had something like this when I was first starting out. If anyone is curious about this and would like to learn more of the low level details I'd recommend https://github.com/ssloy/tinyrenderer .

  • GitHub repo 3d-game-shaders-for-beginners

    🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

    Project mention: 3D Game Shaders for Beginners | reddit.com/r/patient_hackernews | 2021-04-25
  • GitHub repo bgfx

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

    Project mention: Finding a good game framework (not engine) for Android game develop | reddit.com/r/gamedev | 2021-07-02

    When I was toying with the Idea of ditching the (very opinionated) engines and doing everything myself better(tm), I've found this: https://github.com/bkaradzic/bgfx and my idea was to take it, slap something like imgui to it, maybe some ECS system on top of it and roll with that (and do the same for sounds, particles...).

  • GitHub repo OpenFrameworks

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

    Project mention: Ask HN: Getting back to C++ and looking for ideas | news.ycombinator.com | 2021-05-08

    If you're interested in working with graphics or sounds, I'd recommend checking out openFrameworks, which bills itself as a "creative coding toolkit". https://openframeworks.cc

    For a taste of what is possible with openFramworks, take a peek at this youtube series by Lewis Lepton: https://www.youtube.com/watch?v=dwt2NAd1ZYY&list=PL4neAtv21W...

  • GitHub repo SFML

    Simple and Fast Multimedia Library

    Project mention: How to draw in real-time to a CRT from my laptop? | reddit.com/r/AskElectronics | 2021-07-14

    I was gonna create a visualization in SFML (C++) on my computer (MacBook Pro Retina, 15-inch, Mid 2015), but I wanted it to render live onto a CRT TV. Here are pics of it:

  • GitHub repo renderdoc

    RenderDoc is a stand-alone graphics debugging tool.

    Project mention: Renderdoc's GPU Selection on a laptop | reddit.com/r/vulkan | 2021-04-19

    Renderdoc works by inserting itself as a Vulkan layer, which means it can change the output of functions if it so chooses. As you can see in the RenderDoc version of vkEnumeratePhysicalDevices it changes how devices are returned, and this likely is the reason the order changes.

  • GitHub repo DearPyGui

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

    Project mention: How to load a new image? | reddit.com/r/DearPyGui | 2021-07-19

    There is a new FAQ on loading images here: https://github.com/hoffstadt/DearPyGui/discussions/1072

  • GitHub repo Skia

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

    Project mention: Efficient, cross-platform graphics library? | reddit.com/r/GraphicsProgramming | 2021-06-29

    https://skia.org/ This is used by the sublime editor, so I think it'll match your use-case.

  • GitHub repo tinyraytracer

    A brief computer graphics / rendering course

    Project mention: Project Ideas | reddit.com/r/cpp | 2021-06-03

    Check out this: https://raytracing.github.io https://github.com/ssloy/tinyraytracer/wiki

  • GitHub repo urho3d

    Cross-platform 2D and 3D game engine

    Project mention: 3D game engine for lower end pcs | reddit.com/r/gamedev | 2021-07-01

    Urho3D works on mobiles, Windows, Mac, and even on the R Pi. It's a code-first engine with a minimal editor.

  • GitHub repo magnum

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

    Project mention: Looking for code only game engine | reddit.com/r/opengl | 2021-03-29

    Try Magnum, it provides all you need for bootstrapping a game in modern C++: https://magnum.graphics

  • 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 (C++, Python, C#, Java)

  • GitHub repo OpenSceneGraph

    OpenSceneGraph git repository

    Project mention: Is there a good, open source, realistic OpenGL renderer for us to use? | reddit.com/r/opengl | 2021-05-30

    I love Godot for a complete game engine. For just the renderer you could consider http://www.openscenegraph.org

  • GitHub repo matplotplusplus

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

    Project mention: plotting in c++ | reddit.com/r/cpp | 2021-05-21

    I think matplot++ is a good plotting library. It has plenty of examples in the repo and docs.

  • GitHub repo yocto-gl

    Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics

    Project mention: Yocto/GL: C++ Libraries for Data-Driven Physically-Based Graphics | news.ycombinator.com | 2021-03-25
  • GitHub repo Open-Source Vulkan C++ API

    Open-Source Vulkan C++ API

    Project mention: VULKAN_HPP_NO_CONSTRUCTORS not working? | reddit.com/r/vulkan | 2021-07-22
  • GitHub repo DirectXTK

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

    Project mention: Let's have a chat about the Dunning-Kruger Effect | reddit.com/r/gamedev | 2021-01-27

    Edit: Microsoft actually has a nice series on starting from scratch in DirectX up to a full 3D environment https://github.com/Microsoft/DirectXTK/wiki/Getting-Started

  • GitHub repo Vulkan-Samples

    One stop solution for all Vulkan samples

    Project mention: Command pool and command buffer mapping | reddit.com/r/vulkan | 2021-04-26
  • GitHub repo KlayGE

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

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-07-22.


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

Project Stars
1 aseprite 13,331
2 filament 11,319
3 tinyrenderer 10,965
4 3d-game-shaders-for-beginners 10,742
5 bgfx 9,600
6 OpenFrameworks 8,447
7 SFML 6,937
8 renderdoc 5,530
9 DearPyGui 5,466
10 Skia 5,195
11 tinyraytracer 3,803
12 urho3d 3,599
13 magnum 3,557
14 OpenSubdiv 2,495
15 Atomic Game Engine 2,434
16 Ogre 3D 2,323
17 OpenSceneGraph 2,194
18 matplotplusplus 2,178
19 yocto-gl 2,023
20 Open-Source Vulkan C++ API 1,961
21 DirectXTK 1,814
22 Vulkan-Samples 1,628
23 KlayGE 1,573