BananaMpq.View.Rendering.FirstPersonCamera.Sample C# (CSharp) Method

Sample() public method

public Sample ( float interpolation ) : void
interpolation float
return void
        public void Sample(float interpolation)
        {
            _chassis.Sample();
            var movementDelta = _chassis.MovementDelta * interpolation * Velocity;
            movementDelta = Forward * movementDelta.X + Right * movementDelta.Y + Up * movementDelta.Z;

            var rotation = Matrix.RotationAxis(Right, -_chassis.Pitch) * Matrix.RotationAxis(Up, -_chassis.Yaw);
            Position += (Vector3)Vector3.Transform(movementDelta, rotation);
            rotation.Transpose();

            // T^(-1) = (matRotation(phi) * matTranslation(p))^(-1) = matTranslation(-p) * matRotation(-phi) (right-to-left)
            WorldView = Matrix.Translation(-Position) * rotation * DeviceTransform;
        }