Top 23 C++ Graphic Projects
Animated sprite editor & pixel art tool (Windows, macOS, Linux)Latest mention: Pixel Art Questions Answers Faq Post Your | reddit.com/r/PixelArt | 2021-01-16
Judging by their EULA (2 g), you can only use it compiled from source for your own personal use.
A brief computer graphics / rendering courseLatest mention: Learn 3D Computer Graphics Programming from Scratch | news.ycombinator.com | 2020-12-29
To 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
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-18
Maybe bgfx is what you're looking for? They have an SDL section in the docs.
openFrameworks is a community-developed cross platform toolkit for creative coding in C++.
Simple and Fast Multimedia LibraryLatest mention: Why is SDL so commonly used with C++? | reddit.com/r/cpp | 2021-01-18
Skia is a complete 2D graphic library for drawing Text, Geometries, and Images.Latest 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).
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependenciesLatest mention: New ways to fund DPG development! | reddit.com/r/DearPyGui | 2021-01-20
Cross-platform 2D and 3D game engine.Latest mention: Is there any example code for bullet physics "btConvexHullShape" shape with c++? | reddit.com/r/gameenginedevs | 2021-01-04
I recommend you take a look at how Urho3D does it as a solid working example: Urho3D/blob/master/Source/Urho3D/Physics/CollisionShape.cpp#L282
Lightweight and modular C++11 graphics middleware for games and data visualization
An Open-Source subdivision surface library.
scene-oriented, flexible 3D engine
OpenSceneGraph git repository
Matplot++: A C++ Graphics Library for Data Visualization 📊🗾Latest mention: Looking for a way to plot some graphs | reddit.com/r/Cplusplus | 2021-01-19
matplotlib-cpp, matplotplusplus. I've never used them but they look fancy
Open-Source Vulkan C++ APILatest mention: rust on vulkan vs c++ | reddit.com/r/vulkan | 2021-01-04
For C++, Vulkan-Hpp is an official C++ API from Khronos and Nvidia that introduces a lot of useful tools and abstractions and gets official attention from Khronos and other interested parties within the industry.
The DirectX Tool Kit (aka DirectXTK) is a collection of helper classes for writing DirectX 11.x code in C++
KlayGE is a cross-platform open source game engine with plugin-based architecture.
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.
OpenVDB - Sparse volume data structure and tools
A Playstation 4 emulator just beginLatest 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)
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.
A C++ binding for the OpenGL API, generated using the gl.xml specification.
What are some of the best open-source Graphic projects in C++? This list will help you: