Physics Engine

Physics Engine

Team size 1
Project duration 5 months
Language used C++

Project Description

In this project I've been developing an entire 3D Physics Engine that can be used in any project. For the development of the project I've used C++20 and I've made use of templates and new C++20 features so the engine can be configured by the user in compile time.

I'm currently finishing the project and I've really enjoyed all the way since the beginning of the project until now. Now I'm working on fixing some bugs, making an user interface to be easy to use and making some demos to show the engine working.

Project Download

You can download the full Visual Studio solution to try the project.

GO TO REPOSITORY

Project Video

What I did

I've developed the entire engine by myself and what I've implemented is

-The first that I made was a particle based physics engine, without collisions.

-Later I implmented a full RigidBody simulation in a mass aggregate physics engine so the bodies could have rotations and orientations.

-The last that I made was the Collision Detection System to add collisions to the physics engine. I only added two shapes to my engine, the sphere and the box and I've been working on that, I thought on adding a capsule but I haven't done it yet.

-I also implemented the Collision Resolution system so the bodies can react to the detected collisions.