private void Initialize()
        {
            try
            {
                if (Parameter.Elements.Count > 0)
                {
                    return;
                }

                if (Parameter.StructureMembers.Count == 0)
                {
                    return;
                }

                if (Parameter.StructureMembers["NumberOfCascades"] == null)
                {
                    _standardShadowParameters = new StandardShadowParameters
                    {
                        ParameterNear             = Parameter.StructureMembers["Near"],
                        ParameterFar              = Parameter.StructureMembers["Far"],
                        ParameterView             = Parameter.StructureMembers["View"],
                        ParameterProjection       = Parameter.StructureMembers["Projection"],
                        ParameterDepthBias        = Parameter.StructureMembers["DepthBias"],
                        ParameterShadowMapSize    = Parameter.StructureMembers["ShadowMapSize"],
                        ParameterFilterRadius     = Parameter.StructureMembers["FilterRadius"],
                        ParameterJitterResolution = Parameter.StructureMembers["JitterResolution"],
                    };
                }
                else
                {
                    _cascadedShadowParameters = new CascadedShadowParameters
                    {
                        ParameterNumberOfCascades = Parameter.StructureMembers["NumberOfCascades"],
                        ParameterCascadeDistances = Parameter.StructureMembers["CascadeDistance"],
                        ParameterViewProjections  = Parameter.StructureMembers["ViewProjections"],
                        ParameterDepthBiasScale   = Parameter.StructureMembers["DepthBiasScale"],
                        ParameterDepthBiasOffset  = Parameter.StructureMembers["DepthBiasOffset"],
                        ParameterShadowMapSize    = Parameter.StructureMembers["ShadowMapSize"],
                        ParameterFilterRadius     = Parameter.StructureMembers["FilterRadius"],
                        ParameterJitterResolution = Parameter.StructureMembers["JitterResolution"],
                        ParameterFadeOutDistance  = Parameter.StructureMembers["FadeOutDistance"],
                        ParameterMaxDistance      = Parameter.StructureMembers["MaxDistance"],
                        ParameterShadowFog        = Parameter.StructureMembers["ShadowFog"],
                    };
                }
            }
            catch (Exception exception)
            {
                throw new GraphicsException("Could not initialize DirectionalLightShadowParameterBinding: " + exception.Message);
            }
        }
        private void Initialize()
        {
            try
              {
            if (Parameter.Elements.Count > 0)
              return;

            if (Parameter.StructureMembers.Count == 0)
              return;

            if (Parameter.StructureMembers["NumberOfCascades"] == null)
            {
              _standardShadowParameters = new StandardShadowParameters
              {
            ParameterNear = Parameter.StructureMembers["Near"],
            ParameterFar = Parameter.StructureMembers["Far"],
            ParameterView = Parameter.StructureMembers["View"],
            ParameterProjection = Parameter.StructureMembers["Projection"],
            ParameterDepthBias = Parameter.StructureMembers["DepthBias"],
            ParameterShadowMapSize = Parameter.StructureMembers["ShadowMapSize"],
            ParameterFilterRadius = Parameter.StructureMembers["FilterRadius"],
            ParameterJitterResolution = Parameter.StructureMembers["JitterResolution"],
              };
            }
            else
            {
              _cascadedShadowParameters = new CascadedShadowParameters
              {
            ParameterNumberOfCascades = Parameter.StructureMembers["NumberOfCascades"],
            ParameterCascadeDistances = Parameter.StructureMembers["CascadeDistance"],
            ParameterViewProjections = Parameter.StructureMembers["ViewProjections"],
            ParameterDepthBiasScale = Parameter.StructureMembers["DepthBiasScale"],
            ParameterDepthBiasOffset = Parameter.StructureMembers["DepthBiasOffset"],
            ParameterShadowMapSize = Parameter.StructureMembers["ShadowMapSize"],
            ParameterFilterRadius = Parameter.StructureMembers["FilterRadius"],
            ParameterJitterResolution = Parameter.StructureMembers["JitterResolution"],
            ParameterFadeOutDistance = Parameter.StructureMembers["FadeOutDistance"],
            ParameterMaxDistance = Parameter.StructureMembers["MaxDistance"],
            ParameterShadowFog = Parameter.StructureMembers["ShadowFog"],
              };
            }
              }
              catch (Exception exception)
              {
            throw new GraphicsException("Could not initialize DirectionalLightShadowParameterBinding: " + exception.Message);
              }
        }