C++ Rendering

Open-source C++ projects categorized as Rendering

Top 23 C++ Rendering Projects

  • tinyrenderer

    A brief computer graphics / rendering course

    Project mention: Is Pico-8 good to 'have an understanding of how rendering and other things like CA is done in videogames' or should I just stick with a programming language? | reddit.com/r/pico8 | 2022-10-06

    I think this might be more fitting for you.

  • bgfx

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

    Project mention: API of Graphics APIs | reddit.com/r/gamedev | 2022-11-28

    You can have a look at https://github.com/bkaradzic/bgfx

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • Open3D

    Open3D: A Modern Library for 3D Data Processing

    Project mention: CD PROJEKT RED announce The Witcher Remake in Unreal Engine 5 | reddit.com/r/linux_gaming | 2022-10-26

    There's also Open3D (O3D) the point cloud library... http://www.open3d.org/

  • tinyraytracer

    A brief computer graphics / rendering course

    Project mention: yep people like this exist | reddit.com/r/ProgrammerHumor | 2022-05-03

    For some reason, that reminded me of this.

  • Piccolo

    Piccolo (formerly Pilot) – mini game engine for games104

    Project mention: Pilot Engine is a tiny game engine | news.ycombinator.com | 2022-06-01
  • 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)

    Project mention: ⟳ 4 apps added, 43 updated at f-droid.org | reddit.com/r/FDroidUpdates | 2022-02-09

    Ogre Sample Browser (version 13.2.4): Object-Oriented Graphics Rendering Engine - Samples

  • Zigi

    The context switching struggle is real. Zigi makes context switching a thing of the past. It monitors Jira and GitHub updates, pings you when PRs need approval and lets you take fast actions - all directly from Slack!

  • asm-dom

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

    Project mention: WebAssembly and C++ | news.ycombinator.com | 2022-06-27

    FWIW if you look around, C++ and Rust libraries for DOM manipulation exist (I haven't searched for other languages which compile to WASM):



    I think solving the problem of DOM access on the library level is exactly the right way to tackle this problem. The library user don't need to care about specific WASM features, and the library implementation can be simplified when those WASM features become available (and also implement per-browser fallback paths)

  • yocto-gl

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

  • appleseed

    A modern open source rendering engine for animation and visual effects

    Project mention: Physically Based Rendering: From Theory to Implementation | news.ycombinator.com | 2022-03-17

    I'll ping you on Discord, we kinda know each other :)

    For others who like opensource renderers: Appleseed (which Franz is lead developer of) is amazing, check it out! https://appleseedhq.net/

  • tiny-cuda-nn

    Lightning fast C++/CUDA neural network framework

    Project mention: Tiny CUDA Neural Networks: fast C++/CUDA neural network framework | news.ycombinator.com | 2022-10-16
  • gazebo-classic

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

    Project mention: Trying to find info on how a bell with a multi-jointed clapper/pendulum might work. | reddit.com/r/AskPhysics | 2022-05-07
  • ospray

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

  • nCine

    A cross-platform 2D game engine

    Project mention: ncJump, an nCine game made by Fahien, runs on the Steam Deck | reddit.com/r/linux_gaming | 2022-03-28

    ncJump source code: https://github.com/Fahien/ncJump ncJump Dev Logs: https://www.antoniocaggiano.eu/lab/ncjump-devlog/ nCine homepage: https://ncine.github.io/

  • F3D

    Fast and minimalist 3D viewer.

    Project mention: Hosting an already built jekyll website on github-pages | reddit.com/r/github | 2022-11-20

    Website is supposed to look like that: https://f3d.app

  • tev

    High dynamic range (HDR) image viewer and comparison tool

    Project mention: The joy of building a ray tracer, for fun, in Rust | news.ycombinator.com | 2022-01-03

    In the decade I spent working on RenderMan at Pixar, I learned just how immensely useful it was to have an image viewer running in a separate process talking to the renderer over a socket or pipe. (The Image Tool, or "It" is RenderMan's viewer.) Having it stay up even if you kill the render or it crashes for some reason and being able to flip back and forth to easily compare test renders across recompiles is game changing.

    If I were to start writing a new renderer, the first thing I'd do is to hook it up to an external image viewer over some protocol. These days, I find myself liking TEV (https://github.com/Tom94/tev) a lot as a simple open-source image viewer that supports this. See the links in the README for Python and Rust implementations of its protocol.

  • StereoKit

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

    Project mention: Stereokit – open-source mixed reality library by Microsoft | reddit.com/r/patient_hackernews | 2022-07-20
  • liblava

    Modern and easy-to-use library for Vulkan

    Project mention: Just released: liblava 2022 alpha / v0.7.2 - Free demo collection on itch.io | reddit.com/r/vulkan | 2022-07-06

    tutorial, guide and sources: https://git.io/liblava

  • Rythe-Engine

    Rythe is a data-oriented C++17 game engine built to make optimal use of modern hardware.

  • RaZ

    Modern & multiplatform game engine in C++17

  • Yave

    Yet Another Vulkan Engine

  • gz-sim

    Open source robotics simulator. The latest version of Gazebo.

    Project mention: Gazebo is installed but unable to run! | reddit.com/r/robotics | 2022-11-26
  • dirt

    DIRT: a fast differentiable renderer for TensorFlow

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

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 2022-11-28.

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 15,276
2 bgfx 12,392
3 Open3D 7,739
4 tinyraytracer 4,358
5 Piccolo 3,803
6 mapnik 3,263
7 Ogre 3D 3,045
8 asm-dom 2,679
9 yocto-gl 2,393
10 appleseed 1,958
11 tiny-cuda-nn 1,818
12 gazebo-classic 969
13 ospray 864
14 nCine 765
15 F3D 743
16 tev 731
17 StereoKit 716
18 liblava 571
19 Rythe-Engine 523
20 RaZ 353
21 Yave 345
22 gz-sim 317
23 dirt 300
Free webinar: The Power of Clean C++
Are you ready to take your C++ code to the next level? Join Sonar on December 7th for our live webinar as we discuss how to get your code clean - and stay clean - with minimal effort and without being overloaded with warnings. Register now!