using System;
namespace UnityEngine.Rendering.Universal
{
///
/// Class containing shader resources used in URP.
///
[Serializable]
[SupportedOnRenderPipeline(typeof(UniversalRenderPipelineAsset))]
[Categorization.CategoryInfo(Name = "R: Universal Renderer Shaders", Order = 1000), HideInInspector]
public class UniversalRendererResources : IRenderPipelineResources
{
[SerializeField][HideInInspector] private int m_Version = 0;
/// Version of the resource.
public int version => m_Version;
bool IRenderPipelineGraphicsSettings.isAvailableInPlayerBuild => true;
[SerializeField]
[ResourcePath("Shaders/Utils/CopyDepth.shader")]
private Shader m_CopyDepthPS;
///
/// Copy Depth shader.
///
public Shader copyDepthPS
{
get => m_CopyDepthPS;
set => this.SetValueAndNotify(ref m_CopyDepthPS, value, nameof(m_CopyDepthPS));
}
[SerializeField]
[ResourcePath("Shaders/CameraMotionVectors.shader")]
private Shader m_CameraMotionVector;
///
/// Camera Motion Vectors shader.
///
public Shader cameraMotionVector
{
get => m_CameraMotionVector;
set => this.SetValueAndNotify(ref m_CameraMotionVector, value, nameof(m_CameraMotionVector));
}
[SerializeField]
[ResourcePath("Shaders/Utils/StencilDeferred.shader")]
private Shader m_StencilDeferredPS;
///
/// Stencil Deferred shader.
///
public Shader stencilDeferredPS
{
get => m_StencilDeferredPS;
set => this.SetValueAndNotify(ref m_StencilDeferredPS, value, nameof(m_StencilDeferredPS));
}
[Header("Decal Renderer Feature Specific")]
[SerializeField]
[ResourcePath("Runtime/Decal/DBuffer/DBufferClear.shader")]
private Shader m_DBufferClear;
///
/// Decal DBuffer Shader
///
public Shader decalDBufferClear
{
get => m_DBufferClear;
set => this.SetValueAndNotify(ref m_DBufferClear, value, nameof(m_DBufferClear));
}
}
}