rigs-of-rods
position-based-dynamics
rigs-of-rods | position-based-dynamics | |
---|---|---|
4 | 1 | |
972 | 67 | |
1.0% | - | |
9.2 | 0.0 | |
14 days ago | over 1 year ago | |
C++ | C++ | |
GNU General Public License v3.0 only | Boost Software License 1.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
rigs-of-rods
-
Lessons from Open-Source Game Projects
Rogs of Rods - Soft-body physics simulator mainly targeted at simulating vehicle physics. C++, OpenGL
- rigs-of-rods: Main development repository for Rigs of Rods soft-body physics simulator
-
Rigs of Rods: free and open source vehicle simulator that uses soft-body physics
Link to the actual source code: https://github.com/RigsOfRods/rigs-of-rods/
- Rigs of Rods: Open-source vehicle simulator based on soft-body physics
position-based-dynamics
-
SoftBody Simulation model
If you are already familiar with opengl, then you don't actually need a soft body sim open source project that is written with opengl to understand how to implement soft body sim in opengl. Basically, what I mean by this is that for soft body simulations, vertices may deform by many transformations including, but not exclusively, rigid transformations (soft bodies can deform in highly non-linear ways, you can stretch them in many ways, twist them, etc). This means that you cannot simply animate your objects with a rotation and a translation as you would animate rigid bodies. You will need to update vertex positions every frame and transfer them to opengl for rendering. So in other words, you only need an open source project which solves the problem of computing new vertex positions at every frame given external and internal forces. There are many different algorithms for simulating soft bodies, (algorithms which compute new vertex positions at every frame), but I would suggest targeting position based dynamics, which is one of the simpler but more flexible real-time methods for simulation. It is used in many real time scenarios such as video games. I believe there are many open source projects which implement position based dynamics, but if you can't find them or do not find them to your liking, you can try this one https://github.com/Q-Minh/position-based-dynamics. It is a prototype of PBD that you can play with in ImGui and uses libigl for visualization. libigl's viewer actually wraps opengl code. But as I said, you only need a way to find and update new vertex positions and send those to opengl regularly to integrate the soft body sim to opengl. Hope this helps.
What are some alternatives?
SolarSystem - A solar system simulator with Verlet, using OpenGL for displaying.
DART - DART: Dynamic Animation and Robotics Toolkit
OpenLoco - An open source re-implementation of Chris Sawyer's Locomotion
3DWorld - 3D Procedural Game Engine Using OpenGL
envoy - Cloud-native high-performance edge/middle/service proxy
Simbody - High-performance C++ multibody dynamics/physics library for simulating articulated biomechanical and mechanical systems like vehicles, robots, and the human skeleton.
A - A program to simulate the motion of particles in a 3D space
Geant4-P2P-Investigation - My University of York Theoretical Physics BSc dissertation and accompanying code, investigating the optimal detector system for utilising a (p,2p) interaction when determining the proton binding energy within Carbon-12 atoms.