using X.Rendering.Feature; namespace UnityEngine.Rendering.Universal { public partial class UniversalRenderPipelineAsset { [SerializeField] public ESuperResolution superResolution; public ESuperResolution SuperResolution => superResolution; public RenderingPlugin.VRSPluginShadingRate VRSRate { get => vrsRate; set => vrsRate = value; } [SerializeField] private RenderingPlugin.VRSPluginShadingRate vrsRate; public void UpdateSSSettings() { var renderer = GetRenderer(this.m_DefaultRendererIndex); var renderScale = 1.0f; bool hasActive = false; foreach (var item in renderer.rendererFeatures) { if (item is ISuperResolutionFeature isr) { isr.SetSR(superResolution); if (item.isActive) { renderScale = isr.GetRenderScale(); hasActive = true; } } } if (!hasActive) { superResolution = ESuperResolution.None; SuperResolutionParamSets.Set("NeedJitter", false); } else { this.renderScale = renderScale; } } protected override void OnValidate() { base.OnValidate(); RenderingPlugin.InitSupportFeatures(); UpdateSSSettings(); } } }