You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

390 lines
16 KiB

using System;
namespace UnityEngine.Rendering.HighDefinition
{
[Serializable]
[SupportedOnRenderPipeline(typeof(HDRenderPipelineAsset))]
[Categorization.CategoryInfo(Name = "R: Ray Tracing", Order = 1000), HideInInspector]
class HDRPRayTracingResources : IRenderPipelineResources
{
public int version => 0;
#region Reflection
[Header("Reflection")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Reflections/RaytracingReflections.raytrace")]
private RayTracingShader m_ReflectionRayTracingRT;
public RayTracingShader reflectionRayTracingRT
{
get => m_ReflectionRayTracingRT;
set => this.SetValueAndNotify(ref m_ReflectionRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Reflections/RaytracingReflections.compute")]
private ComputeShader m_ReflectionRayTracingCS;
public ComputeShader reflectionRayTracingCS
{
get => m_ReflectionRayTracingCS;
set => this.SetValueAndNotify(ref m_ReflectionRayTracingCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingReflectionFilter.compute")]
private ComputeShader m_ReflectionBilateralFilterCS;
public ComputeShader reflectionBilateralFilterCS
{
get => m_ReflectionBilateralFilterCS;
set => this.SetValueAndNotify(ref m_ReflectionBilateralFilterCS, value);
}
#endregion
#region Shadows
[Header("Shadows")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Shadows/RaytracingShadow.raytrace")]
private RayTracingShader m_ShadowRayTracingRT;
public RayTracingShader shadowRayTracingRT
{
get => m_ShadowRayTracingRT;
set => this.SetValueAndNotify(ref m_ShadowRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Shadows/RayTracingContactShadow.raytrace")]
private RayTracingShader m_ContactShadowRayTracingRT;
public RayTracingShader contactShadowRayTracingRT
{
get => m_ContactShadowRayTracingRT;
set => this.SetValueAndNotify(ref m_ContactShadowRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Shadows/RaytracingShadow.compute")]
private ComputeShader m_ShadowRayTracingCS;
public ComputeShader shadowRayTracingCS
{
get => m_ShadowRayTracingCS;
set => this.SetValueAndNotify(ref m_ShadowRayTracingCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Shadows/RaytracingShadowFilter.compute")]
private ComputeShader m_ShadowFilterCS;
public ComputeShader shadowFilterCS
{
get => m_ShadowFilterCS;
set => this.SetValueAndNotify(ref m_ShadowFilterCS, value);
}
#endregion
#region Recursive tracing
[Header("Recursive tracing")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingRenderer.raytrace")]
private RayTracingShader m_ForwardRayTracing;
public RayTracingShader forwardRayTracing
{
get => m_ForwardRayTracing;
set => this.SetValueAndNotify(ref m_ForwardRayTracing, value);
}
#endregion
#region Light cluster
[Header("Light cluster")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightCluster.compute")]
private ComputeShader m_LightClusterBuildCS;
public ComputeShader lightClusterBuildCS
{
get => m_LightClusterBuildCS;
set => this.SetValueAndNotify(ref m_LightClusterBuildCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/DebugLightCluster.shader")]
private Shader m_LightClusterDebugS;
public Shader lightClusterDebugS
{
get => m_LightClusterDebugS;
set => this.SetValueAndNotify(ref m_LightClusterDebugS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/DebugLightCluster.compute")]
private ComputeShader m_LightClusterDebugCS;
public ComputeShader lightClusterDebugCS
{
get => m_LightClusterDebugCS;
set => this.SetValueAndNotify(ref m_LightClusterDebugCS, value);
}
#endregion
#region Indirect Diffuse
[Header("Indirect Diffuse")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse_APVOff.raytrace")]
private RayTracingShader m_IndirectDiffuseRayTracingOffRT;
public RayTracingShader indirectDiffuseRayTracingOffRT
{
get => m_IndirectDiffuseRayTracingOffRT;
set => this.SetValueAndNotify(ref m_IndirectDiffuseRayTracingOffRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse_APVL1.raytrace")]
private RayTracingShader m_IndirectDiffuseRayTracingL1RT;
public RayTracingShader indirectDiffuseRayTracingL1RT
{
get => m_IndirectDiffuseRayTracingL1RT;
set => this.SetValueAndNotify(ref m_IndirectDiffuseRayTracingL1RT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse_APVL2.raytrace")]
private RayTracingShader m_IndirectDiffuseRaytracingL2RT;
public RayTracingShader indirectDiffuseRaytracingL2RT
{
get => m_IndirectDiffuseRaytracingL2RT;
set => this.SetValueAndNotify(ref m_IndirectDiffuseRaytracingL2RT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute")]
private ComputeShader m_IndirectDiffuseRayTracingCS;
public ComputeShader indirectDiffuseRayTracingCS
{
get => m_IndirectDiffuseRayTracingCS;
set => this.SetValueAndNotify(ref m_IndirectDiffuseRayTracingCS, value);
}
#endregion
#region Ambient Occlusion
[Header("Ambient Occlusion")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace")]
private RayTracingShader m_AoRayTracingRT;
public RayTracingShader aoRayTracingRT
{
get => m_AoRayTracingRT;
set => this.SetValueAndNotify(ref m_AoRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.compute")]
private ComputeShader m_AoRayTracingCS;
public ComputeShader aoRayTracingCS
{
get => m_AoRayTracingCS;
set => this.SetValueAndNotify(ref m_AoRayTracingCS, value);
}
#endregion
#region Sub-Surface Scattering
[Header("Sub-Surface Scattering")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RayTracingSubSurface.raytrace")]
private RayTracingShader m_SubSurfaceRayTracingRT;
public RayTracingShader subSurfaceRayTracingRT
{
get => m_SubSurfaceRayTracingRT;
set => this.SetValueAndNotify(ref m_SubSurfaceRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/SubSurface/RayTracingSubSurface.compute")]
private ComputeShader m_SubSurfaceRayTracingCS;
public ComputeShader subSurfaceRayTracingCS
{
get => m_SubSurfaceRayTracingCS;
set => this.SetValueAndNotify(ref m_SubSurfaceRayTracingCS, value);
}
#endregion
#region Denoising
[Header("Denoising")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/SimpleDenoiser.compute")]
private ComputeShader m_SimpleDenoiserCS;
public ComputeShader simpleDenoiserCS
{
get => m_SimpleDenoiserCS;
set => this.SetValueAndNotify(ref m_SimpleDenoiserCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute")]
private ComputeShader m_ReflectionDenoiserCS;
public ComputeShader reflectionDenoiserCS
{
get => m_ReflectionDenoiserCS;
set => this.SetValueAndNotify(ref m_ReflectionDenoiserCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/DiffuseShadowDenoiser.compute")]
private ComputeShader m_DiffuseShadowDenoiserCS;
public ComputeShader diffuseShadowDenoiserCS
{
get => m_DiffuseShadowDenoiserCS;
set => this.SetValueAndNotify(ref m_DiffuseShadowDenoiserCS, value);
}
#endregion
#region ReBlur
[Header("ReBlur")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_PreBlur.compute")]
private ComputeShader m_ReblurPreBlurCS;
public ComputeShader reblurPreBlurCS
{
get => m_ReblurPreBlurCS;
set => this.SetValueAndNotify(ref m_ReblurPreBlurCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_TemporalAccumulation.compute")]
private ComputeShader m_ReblurTemporalAccumulationCS;
public ComputeShader reblurTemporalAccumulationCS
{
get => m_ReblurTemporalAccumulationCS;
set => this.SetValueAndNotify(ref m_ReblurTemporalAccumulationCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_MipGeneration.compute")]
private ComputeShader m_ReblurMipGenerationCS;
public ComputeShader reblurMipGenerationCS
{
get => m_ReblurMipGenerationCS;
set => this.SetValueAndNotify(ref m_ReblurMipGenerationCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_HistoryFix.compute")]
private ComputeShader m_ReblurHistoryFixCS;
public ComputeShader reblurHistoryFixCS
{
get => m_ReblurHistoryFixCS;
set => this.SetValueAndNotify(ref m_ReblurHistoryFixCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_Blur.compute")]
private ComputeShader m_ReblurBlurCS;
public ComputeShader reblurBlurCS
{
get => m_ReblurBlurCS;
set => this.SetValueAndNotify(ref m_ReblurBlurCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_PostBlur.compute")]
private ComputeShader m_ReblurPostBlurCS;
public ComputeShader reblurPostBlurCS
{
get => m_ReblurPostBlurCS;
set => this.SetValueAndNotify(ref m_ReblurPostBlurCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_CopyHistory.compute")]
private ComputeShader m_ReblurCopyHistoryCS;
public ComputeShader reblurCopyHistoryCS
{
get => m_ReblurCopyHistoryCS;
set => this.SetValueAndNotify(ref m_ReblurCopyHistoryCS, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReBlur/ReBlur_TemporalStabilization.compute")]
private ComputeShader m_ReblurTemporalStabilizationCS;
public ComputeShader reblurTemporalStabilizationCS
{
get => m_ReblurTemporalStabilizationCS;
set => this.SetValueAndNotify(ref m_ReblurTemporalStabilizationCS, value);
}
#endregion
#region Deferred Lighting
[Header("Deferred Lighting")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingGBuffer.raytrace")]
private RayTracingShader m_GBufferRayTracingRT;
public RayTracingShader gBufferRayTracingRT
{
get => m_GBufferRayTracingRT;
set => this.SetValueAndNotify(ref m_GBufferRayTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingDeferred.compute")]
private ComputeShader m_DeferredRayTracingCS;
public ComputeShader deferredRayTracingCS
{
get => m_DeferredRayTracingCS;
set => this.SetValueAndNotify(ref m_DeferredRayTracingCS, value);
}
#endregion
#region Path Tracing
[Header("Path Tracing")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMain.raytrace")]
private RayTracingShader m_PathTracingRT;
public RayTracingShader pathTracingRT
{
get => m_PathTracingRT;
set => this.SetValueAndNotify(ref m_PathTracingRT, value);
}
[SerializeField, ResourcePath("Runtime/RenderPipeline/PathTracing/Shaders/PathTracingSkySamplingData.compute")]
private ComputeShader m_PathTracingSkySamplingDataCS;
public ComputeShader pathTracingSkySamplingDataCS
{
get => m_PathTracingSkySamplingDataCS;
set => this.SetValueAndNotify(ref m_PathTracingSkySamplingDataCS, value);
}
#endregion
#region Ray Marching
[Header("Ray Marching")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RayMarching.compute")]
private ComputeShader m_RayMarchingCS;
public ComputeShader rayMarchingCS
{
get => m_RayMarchingCS;
set => this.SetValueAndNotify(ref m_RayMarchingCS, value);
}
#endregion
#region Ray Binning
[Header("Ray Binning")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/Common/RayBinning.compute")]
private ComputeShader m_RayBinningCS;
public ComputeShader rayBinningCS
{
get => m_RayBinningCS;
set => this.SetValueAndNotify(ref m_RayBinningCS, value);
}
#endregion
#region Ray count
[Header("Ray count")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/CountTracedRays.compute")]
private ComputeShader m_CountTracedRaysCS;
public ComputeShader countTracedRaysCS
{
get => m_CountTracedRaysCS;
set => this.SetValueAndNotify(ref m_CountTracedRaysCS, value);
}
#endregion
#region Filtering for reflections
[Header("Filtering for reflections")]
[SerializeField, ResourcePath("Runtime/RenderPipelineResources/Texture/ReflectionKernelMapping.png")]
public Texture2D m_ReflectionFilterMappingTexture;
public Texture2D reflectionFilterMappingTexture
{
get => m_ReflectionFilterMappingTexture;
set => this.SetValueAndNotify(ref m_ReflectionFilterMappingTexture, value);
}
#endregion
#region Debug
[Header("Debug")]
[SerializeField, ResourcePath("Runtime/RenderPipeline/Raytracing/Shaders/RTASDebug.raytrace")]
public RayTracingShader m_RtasDebugRT;
public RayTracingShader debugRTASRT
{
get => m_RtasDebugRT;
set => this.SetValueAndNotify(ref m_RtasDebugRT, value);
}
#endregion
}
}