Advertisement
Guest User

Untitled

a guest
Feb 1st, 2025
61
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.86 KB | None | 0 0
  1. void Update()
  2. {
  3. glm::mat4 M4Q = glm::mat4_cast(Camera->Transform.Rotation);
  4.  
  5. glm::vec3 Right = -glm::vec3(
  6. M4Q[0][0],
  7. M4Q[1][0],
  8. M4Q[2][0]
  9. );
  10.  
  11. MouseOffset = NewMousePosition - MousePosition;
  12. MousePosition = NewMousePosition;
  13.  
  14. Yaw += MouseOffset.x * Sensitivity * DeltaTime;
  15. Pitch += MouseOffset.y * Sensitivity * DeltaTime;
  16.  
  17. Pitch = std::clamp(Pitch, -glm::radians(89.0f), glm::radians(89.0f));
  18.  
  19. glm::quat QYaw = glm::quat(glm::vec3(0.0f, Yaw, 0.0f));
  20.  
  21. glm::quat QPitch = glm::angleAxis(Pitch, Right);
  22.  
  23. Camera->Transform.Rotation = glm::normalize(QYaw * QPitch);
  24. }
  25.  
  26.  
  27. glm::mat4 Camera::GetViewMatrix()
  28. {
  29. glm::mat4 Translation = glm::translate(glm::mat4(1.0f), -Transform.Position);
  30.  
  31. glm::mat4 Rotation = glm::mat4_cast(Transform.Rotation);
  32.  
  33. return Rotation * Translation;
  34. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement