A list of paid, free or open source C++ (C plus plus) graphics libraries, plugins and tools including cross platform rendering, 3d modelling, 3d data visualisation, 3D engines, 2D graphics and more. Sourced under a creative commons. This list will be updated regularly. Email over the URL, if you wish to be included.
C++ graphics libraries
- assimp – Open Asset Import Library (assimp) is a cross-platform 3D model import library which aims to provide a common API for different 3D asset file formats. [BSD-3-Clause] website
- bgfx – A cross-platform rendering library. [BSD]
- Blend2D – 2D vector graphics engine powered by a JIT compiler. [Zlib] website
- Cairo – A 2D graphics library with support for multiple output devices. [LGPL2 or Mozilla MPL]
- C-Turtle – A C++11 header-only turtle graphics library acting as a CImg wrapper. [MIT]
- Diligent Engine – A modern cross-platform low-level 3D graphics library. [Apache2]
- DirectXTK – A collection of helper classes for writing DirectX 11.x code in C++. [MIT]
- GLFW – A simple, cross-platform OpenGL wrangling library. [zlib/libpng]
- GLFWPP – A thin modern C++17 header-only wrapper for GLFW. [MIT]
- Harfang 3D 3D visualization library usable in C++, Python, Lua and Go. Based on BGFX. [GPLv3/LGPLv3/Commercial] website
- herebedragons – A basic 3D scene implemented with various engines, frameworks or APIs. [MIT] website
- Horde3D – A small 3D rendering and animation engine. [EPL]
- Ion – A small and efficient set of libraries for building cross-platform client or server applications that use 3D graphics. [Apache2] website
- Irrlicht – A high performance realtime 3D engine written in C++. [zlib]
- libigl – Simple C++ geometry processing library. [MPL2]
- LLGL – Low Level Graphics Library (LLGL) is a thin abstraction layer for the modern graphics APIs. [BSD-3-Clause]
- magnum – Lightweight and modular C++11/C++14 graphics middleware for games and data visualization. [MIT] website
- micro-gl – Realtime, Embeddable, Headers Only C++11 CPU vector graphics. no STD lib, no FPU and no GPU required. [CUSTOM] website
- NanoVG – Antialiased 2D vector drawing library on top of OpenGL for UI and visualizations. [Zlib]
- Ogre 3D ⚡ – A scene-oriented, real-time, flexible 3D rendering engine (as opposed to a game engine) written in C++. [MIT] website
- OpenSceneGraph – An open source high performance 3D graphics toolkit. [OSGPL]
- OpenSubdiv – Pixar’s library for evaluating and rendering subdivision surfaces on CPU and GPU. [Modified Apache2]
- OpenVDB – Library and tools for storing, editing, and rendering volumetric datasets. [MPL2]
- Panda3D – A framework for 3D rendering and game development for Python and C++. [BSD]
- Partio – Library for wrangling particle data, with support for most common file formats. [Modified BSD]
- Skia – A complete 2D graphic library for drawing Text, Geometries, and Images. [BSD] website
- TinySpline – A small, yet powerful ANSI C library for interpolating, transforming, and querying arbitrary NURBS, B-Splines, and Bézier curves. [MIT]
- urho3d – Cross-platform rendering and game engine. [Many different, mostly MIT]
- Yocto/GL – Tiny C++ Libraries for Data-Driven Physically-based Graphics. [MIT]
Tags: c++, open source, c plus plus, c++ tools, c++ plugins, c++ libraries, c plus plus tools, c plus plus plugins, c plus plus libraries, cross platform rendering, 3d modelling, 3d data visualisation, 3D engines, 2D graphics, 2d drawing, 2d graphs, opengl, 2d vector graphics, 3d vector graphics, 2d engines, 3d graphics, c++ cross platform rendering, c++ 3d modelling, c++ 3d data visualisation, c++ 3D engines, c++ 2D graphics, c++ 2d drawing, c++ 2d graphs, c++ opengl, c++ 2d vector graphics, c++ 3d vector graphics, c++ 2d engines, c++ 3d graphics
Image: Unsplash License.
Portions of this text under: MIT license