/// <summary>
        /// adds a circle shaped occluder
        /// </summary>
        /// <param name="position">Position.</param>
        /// <param name="radius">Radius.</param>
        public void AddCircleOccluder(System.Numerics.Vector2 position, float radius)
        {
            var dirToCircle = position - _origin;
            var angle       = Mathf.Atan2(dirToCircle.Y, dirToCircle.X);

            var stepSize   = MathHelper.Pi / LineCountForCircleApproximation;
            var startAngle = angle + MathHelper.PiOver2;
            var lastPt     = Mathf.AngleToVector(startAngle, radius) + position;

            for (var i = 1; i < LineCountForCircleApproximation; i++)
            {
                var nextPt = Mathf.AngleToVector(startAngle + i * stepSize, radius) + position;
                AddLineOccluder(lastPt, nextPt);
                lastPt = nextPt;
            }
        }