public void UnregisterVxShadowMapComponent(DirectionalVxShadowMap dirVxsm)
 {
     if (_dirVxShadowMapList.Contains(dirVxsm))
     {
         _dirVxShadowMapList.Remove(dirVxsm);
     }
 }
        static void DrawGizmosSelected(DirectionalVxShadowMap vxsm, GizmoType gizmoType)
        {
            var light       = vxsm.GetComponent <Light>();
            var volumeScale = vxsm.VolumeScale;

            if (light != null)
            {
                Gizmos.color  = new Color(1.0f, 0.0f, 0.0f, 0.3f);
                Gizmos.matrix = light.transform.localToWorldMatrix;
                Gizmos.DrawCube(Vector3.zero, new Vector3(volumeScale, volumeScale, volumeScale));
            }
        }
        public void RegisterVxShadowMapComponent(DirectionalVxShadowMap dirVxsm)
        {
#if UNITY_EDITOR
            if (_renderPipelineType == RenderPipelineType.Unknown)
            {
                Debug.LogWarning("Try to register VxShadowMap on 'unknown RenderPipeline', it may not work.");
            }
#endif
            if (_dirVxShadowMapList.Contains(dirVxsm))
            {
                Debug.LogError("'" + dirVxsm.gameObject.name + "' is already registered. try to register duplicate vxsm!!");
            }
            else
            {
                _dirVxShadowMapList.Add(dirVxsm);
            }
        }