67 lines
1.9 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;
[SerializeField]
private ERenderScale sSRenderScale;
2024-11-15 17:51:59 +08:00
public ERenderScale SSRenderScale => sSRenderScale;
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);
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-11-01 16:55:46 +08:00
}
}
2024-11-15 17:51:59 +08:00
switch (sSRenderScale)
2024-11-01 16:55:46 +08:00
{
2024-11-15 17:51:59 +08:00
case ERenderScale.Factor1:
this.renderScale = 1.0f;
break;
case ERenderScale.Factor09:
this.renderScale = .9f;
break;
case ERenderScale.Factor08:
this.renderScale = .8f;
break;
case ERenderScale.Factor075:
this.renderScale = .75f;
break;
case ERenderScale.Factor06:
this.renderScale = .6f;
break;
case ERenderScale.Factor05:
this.renderScale = .5f;
break;
default:
break;
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
}
}
}