SaaSHub helps you find the best software and product alternatives Learn more →
Top 23 C++ Physic Projects
-
Bullet
Bullet Physics SDK: real-time collision detection and multi-physics simulation for VR, games, visual effects, robotics, machine learning etc.
-
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.
-
JoltPhysics
A multi core friendly rigid body physics and collision detection library, written in C++, suitable for games and VR applications.
-
FluidX3D
The fastest and most memory efficient lattice Boltzmann CFD software, running on all GPUs via OpenCL.
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
Simbody
High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
-
CHRONO
High-performance C++ library for multiphysics and multibody dynamics simulations (by projectchrono)
-
stuntrally
Note: development continues in stuntrally3. 3D racing game based on VDrift and OGRE with own Track Editor. The main repository with Stunt Rally 2.x sources and data.
-
SaaSHub
SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives
For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.
The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...
For typical game physics engines... not that much. Math libraries like Eigen or Blaze use lots of template metaprogramming techniques under the hood that can help when you're doing large batched matrix multiplications (since it can remove temporary allocations at compile-time and can also fuse operations efficiently, as well as applying various SIMD optimizations), but it doesn't really help when you need lots of small operations (with mat3 / mat4 / vec3 / quat / etc.). Typical game physics engines tend to use iterative algorithms for their solvers (Gauss-Seidel, PBD, etc...) instead of batched "matrix"-oriented ones, so you'll get less benefits out of Eigen / Blaze compared to what you typically see in deep learning / scientific computing workloads.
The codebases I've seen in many game physics engines seem to all roll their own math libraries for these stuff, or even just use SIMD (SSE / AVX) intrinsics directly. Examples: PhysX (https://github.com/NVIDIA-Omniverse/PhysX), Box2D (https://github.com/erincatto/box2d), Bullet (https://github.com/bulletphysics/bullet3)...
Project mention: My open-source Algodoo remake is releasing in alpha at the end of the month! | /r/Algodoo | 2023-06-10You can make thicker liquids like honey, and change their colors. You can mix liquids together as well. I'm using Google's LiquidFun to achieve this.
I know you mean PhysX how it was WAYYY back (& GPU accel), but it's been open source for ages.
Project mention: If you can't reproduce the model then it's not open-source | news.ycombinator.com | 2024-01-17I think the process of data acquisition isn't so clear-cut. Take CERN as an example: they release loads of data from various experiments under the CC0 license [1]. This isn't just a few small datasets for classroom use; we're talking big-league data, like the entire first run data from LHCb [2].
On their portal, they don't just dump the data and leave you to it. They've got guides on analysis and the necessary tools (mostly open source stuff like ROOT [3] and even VMs). This means anyone can dive in. You could potentially discover something new or build on existing experiment analyses. This setup, with open data and tools, ticks the boxes for reproducibility. But does it mean people need to recreate the data themselves?
Ideally, yeah, but realistically, while you could theoretically rebuild the LHC (since most technical details are public), it would take an army of skilled people, billions of dollars, and years to do it.
This contrasts with open source models, where you can retrain models using data to get the weights. But getting hold of the data and the cost to reproduce the weights is usually prohibitive. I get that CERN's approach might seem to counter this, but remember, they're not releasing raw data (which is mostly noise), but a more refined version. Try downloading several petabytes of raw data if not; good luck with that. But for training something like a LLM, you might need the whole dataset, which in many cases have its own problems with copyrights…etc.
[1] https://opendata.cern.ch/docs/terms-of-use
[2] https://opendata.cern.ch/docs/lhcb-releases-entire-run1-data...
Hopsan https://liu.se/en/research/hopsan and Project Chrono https://projectchrono.org/ may be good Simulink alternatives.
Some other Rust game engines ship with their own physics engine. Fyrox, for example, has advanced 2D/3D physics, supporting rigid bodies, joints, ray casting and more. Godot too, which has community-led Rust bindings also has an in-built physics engine as well as a Godot-native extension using the Jolt physics engine. In fact, which is reported to be more performant than the official physics engine.
Project mention: SpaceTraders: A multiplayer game built on a free web API | news.ycombinator.com | 2023-05-08Not to be confused with Pioneer Spacesim, the remake of Elite 2, a free online game
it is this one: https://github.com/gazebosim/gazebo-classic
I have explored various resources, including the official Sofa website, SofaPython3 website, and YouTube videos, yet I have not been successful in locating valuable guidance on initiating the learning process for Sofa using Python. I know how to write basic Python, but I find myself perplexed regarding the necessary steps to construct models and execute simulations effectively.
Project mention: Ask HN: Examples of Companies/Tools Simulating Real World Processes | news.ycombinator.com | 2024-02-17
👉 Last release - Github
C++ Physics related posts
- Blaze: A High Performance C++ Math library
- Jolt Physics raylib: trying 3D C++ Game Physics Engine
- Nebula is an open-source and free-to-use modern C++ game engine
- Looking for specific pre-Microsoft Havok Physics SDK version (2013, 2014)
- Software for Mechanism Analysis
- MuJoCo 3
- Simulation Islands
-
A note from our sponsor - SaaSHub
www.saashub.com | 19 Apr 2024
Index
What are some of the best open-source Physic projects in C++? This list will help you:
Project | Stars | |
---|---|---|
1 | Bullet | 11,862 |
2 | Box2D | 7,263 |
3 | mujoco | 7,133 |
4 | Piccolo | 5,506 |
5 | JoltPhysics | 5,523 |
6 | LiquidFun | 4,644 |
7 | FluidX3D | 3,162 |
8 | PhysX | 3,073 |
9 | root | 2,411 |
10 | Simbody | 2,216 |
11 | CHRONO | 2,031 |
12 | godot-jolt | 1,604 |
13 | pioneer | 1,558 |
14 | gazebo-classic | 1,130 |
15 | psi4 | 920 |
16 | sofa | 861 |
17 | GamePhysicsCookbook | 781 |
18 | stuntrally | 587 |
19 | gz-sim | 573 |
20 | harfang3d | 467 |
21 | ofxBox2d | 322 |
22 | Physics3D | 296 |
23 | WarpX | 254 |