Math/Physics Sandbox
Overview:
This project is a sandbox for all math and physics logic developed for my custom C++ game engine. This sandbox includes tests for BVH and bit-bucket spatial partitioning, raycasts, collision detection, Newtonian-based collision responses, splines, and general 3D geometry visualizations.
- Tools: C++, HLSL, DirectX 11
- Development Timeline: August 2022 – Present
Project Features:
Rigid Body Dynamics
This sandbox provides a test for the simulation of 3D rigid body dynamics. The test environment can take in any obj file and generate a convex hull that can be simulated against any convex polyhedron.
Collision Detection and Responses
This sandbox provides the following test environments and visualizations for a wide variety of problems regarding collision detection and responses:
- BVH trees
- Bit-bucket spatial partitioning
- Quickhull algorithm
- Minkowski Difference
- GJK Algorithm
- EPA
Raycasts
In this sandbox there are several test environments for raycasts. These include raycasts tests for the following:
- Fast raycast for tile/voxel grids
- AABBs
- OBBs
- Line segments
- Planes
- Convex hulls
- Discs/Spheres
Easing, Curves, and Splines
One of the test environments for this sandbox is a game mode to develop and test Bezier curves, Hermite curves, Catmull-Rom splines, and easing functions.