Top 23 C++ OpenGL Projects
-
tinyrenderer
A brief computer graphics / rendering course
Latest mention: Learn 3D Computer Graphics Programming from Scratch | news.ycombinator.com | 2020-12-29To 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
-
OpenRCT2
An open source re-implementation of RollerCoaster Tycoon 2 🎢
The single rail coaster was added a week ago.
-
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-18Maybe 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
-
glm
OpenGL Mathematics (GLM)
glm [link]
-
olive
Free open-source non-linear video editor
This is a known issue with the 0.1 series. Check here for workarounds: https://github.com/olive-editor/olive/wiki/FAQ
-
mapbox-gl-native
Interactive, thoroughly customizable maps in native Android, iOS, macOS, Node.js, and Qt applications, powered by vector tiles and OpenGL
-
Open3D
Open3D: A Modern Library for 3D Data Processing
Latest mention: LIDAR to OBJ similar to photogrammetry with Intel RealSense L515? | reddit.com/r/3DScanning | 2021-01-05 -
magnum
Lightweight and modular C++11 graphics middleware for games and data visualization
-
panda3d
Powerful, mature open-source cross-platform game engine for Python and C++, developed by Disney and CMU
-
SHADERed
Lightweight, cross-platform & full-featured shader IDE
Download: shadered.org or GitHub releases page.
-
MangoHud
A Vulkan and OpenGL overlay for monitoring FPS, temperatures, CPU/GPU load and more. Discord: https://discordapp.com/invite/Gj5YmBb
You can find the projects and their usage instructions here: * https://github.com/flightlessmango/MangoHud * https://github.com/benjamimgois/goverlay * https://github.com/DadSchoorse/vkBasalt
-
spring
A powerful free cross-platform RTS game engine
-
ogre
scene-oriented, flexible 3D engine
-
OpenSceneGraph
OpenSceneGraph git repository
-
reshade
A generic post-processing injector for games and video software.
It relies on injecting the reshade dll into the application. Note: The "crosire injector" linked in the post seems to be a build from the author of the page, if you want to be sure that you are getting a safe file you can compile it yourself: https://github.com/crosire/reshade/blob/main/tools/injector.cpp
-
DiligentEngine
A modern cross-platform low-level graphics library and rendering framework
-
teeworlds
A retro multiplayer shooter
-
KlayGE
KlayGE is a cross-platform open source game engine with plugin-based architecture.
-
xray-16
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.
Latest mention: OpenXRay has released a new version of the engine! | reddit.com/r/stalker | 2020-12-23That seems to mention the menu was locked at 60 fps to avoid the same problem the original Stalker devs had to solve : https://github.com/OpenXRay/xray-16/commit/a06ab1065b47cb5c240b34bf15f822c98543847c
-
dhewm3
dhewm 3 main repository
dhewm3 does not support correct 16:9 HUD (and main menu) scaling due to the author's unwillingness to dive into this: 16:9 GUIs · Issue #233 · dhewm/dhewm3 · GitHub
-
duckstation
Fast PlayStation 1 emulator for PC and Android
Latest mention: How do I connect my Xbox One controller to PCSX-R? (Windows) | reddit.com/r/EmulationOnPC | 2021-01-16Actually I recommend moving to Duckstation for PSX Emulation. I know it's not the answer you are looking for but it's quickly becoming the best windows PSX emulator. It even has Vulkan implementation. This is the link for the download. Here's a setup guide.
Index
What are some of the best open-source OpenGL projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | tinyrenderer | 9,936 |
2 | OpenRCT2 | 9,069 |
3 | bgfx | 8,834 |
4 | openFrameworks | 8,152 |
5 | SFML | 6,491 |
6 | glm | 4,751 |
7 | olive | 4,582 |
8 | mapbox-gl-native | 3,938 |
9 | Open3D | 3,914 |
10 | magnum | 3,317 |
11 | panda3d | 2,573 |
12 | SHADERed | 2,351 |
13 | MangoHud | 2,072 |
14 | spring | 2,057 |
15 | ogre | 2,055 |
16 | OpenSceneGraph | 2,037 |
17 | reshade | 1,743 |
18 | DiligentEngine | 1,613 |
19 | teeworlds | 1,536 |
20 | KlayGE | 1,475 |
21 | xray-16 | 1,441 |
22 | dhewm3 | 1,217 |
23 | duckstation | 1,212 |