using System; namespace UnityEngine.Rendering.HighDefinition { [Serializable] [SupportedOnRenderPipeline(typeof(HDRenderPipelineAsset))] [Categorization.CategoryInfo(Name = "Miscellaneous", Order = 100)] [Categorization.ElementInfo(Order = 0)] class AnalyticDerivativeSettings : IRenderPipelineGraphicsSettings { #region Version internal enum Version : int { Initial = 0, } [SerializeField][HideInInspector] private Version m_Version; /// Current version. public int version => (int)m_Version; #endregion bool IRenderPipelineGraphicsSettings.isAvailableInPlayerBuild => true; #region SerializeFields [SerializeField] [InspectorName("Analytic Derivative Emulation (experimental)")] [Tooltip("When enabled, imported shaders will use analytic derivatives for their Forward and GBuffer pass. This is a developer-only feature for testing.")] private bool m_AnalyticDerivativeEmulation = false; [SerializeField] [InspectorName("Analytic Derivative Debug Output (experimental)")] [Tooltip("When enabled, output detailed logs of the analytic derivative parser. This is a developer-only feature for testing.")] private bool m_AnalyticDerivativeDebugOutput = false; #endregion #region Data Accessors /// /// When enabled, imported shaders will use analytic derivatives for their Forward and GBuffer pass. This is a developer-only feature for testing. /// public bool emulation { get => m_AnalyticDerivativeEmulation; set => this.SetValueAndNotify(ref m_AnalyticDerivativeEmulation, value); } /// /// When enabled, output detailed logs of the analytic derivative parser. This is a developer-only feature for testing. /// public bool debugOutput { get => m_AnalyticDerivativeDebugOutput; set => this.SetValueAndNotify(ref m_AnalyticDerivativeDebugOutput, value); } #endregion } }