UnityGame/Library/PackageCache/com.unity.render-pipelines.universal/Runtime/XR/XRPassUniversal.cs
2024-10-27 10:53:47 +03:00

39 lines
1.3 KiB
C#

using UnityEngine.Experimental.Rendering;
namespace UnityEngine.Rendering.Universal
{
internal class XRPassUniversal : XRPass
{
public static XRPass Create(XRPassCreateInfo createInfo)
{
XRPassUniversal pass = GenericPool<XRPassUniversal>.Get();
pass.InitBase(createInfo);
// Initialize fields specific to Universal
pass.isLateLatchEnabled = false;
pass.canMarkLateLatch = false;
pass.hasMarkedLateLatch = false;
pass.canFoveateIntermediatePasses = true;
return pass;
}
override public void Release()
{
GenericPool<XRPassUniversal>.Release(this);
}
/// If true, late latching mechanism is available for the frame.
internal bool isLateLatchEnabled { get; set; }
/// Used by the render pipeline to control the granularity of late latching.
internal bool canMarkLateLatch { get; set; }
/// Track the state of the late latching system.
internal bool hasMarkedLateLatch { get; set; }
/// If false, foveated rendering should not be applied to intermediate render passes that are not the final pass.
internal bool canFoveateIntermediatePasses { get; set; }
}
}