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

RotateAroundUpPosition() public method

public RotateAroundUpPosition ( Vector3 radians ) : void
radians Reign.Core.Vector3
return void
        public void RotateAroundUpPosition(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);

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

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

Same methods

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