55 lines
1.5 KiB
C#
55 lines
1.5 KiB
C#
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<bool>("NeedJitter", false);
|
|
}
|
|
else
|
|
{
|
|
this.renderScale = renderScale;
|
|
}
|
|
}
|
|
|
|
protected override void OnValidate()
|
|
{
|
|
base.OnValidate();
|
|
RenderingPlugin.InitSupportFeatures();
|
|
UpdateSSSettings();
|
|
}
|
|
}
|
|
}
|