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