diff options
Diffstat (limited to 'src/3d/physics.h')
| -rw-r--r-- | src/3d/physics.h | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/src/3d/physics.h b/src/3d/physics.h new file mode 100644 index 0000000..a014acd --- /dev/null +++ b/src/3d/physics.h @@ -0,0 +1,18 @@ +// This file is part of the 64k demo project. +// It implements a lightweight SDF-based physics engine. + +#pragma once + +#include "3d/scene.h" +#include "util/mini_math.h" + +class PhysicsSystem { + public: + vec3 gravity = {0.0f, -9.81f, 0.0f}; + + void update(Scene& scene, float dt); + + private: + void resolve_collision(Object3D& a, Object3D& b); + float sample_sdf(const Object3D& obj, vec3 world_p); +}; |
