2024-11-01 16:55:46 +08:00
|
|
|
using X.Rendering.Feature;
|
|
|
|
|
|
|
|
|
|
namespace UnityEngine.Rendering.Universal
|
|
|
|
|
{
|
|
|
|
|
public partial class UniversalRenderPipelineAsset
|
|
|
|
|
{
|
|
|
|
|
[SerializeField]
|
2024-12-20 13:38:57 +08:00
|
|
|
public 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-12-20 13:38:57 +08:00
|
|
|
public 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;
|
2025-04-22 14:53:13 +08:00
|
|
|
SuperResolutionParamSets.Set<bool>("NeedJitter", false);
|
2024-12-16 20:33:34 +08:00
|
|
|
}
|
|
|
|
|
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
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|