Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- void Camera::Rotate(float xR, float yR, float zR)
- {
- DirectX::XMVECTOR quad = XMQuaternionRotationRollPitchYaw(xR, yR, zR);
- DirectX::XMStoreFloat4(&mQuaternion, quad);
- CalculateDirections();
- }
- void Camera::CalculateDirections()
- {
- DirectX::XMVECTOR quat = DirectX::XMLoadFloat4(&mQuaternion);
- DirectX::XMFLOAT3 inputEdit = DirectX::XMFLOAT3(1, 0, 0);
- DirectX::XMVECTOR input = DirectX::XMLoadFloat3(&inputEdit);
- input = DirectX::XMVector3Rotate(input, quat);
- DirectX::XMStoreFloat3(&inputEdit, input);
- mRight = inputEdit;
- inputEdit = DirectX::XMFLOAT3(0, 1, 0);
- input = DirectX::XMLoadFloat3(&inputEdit);
- input = DirectX::XMVector3Rotate(input, quat);
- DirectX::XMStoreFloat3(&inputEdit, input);
- mUp = inputEdit;
- inputEdit = DirectX::XMFLOAT3(0, 0, 1);
- input = DirectX::XMLoadFloat3(&inputEdit);
- input = DirectX::XMVector3Rotate(input, quat);
- DirectX::XMStoreFloat3(&inputEdit, input);
- mForward = inputEdit;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement