Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Update()
- {
- glm::mat4 M4Q = glm::mat4_cast(Camera->Transform.Rotation);
- glm::vec3 Right = -glm::vec3(
- M4Q[0][0],
- M4Q[1][0],
- M4Q[2][0]
- );
- MouseOffset = NewMousePosition - MousePosition;
- MousePosition = NewMousePosition;
- Yaw += MouseOffset.x * Sensitivity * DeltaTime;
- Pitch += MouseOffset.y * Sensitivity * DeltaTime;
- Pitch = std::clamp(Pitch, -glm::radians(89.0f), glm::radians(89.0f));
- glm::quat QYaw = glm::quat(glm::vec3(0.0f, Yaw, 0.0f));
- glm::quat QPitch = glm::angleAxis(Pitch, Right);
- Camera->Transform.Rotation = glm::normalize(QYaw * QPitch);
- }
- glm::mat4 Camera::GetViewMatrix()
- {
- glm::mat4 Translation = glm::translate(glm::mat4(1.0f), -Transform.Position);
- glm::mat4 Rotation = glm::mat4_cast(Transform.Rotation);
- return Rotation * Translation;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement