C++ 3d-graphics

Open-source C++ projects categorized as 3d-graphics

Top 23 C++ 3d-graphic Projects

  • tinyrenderer

    A brief computer graphics / rendering course

    Project mention: Recommendation for graphics experimentation project | reddit.com/r/cpp | 2023-02-23

    Yes, my thoughts exactly, shader!=program on GPU. It's just a code which calculates pixel color or pixel position. See for example this: https://github.com/ssloy/tinyrenderer/blob/master/main.cpp. It's not GLSL or anything uploadable to GPU yet it's still a shader.

  • filament

    Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2

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

    Anyone know much about how this compares to Filament by Google?


  • CodiumAI

    TestGPT | Generating meaningful tests for busy devs. Get non-trivial tests (and trivial, too!) suggested right inside your IDE, so you can code smart, create more value, and stay confident when you push.

  • 3d-game-shaders-for-beginners

    🎮 A step-by-step guide to implementing SSAO, depth of field, lighting, normal mapping, and more for your 3D game.

    Project mention: 3D game shaders for beginners: step-by-step guide to SSAO, lighting, and more | news.ycombinator.com | 2023-01-22
  • o3de

    Open 3D Engine (O3DE) is an Apache 2.0-licensed multi-platform 3D engine that enables developers and content creators to build AAA games, cinema-quality 3D worlds, and high-fidelity simulations without any fees or commercial obligations.

    Project mention: How does the performance and stability of O3DE compare with unity and UE5? | reddit.com/r/O3DE | 2023-04-10

    https://github.com/o3de/o3de/pull/9832 O3DE already has the name Meslets, it's similar to Nanite, but it's still developing for a long time, sooner or later it will include a demo, but it won't be soon

  • draco

    Draco is a library for compressing and decompressing 3D geometric meshes and point clouds. It is intended to improve the storage and transmission of 3D graphics.

    Project mention: how can I reduce size of a gltf file for web use? | reddit.com/r/Frontend | 2022-08-15
  • openscad

    OpenSCAD - The Programmers Solid 3D CAD Modeller

    Project mention: Unexpected behavior from rotate_extrude | reddit.com/r/openscad | 2023-05-29
  • tinyraytracer

    A brief computer graphics / rendering course


    ONLYOFFICE Docs — document collaboration in your environment. Powerful document editing and collaboration in your app or environment. Ultimate security, API and 30+ ready connectors, SaaS or on-premises

  • yocto-gl

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

  • tinykaboom

    A brief computer graphics / rendering course

  • MaterialX

    MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.

  • F3D

    Fast and minimalist 3D viewer.

    Project mention: 3MF Thumbnails on Linux | reddit.com/r/3Dprinting | 2023-04-28

    I managed to get thumbnails for STL and STEP (and a bunch of other files) using f3d (awesome software, recommended!).

  • povray

    The Persistence of Vision Raytracer: http://www.povray.org/

  • HybridRenderingEngine

    Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.

    Project mention: Why Are Modern PC Games Using So Much VRAM? | reddit.com/r/hardware | 2023-05-04

    Aside from that, for more foundational information about how things like rendering and shaders work, there's a plethora of content out there such as NVIDIA's "Life of a Triangle" blog post or Fabien Giesen's "A trip through the Graphics Pipeline" blog post. There's really too much to link, so I'm just gonna link this treasure trove of resources covering dozens upon dozens of articles, presentations and blog posts from general computer graphics, GPU programming and architecture, software development, OpenGL-specific resources for getting into graphics programming, etc.

  • ezEngine

    An open source C++ game engine.

  • MxEngine

    C++ open source 3D game engine

  • mayo

    3D CAD viewer and converter based on Qt + OpenCascade

    Project mention: PrusaSlicer 2.6.0-alpha2 released (Organic supports) | reddit.com/r/prusa3d | 2023-01-31
  • vkDOOM3

    Vulkan DOOM 3 port based on DOOM 3 BFG Edition

    Project mention: Vulkan Tutorial (Rust) | news.ycombinator.com | 2023-01-12

    For me, it was "I Am Graphics And So Can You" [1] series, where author progresses from the similar concepts up to a working renderer for DOOM 3, linked in the intro of this article [2].

    [1]: https://www.fasterthan.life/blog/2017/7/11/i-am-graphics-and...

    [2]: https://github.com/DustinHLand/vkDOOM3

  • Klein

    P(R*_{3, 0, 1}) specialized SIMD Geometric Algebra Library

    Project mention: The Bitter Truth: Python 3.11 vs Cython vs C++ Performance for Simulations | reddit.com/r/cpp | 2022-12-30

    Most high-performance math libraries perform a lot of vectorization (Eigen, etc) under the hood. And you've got stuff like Klein, Vc (which is reminiscent of std::valarray), etc. Then there's OpenMP's #pragma omp simd (assuming version 4.0 or greater).

  • 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 | reddit.com/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.

  • rbfx

    Lightweight Game Engine/Framework in C++17 with WYSIWYG Editor. Experimental C# bindings.

    Project mention: Are there any cross-platform high-level fully programmatic mobile frameworks like Apple's SceneKit, SpriteKit, and GameplayKit that do not depend on special IDEs or visual editors? | reddit.com/r/gamedev | 2023-05-03

    good engines for C++ that meet your requirements https://github.com/u3d-community/U3D https://github.com/rbfx/rbfx i highly recommend taking a look at rbfx, U3D doesn't have all the fancy features that rbfx has but deep down they are the same engine almost. They are forks of Urho3D, a mature engine that has existed from the year of 2011/2010.

  • MethaneKit

    🎲 Modern 3D graphics made simple with C++17 cross-platform framework and rendering abstraction API on top of DirectX 12, Metal & Vulkan

    Project mention: Searching for Reliable Cross-Platform Rendering Framework (C/C++) | reddit.com/r/gamedev | 2023-01-19

    I have had my eye on MethaneKit for a while, it may not be far enough along for what you want.

  • SoftGLRender

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

    Project mention: Can my learning plan be improved? | reddit.com/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

  • LinaEngine

    Lina Engine is an open-source , modular, tiny and fast C++ game engine, aimed to develop 3D desktop games.

  • InfluxDB

    Access the most powerful time series database as a service. Ingest, store, & analyze all types of time series data in a fully-managed, purpose-built database. Keep data forever with low-cost storage and superior data compression.

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-05-29.

C++ 3d-graphics related posts


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

Project Stars
1 tinyrenderer 16,988
2 filament 15,794
3 3d-game-shaders-for-beginners 15,449
4 o3de 6,217
5 draco 5,677
6 openscad 5,628
7 tinyraytracer 4,546
8 yocto-gl 2,615
9 tinykaboom 2,233
10 MaterialX 1,412
11 F3D 1,279
12 povray 1,198
13 HybridRenderingEngine 978
14 ezEngine 918
15 MxEngine 836
16 mayo 800
17 vkDOOM3 771
18 Klein 655
19 liblava 633
20 rbfx 631
21 MethaneKit 620
22 SoftGLRender 595
23 LinaEngine 586
Write Clean C++ Code. Always.
Sonar helps you commit clean C++ code every time. With over 550 unique rules to find C++ bugs, code smells & vulnerabilities, Sonar finds the issues while you focus on the work.