Reign.Video.Camera.RotateAroundLookPosition C# (CSharp) Method

RotateAroundLookPosition() public method

public RotateAroundLookPosition ( Vector3 radians ) : void
radians Reign.Core.Vector3
return void
        public void RotateAroundLookPosition(Vector3 radians)
        {
            var matrix = Matrix3.LookAt((LookAtPosition - Position), (UpPosition - Position));
            var matrixTranspose = matrix.Transpose();
            matrix = matrix.RotateAroundAxisX(radians.X);
            matrix = matrix.RotateAroundAxisY(radians.Y);
            matrix = matrix.RotateAroundAxisZ(radians.Z);

            Position -= LookAtPosition;
            Position = Position.Transform(matrixTranspose);
            Position = Position.Transform(matrix);
            Position += LookAtPosition;

            UpPosition -= LookAtPosition;
            UpPosition = UpPosition.Transform(matrixTranspose);
            UpPosition = UpPosition.Transform(matrix);
            UpPosition += LookAtPosition;
        }

Same methods

Camera::RotateAroundLookPosition ( float radiansX, float radiansY, float radiansZ ) : void