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. Learn more →
Top 23 C++ 3d-graphic Projects
-
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-15Anyone 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-10https://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 -
-
-
ONLYOFFICE
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
-
-
-
MaterialX
MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.
-
I managed to get thumbnails for STL and STEP (and a bunch of other files) using f3d (awesome software, recommended!).
-
-
HybridRenderingEngine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
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.
-
-
-
Project mention: PrusaSlicer 2.6.0-alpha2 released (Organic supports) | reddit.com/r/prusa3d | 2023-01-31
-
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...
-
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).
-
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.
-
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-19I 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
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.
C++ 3d-graphics related posts
- Unexpected behavior from rotate_extrude
- SVG Scaling issue in Development Version
- OpenGL Texture units other than GL_TEXTURE0 are not working on Windows but work fine on Linux
- OpenGL Array Texture samples black color on Windows (AMD) but works fine on Linux (Mesa)
- Why Are Modern PC Games Using So Much VRAM?
- Appleseed – open-source, physically-based global illumination rendering engine
- How does the performance and stability of O3DE compare with unity and UE5?
-
A note from our sponsor - InfluxDB
www.influxdata.com | 31 May 2023
Index
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 |