]> git.localhorst.tv Git - blank.git/blob - src/controller.cpp
5d547b7eab8d3a39b725137425367fe9480d960d
[blank.git] / src / controller.cpp
1 #include "controller.hpp"
2
3 #include <glm/gtc/matrix_transform.hpp>
4 #include <glm/gtx/euler_angles.hpp>
5 #include <glm/gtx/rotate_vector.hpp>
6 #include <glm/gtx/transform.hpp>
7
8
9 namespace blank {
10
11 FPSController::FPSController()
12 : velocity(0, 0, 0)
13 , position(0, 0, 0)
14 , pitch(0)
15 , yaw(0) {
16
17 }
18
19 FPSController::~FPSController() {
20
21 }
22
23
24 glm::mat4 FPSController::Transform() const {
25         return glm::translate(position) * glm::eulerAngleYX(yaw, pitch);
26 }
27
28
29 void FPSController::OrientationVelocity(const glm::vec3 &vel) {
30         velocity = glm::rotateY(vel, yaw);
31 }
32
33
34 void FPSController::Update(int dt) {
35         position += velocity * float(dt);
36 }
37
38 }