-const glm::mat4 &FPSController::Transform() const {
- if (dirty) {
- transform = glm::translate(position) * glm::eulerAngleYX(yaw, pitch);
- dirty = false;
- }
- return transform;
-}
-
-Ray FPSController::Aim() const {
- glm::vec4 from = Transform() * glm::vec4(0.0f, 0.0f, 1.0f, 1.0f);
- from /= from.w;
- glm::vec4 to = Transform() * glm::vec4(0.0f, 0.0f, -1.0f, 1.0f);
- to /= to.w;
- return Ray{ glm::vec3(from), glm::normalize(glm::vec3(to - from)) };
-}
-
-
-void FPSController::OrientationVelocity(const glm::vec3 &vel) {
- Velocity(glm::rotateY(vel, yaw));
-}
-
-