A custom, open-source 3D Multi-Physics & Computer-Aided Engineering (CAE) Simulation Engine built in modern C++20.
The objective of this engine is to simulate inhomogeneous composite materials (with dynamic Center of Mass and Inertia Tensor calculation), GPU-accelerated particle aerodynamics (SPH), and thermodynamic chemical combustion kinetics.
- Tech Stack: C++20, CMake, GLFW, GLM, OpenGL 4.5, Dear ImGui.
- 3D Viewport: Spherical Orbit Camera with mouse controls (Orbit drag & Mouse Wheel zoom) and view-snapping compass buttons (+X, -X, +Y, -Y, +Z, -Z).
-
Physics Loop: Euler integration for gravity, ground collision detection, restitution (
$e$ ) bouncing mechanics, and kinetic-to-thermal energy conversion tracking. - UI & Telemetry: Dear ImGui control panel displaying real-time FPS, position, bounciness sliders, and live temperature readouts.
- Stage 1 (Pre-Alpha): 3D Viewport, Orbit Camera, OpenGL Renderer, ImGui Overlay, and Bouncing Physics.
- Stage 2 (Alpha):
.obj/.gltfMesh Import, Volumetric Voxelization, and Inhomogeneous Center of Mass & Inertia Tensor ($\mathbf{I}$ ) Calculation. - Stage 3 (Beta): GPU Compute Shader SPH Particle Aerodynamics & Drag/Lift Coupling.
- Stage 4 (Gamma): Ideal Gas Thermodynamics (
$PV=nRT$ ) & Chemical Combustion Kinetics. - Stage 5 (Delta): Modular C++ Library Architecture, GoogleTest Suite, and Open-Source Documentation.
- C++20 compatible compiler (MSVC, GCC, or Clang)
- CMake 3.22+
mkdir build
cd build
cmake ..
cmake --build . --config Debug
.\Debug\MultiPhysicsEngine.exe