C++ Graphics

Open-source C++ projects categorized as Graphics | Edit details
Related topics: #OpenGL #Vulkan #C++ #CPP #3D

Top 23 C++ Graphic Projects

  • GitHub repo aseprite

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

    Project mention: Just finished making a bite-sized platformer with dashing and slashing using love2d! (playable version linked in comments) | reddit.com/r/love2d | 2022-01-19

    I used aseprite for the pixel art, Tiled for level creation and editing, and love.js to port it to the web. This the second game I've made with Love2D. I originally fell in love with this framework during a game jam and haven't looked back since. This project took about 80 hours of work total, spread out over 2 months or so.

  • GitHub repo filament

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

    Project mention: Looking for Kotlin graphics programming projects that individuals or communities are actively working on. | reddit.com/r/Kotlin | 2021-10-08

    Google Filament is a C++ engine with Kotlin bindings for Android. Very high quality code on both sides https://github.com/google/filament

  • SonarLint

    Deliver Cleaner and Safer Code - Right in Your IDE of Choice!. SonarLint is a free and open source IDE extension that identifies and catches bugs and vulnerabilities as you code, directly in the IDE. Install from your favorite IDE marketplace today.

  • GitHub repo tinyrenderer

    A brief computer graphics / rendering course

    Project mention: It is so boring | reddit.com/r/GraphicsProgramming | 2022-01-19
  • 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: Game Engine From Scratch | reddit.com/r/cpp | 2022-01-17

    Some tutorials I have looked at (well nor originally, as I learned the basics when we were still at DX9 :D): - https://lettier.github.io/3d-game-shaders-for-beginners/index.html

  • GitHub repo bgfx

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

    Project mention: What would be most beneficial to learn to get back up to speed? | reddit.com/r/GraphicsProgramming | 2021-12-27

    Perhaps not quite what you're looking for, but I've had a reasonably good experience with bgfx. It's basically 1 level of abstraction above specific graphics APIs (GL, DirectX, etc). It is not a full game engine, just a rendering API.

  • GitHub repo OpenFrameworks

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

    Project mention: Is the a c/c++ Graphics library for Mac M1? | reddit.com/r/AskProgramming | 2022-01-06

    Maybe openframeworks

  • GitHub repo SFML

    Simple and Fast Multimedia Library

    Project mention: Why isn't there any lightweight C++ game engine ? | reddit.com/r/gamedev | 2021-12-26

    Then you might want to search for "Libraries" and "Frameworks", not "Game Engines". You might find things like Entt or SFML.

  • OPS

    OPS - Build and Run Open Source Unikernels. Quickly and easily build and deploy open source unikernels in tens of seconds. Deploy in any language to any cloud.

  • GitHub repo DearPyGui

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

    Project mention: Release Version 1.3.1 · hoffstadt/DearPyGui | reddit.com/r/DearPyGui | 2022-01-20
  • 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 Skia

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

    Project mention: Lottie – use After Effects animations in web and native apps | news.ycombinator.com | 2021-12-20

    Skottie: Lottie player using the Skia graphics library[0][1]

    Skia powers Google Chrome[2], Flutter, & Fuchia[3].

    [0]: https://skia.org/docs/user/modules/skottie/

  • GitHub repo tinyraytracer

    A brief computer graphics / rendering course

    Project mention: It is so boring | reddit.com/r/GraphicsProgramming | 2022-01-19
  • GitHub repo urho3d

    Cross-platform 2D and 3D game engine

    Project mention: What is the lightest C++ 3D game engine for Linux? | reddit.com/r/gamedev | 2021-12-23

    You might be interested in Urho3D.

  • GitHub repo magnum

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

    Project mention: Game Engine From Scratch | reddit.com/r/cpp | 2022-01-17

    It's not a tutorial, but magnum is a modern C++11/14 graphic engine actively developed by a small team.

  • GitHub repo Ogre 3D

    scene-oriented, flexible 3D engine (C++, Python, C#, Java)

    Project mention: Ogre 13.0.0 released! Open Source game engine. | reddit.com/r/linux_gaming | 2021-08-14
  • 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 OpenSubdiv

    An Open-Source subdivision surface library.

    Project mention: Almost Always Unsigned | news.ycombinator.com | 2022-01-02
  • GitHub repo matplotplusplus

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

    Project mention: How can I create animation of mathematical function that changes over time in c++ and save it as video | reddit.com/r/cpp_questions | 2021-12-27
  • GitHub repo OpenSceneGraph

    OpenSceneGraph git repository

    Project mention: Scene graph using OpenGL core context | reddit.com/r/opengl | 2022-01-09

    Here is an example: https://github.com/openscenegraph/OpenSceneGraph/blob/master/examples/osgsimplegl3/osgsimplegl3.cpp

  • 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: Does anybody really use deleters ? | reddit.com/r/cpp | 2021-12-21

    As an aside, vulkan-hpp exists which is a C++ RAII wrapper around regular vulkan. Better to use that than try to do it yourself.

  • GitHub repo Vulkan-Samples

    One stop solution for all Vulkan samples

    Project mention: When we submit command buffer to graphics queue it will draw to swapchain images, then why do we need Framebuffer? | reddit.com/r/vulkan | 2021-12-27

    The Vulkan-Samples have a sample on how to use it: https://github.com/KhronosGroup/Vulkan-Samples/pull/394

  • GitHub repo LibreSprite

    Animated sprite editor & pixel art tool -- Fork of the last GPLv2 commit of Aseprite

    Project mention: Pixel art, gif animations like Flipnote Studio on Steam Deck | reddit.com/r/SteamDeck | 2022-01-11

    I have also seen Aseprite being recommended. It looks nice and I'm sure it works well, but it is not open source unfortunately. There is an open source alternative called LibreSprite, which seems to mimic Aseprite quite closely.

  • GitHub repo DirectXTK

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

    Project mention: How to handle multithreading in concept. | reddit.com/r/gamedev | 2021-12-27

    then check up this https://github.com/microsoft/DirectXTK/wiki/Getting-Started

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 2022-01-20.

C++ Graphics related posts


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

Project Stars
1 aseprite 15,162
2 filament 13,403
3 tinyrenderer 11,980
4 3d-game-shaders-for-beginners 11,881
5 bgfx 10,872
6 OpenFrameworks 8,713
7 SFML 7,373
8 DearPyGui 6,921
9 renderdoc 6,042
10 Skia 5,916
11 tinyraytracer 4,007
12 urho3d 3,810
13 magnum 3,766
14 Ogre 3D 2,621
15 Atomic Game Engine 2,562
16 OpenSubdiv 2,553
17 matplotplusplus 2,474
18 OpenSceneGraph 2,347
19 yocto-gl 2,204
20 Open-Source Vulkan C++ API 2,139
21 Vulkan-Samples 2,057
22 LibreSprite 2,034
23 DirectXTK 1,936
Find remote jobs at our new job board 99remotejobs.com. There are 29 new remote jobs listed recently.
Are you hiring? Post a new remote job listing for free.
Less time debugging, more time building
Scout APM allows you to find and fix performance issues with no hassle. Now with error monitoring and external services monitoring, Scout is a developer's best friend when it comes to application development.