
A 3D implementation of Augmented Vertex Block Descent, extending Roblox and University of Utah's research into three-dimensional physics simulation.
Built with C++ and OpenGL, featuring advanced collision detection using GJK/EPA algorithms and designed for compatibility with Basilisk Engine.
Extension of Roblox and University of Utah's 2D AVBD algorithm into full 3D space with rigid body dynamics.
Advanced collision pipeline using Gilbert-Johnson-Keerthi and Expanding Polytope Algorithm for accurate contact generation.
Built-in options to visualize normals, constraints, wireframes, EPA vertices, and contact points for development.
Designed with compatibility in mind for the future C++ version of Basilisk Engine using modern rendering libraries.
OpenGL-based renderer using GLFW, GLAD, GLM, STB, and ASSIMP for robust 3D visualization.
Based on cutting-edge research from SIGGRAPH 2025, implementing state-of-the-art physics simulation techniques.
AVBD 3D is an ongoing research implementation that extends the Augmented Vertex Block Descent algorithm from 2D to 3D. Based on the public 2D demo from the University of Utah and Roblox's collaborative research, this project explores the challenges and opportunities of bringing this advanced physics simulation technique into three-dimensional space.
The project is currently in active development as I work through understanding the intricacies of AVBD and debugging the 3D implementation. This is a learning journey through cutting-edge physics simulation research published at SIGGRAPH 2025.
The transition from 2D to 3D required fundamental changes to the data structures and algorithms. Some major differences include:
float3 to vec3 position and quat rotationfloat3 to vec6 (linear and angular)float2 to vec3mat3x3 inertiaTensorfloat3 to vec6float6 to mat6x6float2 to vec3The project includes extensive debug visualization options configurable at build time to aid in development and understanding of the physics simulation: