Dallin Clark — Graphics Programmer

Real-Time Physics Engine

This project is a C++ and OpenGL based rigid body simulation tool that I developed.

It supports custom geometry, with object parameters for mass, density, elasticity, and gravity. It implements collision detection, collision point detection, and impulse based response.

Features


  • Rigid Body Dynamics Simulates 3D objects with variable properties — adjustable density, dimensions, restitution (bounciness), initial velocity, and initial transforms per object.
  • Dynamic Gravity Adjustable gravity strength and direction.
  • Broad and Narrow Phase Collision Detection Axis-aligned bounding boxes are used for the broad phase, and Separating Axis Theorem is implemented for the narrow phase. Sutherland-Hodgman clipping is used to detect collision points.
  • Impulse-Based Collision Resolution Realistic collision responses computed via impulse methods using Explicit Euler integration.
  • Static and Movable Objects Supports static immovable objects and active objects of any convex shape type.

© 2025 Dallin Clark · Built with HTML/CSS · Contact Me