< Summary

Class:DCL.Rendering.CullingControllerSettings
Assembly:CullingControllerInterfaces
File(s):/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/Culling/Interfaces/CullingControllerSettings.cs
Covered lines:11
Uncovered lines:0
Coverable lines:11
Total lines:61
Line coverage:100% (11 of 11)
Covered branches:0
Total branches:0

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity NPath complexity Sequence coverage
CullingControllerSettings()0%110100%
Clone()0%110100%

File(s)

/tmp/workspace/unity-renderer/unity-renderer/Assets/Rendering/Culling/Interfaces/CullingControllerSettings.cs

#LineLine coverage
 1using System;
 2using UnityEngine;
 3
 4namespace DCL.Rendering
 5{
 6    /// <summary>
 7    /// This class contains the settings CullingController. Mainly used by the quality settings panel.
 8    /// </summary>
 9    [System.Serializable]
 10    public class CullingControllerSettings
 11    {
 12        public const int MAX_POPULATING_ELEMENTS_PER_FRAME = 100;
 13
 14        [NonSerialized]
 11715        public float maxTimeBudget = 0.5f / 1000f;
 16
 11717        public bool enableObjectCulling = true;
 11718        public bool enableShadowCulling = true;
 19        public bool enableAnimationCulling = false;
 20
 11721        public float enableAnimationCullingDistance = 7.5f;
 22
 11723        public int ignoredLayersMask = LayerMask.GetMask("Tutorial", "CharacterPreview", "ViewportCullingIgnored");
 24
 11725        public CullingControllerProfile rendererProfile =
 26            new CullingControllerProfile
 27            {
 28                visibleDistanceThreshold = 30,
 29                shadowDistanceThreshold = 20,
 30                emissiveSizeThreshold = 2.5f,
 31                opaqueSizeThreshold = 6,
 32                shadowRendererSizeThreshold = 10,
 33                shadowMapProjectionSizeThreshold = 4,
 34                maxShadowDistanceForAvatars = 20,
 35            };
 36
 11737        public CullingControllerProfile skinnedRendererProfile =
 38            new CullingControllerProfile
 39            {
 40                visibleDistanceThreshold = 50,
 41                shadowDistanceThreshold = 40,
 42                emissiveSizeThreshold = 2.5f,
 43                opaqueSizeThreshold = 6,
 44                shadowRendererSizeThreshold = 5,
 45                shadowMapProjectionSizeThreshold = 4,
 46                maxShadowDistanceForAvatars = 20,
 47            };
 48
 49        /// <summary>
 50        /// Returns a clone of this object. The profiles are also cloned, making this return a deep clone.
 51        /// </summary>
 52        /// <returns>The deep clone.</returns>
 53        public CullingControllerSettings Clone()
 54        {
 755            var clone = this.MemberwiseClone() as CullingControllerSettings;
 756            clone.rendererProfile = rendererProfile.Clone();
 757            clone.skinnedRendererProfile = skinnedRendererProfile.Clone();
 758            return clone;
 59        }
 60    }
 61}