C++ OpenGL

Open-source C++ projects categorized as OpenGL

Top 23 C++ OpenGL Projects

  • GitHub repo filament

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

    Project mention: Any good tutorial about **implementing** PBR? | reddit.com/r/opengl | 2021-06-04

    The filament rendering library from Google has a full PBR pipeline implementation that you can hack on and see where theory becomes practice. It also provides an excellent in-depth discussion of the library implementation as well as why particular choices were made in the library.

  • GitHub repo tinyrenderer

    A brief computer graphics / rendering course

    Project mention: New to graphics development, where should I start? | reddit.com/r/cpp | 2021-06-14

    Last point I'd mention is, if this seems overwhelming and there's too much to learn here you could start with either a smaller project like this one https://github.com/ssloy/tinyrenderer or go the engine route and let an engine take care of all the platform and API details and you can focus exclusively in the gfx like here: https://catlikecoding.com/unity/tutorials/ .

  • 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 OpenRCT2

    An open source re-implementation of RollerCoaster Tycoon 2 🎢

    Project mention: Build fails at 100% | reddit.com/r/openrct2 | 2021-06-15

    I followed this guide and reinstalled all the packages. It works now :)

  • GitHub repo bgfx

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

    Project mention: New to graphics development, where should I start? | reddit.com/r/cpp | 2021-06-14

    An alternative you did not mention, which might also be useful to you, are these https://github.com/floooh/sokol and https://github.com/bkaradzic/bgfx . These are graphics API abstraction layers. They work the similarly to SDL in that they aim to abstract the API details of the graphics APIs into a single front facing API, allowing you to do graphics work without caring (too much) about the underlying backends. This could be a good option for you too if you want to go the multiplatform way.

  • 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: Boids swarming/flocking simulation for C++ | reddit.com/r/Simulated | 2021-06-14

    /CarlKd, Absolutely it's SFML which is an API for C++ and is mostly used for 2d graphics but can be supplemented with OpenGL or anything else you wish. It runs on Windows, MacOS, Linux and experimental support for iOS and Android.

  • 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 GLM

    OpenGL Mathematics (GLM)

    Project mention: SIMD for C++ Developers [pdf] | reddit.com/r/cpp | 2021-04-28

    It seems https://github.com/g-truc/glm also supports SIMD (at least if used / configured correctly).

  • GitHub repo olive

    Free open-source non-linear video editor

    Project mention: Lycopene supplements UK | reddit.com/r/olive | 2021-05-27

    Yes: You're lost. This is the subreddit for the Olive Video Editor: https://github.com/olive-editor/olive

  • GitHub repo Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: I have an idea for a project, not sure where or how to begin. | reddit.com/r/learnprogramming | 2021-05-22
  • GitHub repo openscad

    OpenSCAD - The Programmers Solid 3D CAD Modeller

    Project mention: rotate_extrude problems | reddit.com/r/openscad | 2021-06-06
  • GitHub repo Mapbox GL

    Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL

    Project mention: Maps Offline? | reddit.com/r/gnome | 2021-02-15

    But vector tiles is indeed the way to go, but it's also much more complicated. Everyone that has worked on Maps so far has done it either as a SoC / Outreachy student or on weekends and evenings. Look at https://github.com/mapbox/mapbox-gl-native if you want to get a feel for the complexity of a client side implementation of rendering vector tiles.

  • 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 SHADERed

    Lightweight, cross-platform & full-featured shader IDE

    Project mention: Is openGL programming hard to learn for everyone, or am I just dumb? | reddit.com/r/opengl | 2021-04-02

    It is very difficult to Step through a shader.. there are tools like ShaderRed (https://shadered.org/ ) which can be helpful though.

  • GitHub repo Panda3D

    Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU

    Project mention: How do i open toontown models/playgrounds into a program | reddit.com/r/toontownrewritten | 2021-06-12

    You can use any of the egg / bam conversion tools that come with the Panda3D SDK (https://www.panda3d.org/) to convert the models between different model formats that can be used in other modeling programs.

  • GitHub repo MangoHud

    A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb

    Project mention: Is there any way to use mangohud globally for OpenGL applications? | reddit.com/r/archlinux | 2021-06-15
  • GitHub repo Ogre 3D

    scene-oriented, flexible 3D engine

  • 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 Spring RTS game engine

    A powerful free cross-platform RTS game engine (by spring)

    Project mention: What are some proprietary programs you'd like an open source version of? | reddit.com/r/opensource | 2021-06-08

    so there's the Sprint RTS engine which is an open source framework for building RTS games. It's mature and there are many games available based on it.

  • GitHub repo apitrace

    Tools for tracing OpenGL, Direct3D, and other graphics APIs

    Project mention: Godot crashes whenever I make an OpenGL 3.0 project | reddit.com/r/godot | 2021-02-17

    I get that it's hard to debug without direct access, but isn't there some dump or log that they could generate and provide? Maybe something like using apitrace?

  • GitHub repo reshade

    A generic post-processing injector for games and video software.

    Project mention: Can we use reshade on cold war? | reddit.com/r/blackopscoldwar | 2021-06-14

    Title says it all, can we use reshade in call of duty blops cold war without getting banned? Ive seen a few people who say that theyve used it without issue, but those are all older.

  • GitHub repo duckstation

    Fast PlayStation 1 emulator for PC and Android

    Project mention: Emulator Compiling Instructions for dummies like me! | reddit.com/r/macgaming | 2021-06-11

    1. brew install cmake sdl2 qt5 (from terminal if you have homebrew installed) 2. git clone https://github.com/stenzek/duckstation.git -b dev 3. cd duckstation 4. git clone https://github.com/stenzek/duckstation-ext-mac.git dep/mac 5. cmake -DCMAKE_BUILD_TYPE=Release -DQt5_DIR=/opt/homebrew/Cellar/[email protected]/5.15.2/lib/cmake/Qt5 . 6. make -j8 7. cd bin 8. codesign --force --deep -s - Duckstation.app

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-06-15.


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

Project Stars
1 filament 11,158
2 tinyrenderer 10,777
3 3d-game-shaders-for-beginners 10,505
4 OpenRCT2 9,530
5 bgfx 9,459
6 OpenFrameworks 8,406
7 SFML 6,873
8 renderdoc 5,448
9 GLM 5,209
10 olive 5,081
11 Open3D 4,585
12 openscad 4,075
13 Mapbox GL 4,011
14 magnum 3,514
15 SHADERed 2,847
16 Panda3D 2,774
17 MangoHud 2,418
18 Ogre 3D 2,280
19 OpenSceneGraph 2,171
20 Spring RTS game engine 2,121
21 apitrace 2,086
22 reshade 1,996
23 duckstation 1,809