54 lines
1.5 KiB
C#
Raw Normal View History

2024-11-01 16:55:46 +08:00
using X.Rendering.Feature;
namespace UnityEngine.Rendering.Universal
{
public partial class UniversalRenderPipelineAsset
{
[SerializeField]
private ESuperResolution superResolution;
2024-11-15 17:51:59 +08:00
public ESuperResolution SuperResolution => superResolution;
2024-11-22 12:09:31 +08:00
public RenderingPlugin.VRSPluginShadingRate VRSRate { get => vrsRate; set => vrsRate = value; }
[SerializeField]
private RenderingPlugin.VRSPluginShadingRate vrsRate;
2024-11-15 17:51:59 +08:00
private void UpdateSSSettings()
2024-11-01 16:55:46 +08:00
{
2024-11-15 17:51:59 +08:00
var renderer = GetRenderer(this.m_DefaultRendererIndex);
2024-12-16 20:33:34 +08:00
var renderScale = 1.0f;
bool hasActive = false;
2024-11-15 17:51:59 +08:00
foreach (var item in renderer.rendererFeatures)
2024-11-01 16:55:46 +08:00
{
2024-12-11 17:42:08 +08:00
2024-11-15 17:51:59 +08:00
if (item is ISuperResolutionFeature isr)
2024-11-01 16:55:46 +08:00
{
2024-11-15 17:51:59 +08:00
isr.SetSR(superResolution);
2024-12-16 20:33:34 +08:00
if (item.isActive)
{
renderScale = isr.GetRenderScale();
hasActive = true;
}
2024-11-01 16:55:46 +08:00
}
}
2024-12-16 20:33:34 +08:00
if (!hasActive)
2024-11-01 16:55:46 +08:00
{
2024-12-16 20:33:34 +08:00
superResolution = ESuperResolution.None;
}
else
{
this.renderScale = renderScale;
2024-11-01 16:55:46 +08:00
}
}
2024-11-15 17:51:59 +08:00
protected override void OnValidate()
2024-11-01 16:55:46 +08:00
{
2024-11-15 17:51:59 +08:00
base.OnValidate();
2024-12-11 17:42:08 +08:00
RenderingPlugin.InitSupportFeatures();
2024-11-15 17:51:59 +08:00
UpdateSSSettings();
2024-11-01 16:55:46 +08:00
}
}
}