blob: a014acd02ab27d1b50934af77fae3458d8d63fbf (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
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);
};
|