C++ Rendering

Open-source C++ projects categorized as Rendering

Top 23 C++ Rendering Projects

  • tinyrenderer

    A brief computer graphics / rendering course

    Project mention: Ask HN: What books or courses do you know similar to "From Nand to Tetris"? | news.ycombinator.com | 2023-07-24

    Other people have mentioned ray-tracing in one weekend

    If anyone is really interested in graphics I would also recommend TinyRenderer


    This one is a CPU-based rasterizing renderer

    Its good if you want to get a good understanding of what a GPU does underneath

  • bgfx

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

    Project mention: The Ultimate Cross-Platform Rendering Engine? | /r/GraphicsProgramming | 2023-08-18

    BGFX: Pretty mature and easy to use with many backends.

  • InfluxDB

    Collect and Analyze Billions of Data Points in Real Time. Manage all types of time series data in a single, purpose-built database. Run at any scale in any environment in the cloud, on-premises, or at the edge.

  • Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: Does anyone else agree that the links to the latest development version of Open3D don't work? | /r/cscareerquestions | 2023-07-10

    I was going to file a bug about another issue, but I have to download the development version. This is why I want this solved quickly. None of the links seem to work: https://github.com/isl-org/Open3D/issues/6259

  • Piccolo

    Piccolo (formerly Pilot) – mini game engine for games104

  • tinyraytracer

    A brief computer graphics / rendering course

    Project mention: What are the best textbooks/resources for learning graphics programming practically in 2023? | /r/GraphicsProgramming | 2023-07-06

    Tiny raytracer and the related tiny series are pretty good implementations of certain popular rendering techniques, without the use of an API.

  • mapnik

    Mapnik is an open source toolkit for developing mapping applications

    Project mention: Ask HN: Best way to learn enough C++? | news.ycombinator.com | 2022-10-08

    I know Rust, but after hitting my head against a wall trying to generate Rust bindings for a templated c++ library[1] I realized I should just write this part of my project in c++.

    My current plan is to read through Stroustrup's A Tour of C++, then start working on my project. When I encounter issues I'll look the topic up in Stroustrup's The C++ Programming Language.

    I'm hoping someone with relevant experience can tell me if this is a decent plan, and if there's a better or faster way to learn enough C++ to write a small program that calls such a library.

    [1]: https://github.com/mapnik/mapnik

  • Ogre 3D

    scene-oriented, flexible 3D engine (C++, Python, C#, Java)

  • Mergify

    Updating dependencies is time-consuming.. Solutions like Dependabot or Renovate update but don't merge dependencies. You need to do it manually while it could be fully automated! Add a Merge Queue to your workflow and stop caring about PR management & merging. Try Mergify for free.

  • tiny-cuda-nn

    Lightning fast C++/CUDA neural network framework

    Project mention: [D] Have their been any attempts to create a programming language specifically for machine learning? | /r/MachineLearning | 2023-02-11

    In the opposite direction from your question is a very interesting project, TinyNN all implemented as close to the metal as possible and very fast: https://github.com/NVlabs/tiny-cuda-nn

  • asm-dom

    A minimal WebAssembly virtual DOM to build C++ SPA (Single page applications)

    Project mention: Blazor United - When it ships it would be the most glorious way to do web with .NET | /r/programming | 2023-01-25

    Aside from Blazor there's already some other projects like Yew (rust), seed (rust), asm-dom (C++) and vugu (Go) and more that have decent followings and activity. A lot more (especially managed languages) are waiting for some features to come online like wasm GC and host bindings (direct wasm access to browser apis which includes the DOM). It'll take a bit of time, but it'll get there eventually.

  • yocto-gl

    Yocto/GL: Tiny C++ Libraries for Data-Driven Physically-based Graphics

  • tinykaboom

    A brief computer graphics / rendering course

  • appleseed

    A modern open source rendering engine for animation and visual effects

    Project mention: Appleseed – open-source, physically-based global illumination rendering engine | news.ycombinator.com | 2023-04-15

    for more reading, the submission from 2017: https://news.ycombinator.com/item?id=13567594

    It is MIT: https://github.com/appleseedhq/appleseed/blob/master/LICENSE...

  • F3D

    Fast and minimalist 3D viewer.

    Project mention: F3D v2.1.0 is out! Fast and minimalist opensource 3D viewer now with better animation, camera option and HDRI support. | /r/Unity3D | 2023-07-04

    See top comment, in any case: https://github.com/f3d-app/f3d/releases/tag/v2.1.0

  • Easy3D

    A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data

    Project mention: Visualization tools when working with C++? | /r/computervision | 2023-05-14

    For 3D visualisation I use Easy3D by Professor Nan: https://github.com/LiangliangNan/Easy3D

  • gazebo-classic

    Gazebo classic. For the latest version, see https://github.com/gazebosim/gz-sim

    Project mention: Unable to render window | /r/swaywm | 2023-06-07

    it is this one: https://github.com/gazebosim/gazebo-classic

  • zeno

    ZEn NOde system - a simulation & rendering engine in nodes (by zenustech)

    Project mention: It's recommended to build software on Arch Linux | /r/linuxmemes | 2023-04-15

    Buiding guide

  • ospray

    An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization

  • nCine

    A cross-platform 2D game engine

  • tev

    High dynamic range (HDR) image viewer for graphics people

    Project mention: Simple TCP stream library - equivalent of rust's std::net::TcpStream? | /r/cpp_questions | 2023-01-07

    Hi. I'm a C++ newbie and want to use a simple, modern library to send over a network - specifically to use the tev image viewer's IPC protocol. I don't need anything fancy, just synchronous that I can feed arrays of bytes to. I looked briefly into asio but that seems too complicated for my needs.

  • StereoKit

    An easy-to-use mixed reality library for building HoloLens and VR applications with C# and OpenXR!

  • SoftGLRender

    Tiny C++ Software Renderer / Rasterizer, and implements OpenGL and Vulkan renderers for comparison

    Project mention: Can my learning plan be improved? | /r/GraphicsProgramming | 2023-04-11

    This is a really good example of a software rasteriser which is a good project to try https://github.com/keith2018/SoftGLRender

  • liblava

    Modern and easy-to-use library for Vulkan

    Project mention: Vulkan all the way: Transitioning to a modern low-level graphics API in academia | /r/programming | 2023-03-07

    Sorry for late response! The one I like most is LibLava https://github.com/liblava/liblava I contributed a few features that it was missing for me, and a few other people have done the same, so it's somewhat battle tested. At least two people have used it in academic projects. I like that it gives you full access to the low level parts of Vulkan while still providing high level abstractions over a lot, especially the render loop. The biggest issue imo is lackluster documentation, but it's fairly well organized and readable source code. Build times are also pretty long due to its many dependencies.

  • Unreal-Engine-Guide

    Unreal Engine 5 Guide. Learn to develop games for Windows, Linux, macOS, iOS, Android, Xbox Series X|S, PlayStation 5, Nintendo Switch.

  • SonarCloud

    Analyze your C and C++ projects with just one click.. SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.

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 2023-08-18.

C++ Rendering related posts


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

Project Stars
1 tinyrenderer 17,956
2 bgfx 13,487
3 Open3D 9,497
4 Piccolo 5,045
5 tinyraytracer 4,690
6 mapnik 3,447
7 Ogre 3D 3,442
8 tiny-cuda-nn 2,881
9 asm-dom 2,743
10 yocto-gl 2,682
11 tinykaboom 2,264
12 appleseed 2,116
13 F3D 1,566
14 Easy3D 1,098
15 gazebo-classic 1,070
16 zeno 987
17 ospray 929
18 nCine 889
19 tev 877
20 StereoKit 840
21 SoftGLRender 748
22 liblava 665
23 Unreal-Engine-Guide 658
Analyze your C and C++ projects with just one click.
SonarCloud, a cloud-based static analysis tool for your CI/CD workflows, offers a one-click automatic analysis of C and C++ projects hosted on GitHub. Zero configuration and free for open-source projects! Analyze free.