AcTools.Render.Base.Cameras.CameraOrbit.UpdateViewMatrix C# (CSharp) Method

UpdateViewMatrix() public method

public UpdateViewMatrix ( ) : void
return void
        public override void UpdateViewMatrix() {
            var sideRadius = Radius * MathF.Cos(Beta);
            var height = Radius * MathF.Sin(Beta);

            Position = new Vector3(
                    Target.X + sideRadius * MathF.Cos(Alpha),
                    Target.Y + height,
                    Target.Z + sideRadius * MathF.Sin(Alpha));

            View = Matrix.LookAtLH(Position, Target, Vector3.UnitY);

            Right = new Vector3(View.M11, View.M21, View.M31);
            Right.Normalize();

            Look = new Vector3(View.M13, View.M23, View.M33);
            Look.Normalize();

            Frustum = Frustum.FromViewProj(ViewProj);
        }
    }