]> git.localhorst.tv Git - blank.git/blob - src/controller.cpp
d0a026b7069111284a38ef259819c83ed9af2377
[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
20 glm::mat4 FPSController::Transform() const {
21         return glm::translate(position) * glm::eulerAngleYX(yaw, pitch);
22 }
23
24
25 void FPSController::OrientationVelocity(const glm::vec3 &vel) {
26         velocity = glm::rotateY(vel, yaw);
27 }
28
29
30 void FPSController::Update(int dt) {
31         position += velocity * float(dt);
32 }
33
34 }