Recently I have been working on a Physics Engine inside C++.
The aim was to have generic collisions that followed Newton’s Laws of Physics and to put them in a reusable library so I could plug it inside any engine and use it with minor tweaking; if any.
The system currently lacks the ability to rotate when moving due to complexity, and will hopefully be added in the future.
Note the GUI I am using is ImGui which can be found here:
The challenges in this task were finding references on collision separation and the layout in which the system was made.
As you can see in that class diagram all the objects inherit from PhysicsShape class which allows the use of Polymorphism when detecting against collisions.
My physics system was demonstrated inside the AIE 3D framework for simplicity so sharing the entire source is forbidden due to not having the authority to do so.
However you can find the .h and .cpp files that were used to create my Library at my GitHub.
Physics System Link: https://github.com/remusjones/PhysicsLib