Ejemplo n.º 1
0
        private void SetSplits(IEnumerable <float> splits, float clipDistance = 50f)
        {
            var splitsValues = splits.ToArrayIfItIsNot();

            if (Splits != null && splitsValues.Length == Splits.Length)
            {
                for (var i = 0; i < Splits.Length; i++)
                {
                    Splits[i].Update(splitsValues[i], clipDistance);
                }
            }
            else
            {
                Splits?.DisposeEverything();
                Splits = splitsValues.Select(x => new Split(x, clipDistance)).ToArray();
                for (var i = 1; i < Splits.Length; i++)
                {
                    Splits[i].Camera.SmallerCamera = Splits[i - 1].Camera;
                }
            }
        }
Ejemplo n.º 2
0
 public void Dispose()
 {
     Splits.DisposeEverything();
     DisposeHelper.Dispose(ref _rasterizerState);
     DisposeHelper.Dispose(ref _depthStencilState);
 }