Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality. Learn more โ
Top 23 C++ 3d-graphic Projects
-
filament
Filament is a real-time physically based rendering engine for Android, iOS, Windows, Linux, macOS, and WebGL2
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
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.
-
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.
-
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.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
-
MaterialX
MaterialX is an open standard for the exchange of rich material and look-development content across applications and renderers.
-
HybridRenderingEngine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
-
SoftGLRender
Tiny C++ Software Renderer / Rasterizer, and implements OpenGL and Vulkan renderers for comparison
-
MethaneKit
๐ฒ Modern 3D graphics made simple with C++17 cross-platform framework and rendering abstraction API on top of DirectX 12, Metal & Vulkan
-
LinaEngine
Lina Engine is an open-source , modular, tiny and fast C++ game engine, aimed to develop 3D desktop games.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
C++: How OpenGL works: software rendering in 500 lines of code
Project mention: Filament โ A Language for Fearless Hardware Design | news.ycombinator.com | 2024-03-04Also: Filament is a real-time physically-based renderer written in C++. It is mobile-first, but also multi-platform.
https://google.github.io/filament/
This is a great series if youโre looking for a tutorial. https://lettier.github.io/3d-game-shaders-for-beginners/inde...
Project mention: Amazon Lays Off 180 Employees in Its Games Division | news.ycombinator.com | 2023-11-13
Project mention: Show HN: Atopile โ Design circuit boards with code | news.ycombinator.com | 2024-02-05
Source: https://github.com/ssloy/tinyraytracer
Project mention: F3d v2.3.0 Released โ Fast and minimalist 3D viewer | news.ycombinator.com | 2024-01-22
For those interested, this appears to be a really high quality library that provides a 3D PGA C++ API:
https://github.com/jeremyong/klein
I've always wanted to find an excuse to rebuild some projects at work around this.
Project mention: Show HN: Realtime Global Illumination on Older Hardware [video] | news.ycombinator.com | 2023-07-24Hi everyone,
A few months ago I posted here on HN about my open source 3D rendering engine. Since then I've been working on the new version which implements additional modern graphics techniques while still running on older GTX 10 series hardware.
This includes emission mapping, FXAA+TAA, better mesh LOD generation and selection, but the biggest one was an overhaul of the global illumination system.
The global illumination overhaul was the biggest aspect of the new release. The goal was better visuals than the previous version while maintaining equal performance. I wanted to outline how it works and what I had to do to make it work.
= How It Works =
* Direct lighting: Handled using standard rasterization pipeline with cascaded shadow mapping
* 2nd bounce of light: Approximated by a set of virtual point lights
* 3rd bounce of light: Not directly simulated but shadows are tapered to prevent harsh cutoff. VPLs can also be placed in open spaces to help spread light where it wouldn't be able to go without a true 3rd bounce.
* Adaptive sampling: maximum of 4200 virtual lights per frame are selected. Each pixel computes lighting using between 1 and 10 random samples based on object's distance to camera and whether or not the lighting history was recently discarded for that pixel (recently discarded = temporarily sample more heavily).
* Spatial resampling: each pixel can look at a few of its neighbors each frame. If the neighbor is a good fit it will merge that neighbor's samples into its own to increase the effective sample count.
* Denoise and temporal accumulation: 2 level wavelet denoiser combined with temporal accumulation to get rid of most noise and stabilize the image even when in motion.
= Maintaining Performance =
There are a few key ways that this version is able to both look better yet have the same performance as the previous version on the same hardware.
1) Reuse as much data as possible between frames. This is where the temporal accumulation aspect comes into play.
2) VPLs are updated slowly over many frames to prevent any single frame from halting the system.
3) With thousands of VPLs per frame, they can't all be factored in for each pixel. It's too much work. The approach was to instead sample from the set of VPLs randomly, reuse as much data spatially as possible, denoise the result and temporally accumulate 1 second worth of frames.
I'm very happy with the results! Roughly the same performance as the previous version but better visuals.
GitHub (open sourced under the MPL-2.0 license): https://github.com/KTStephano/StratusGFX
Image Showreel: https://ktstephano.github.io/portfolio
High-Level Tech Breakdown: https://ktstephano.github.io/rendering/stratusgfx/frame_anal...
C++ 3d-graphics related posts
-
Filament โ A Language for Fearless Hardware Design
-
OpenSCAD Survey - what programming language do you want to be added to app?
-
OpenSCAD Survey - What should be improved ?
-
remove fastcsg option
-
New EzEngine Release
-
Amazon Lays Off 180 Employees in Its Games Division
-
O3DE FOSS 3D Engine
-
A note from our sponsor - InfluxDB
www.influxdata.com | 6 May 2024
Index
What are some of the best open-source 3d-graphic projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | tinyrenderer | 19,389 |
2 | filament | 17,138 |
3 | 3d-game-shaders-for-beginners | 17,083 |
4 | o3de | 7,367 |
5 | openscad | 6,469 |
6 | draco | 6,256 |
7 | tinyraytracer | 4,893 |
8 | yocto-gl | 2,765 |
9 | F3D | 2,358 |
10 | tinykaboom | 2,309 |
11 | MaterialX | 1,729 |
12 | povray | 1,305 |
13 | mayo | 1,214 |
14 | ezEngine | 1,196 |
15 | HybridRenderingEngine | 1,064 |
16 | MxEngine | 1,041 |
17 | SoftGLRender | 927 |
18 | MethaneKit | 761 |
19 | LinaEngine | 755 |
20 | liblava | 743 |
21 | rbfx | 745 |
22 | Klein | 735 |
23 | StratusGFX | 608 |
Sponsored