219 lines
8.9 KiB
C#
219 lines
8.9 KiB
C#
using System;
|
|
|
|
namespace UnityEngine.Rendering.HighDefinition
|
|
{
|
|
[Serializable]
|
|
[SupportedOnRenderPipeline(typeof(HDRenderPipelineAsset))]
|
|
[Categorization.CategoryInfo(Name = "R: Runtime Textures", Order = 1000), HideInInspector]
|
|
class HDRenderPipelineRuntimeTextures : IRenderPipelineResources
|
|
{
|
|
public int version => 0;
|
|
|
|
bool IRenderPipelineGraphicsSettings.isAvailableInPlayerBuild => true;
|
|
|
|
// Debug
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/DebugFont.tga")]
|
|
private Texture2D m_DebugFontTex;
|
|
public Texture2D debugFontTex
|
|
{
|
|
get => m_DebugFontTex;
|
|
set => this.SetValueAndNotify(ref m_DebugFontTex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/Debug/ColorGradient.png")]
|
|
private Texture2D m_ColorGradient;
|
|
public Texture2D colorGradient
|
|
{
|
|
get => m_ColorGradient;
|
|
set => this.SetValueAndNotify(ref m_ColorGradient, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/Matcap/DefaultMatcap.png")]
|
|
private Texture2D m_MatcapTex;
|
|
public Texture2D matcapTex
|
|
{
|
|
get => m_MatcapTex;
|
|
set => this.SetValueAndNotify(ref m_MatcapTex, value);
|
|
}
|
|
|
|
// Pre-baked noise
|
|
[SerializeField][ResourceFormattedPaths("Runtime/RenderPipelineResources/Texture/BlueNoise16/L/LDR_LLL1_{0}.png", 0, 32)]
|
|
private Texture2D[] m_BlueNoise16LTex = new Texture2D[32];
|
|
public Texture2D[] blueNoise16LTex
|
|
{
|
|
get => m_BlueNoise16LTex;
|
|
set => this.SetValueAndNotify(ref m_BlueNoise16LTex, value);
|
|
}
|
|
|
|
[SerializeField][ResourceFormattedPaths("Runtime/RenderPipelineResources/Texture/BlueNoise16/RGB/LDR_RGB1_{0}.png", 0, 32)]
|
|
private Texture2D[] m_BlueNoise16RGBTex = new Texture2D[32];
|
|
public Texture2D[] blueNoise16RGBTex
|
|
{
|
|
get => m_BlueNoise16RGBTex;
|
|
set => this.SetValueAndNotify(ref m_BlueNoise16RGBTex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/OwenScrambledNoise4.png")]
|
|
private Texture2D m_OwenScrambledRGBATex;
|
|
public Texture2D owenScrambledRGBATex
|
|
{
|
|
get => m_OwenScrambledRGBATex;
|
|
set => this.SetValueAndNotify(ref m_OwenScrambledRGBATex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/OwenScrambledNoise256.png")]
|
|
private Texture2D m_OwenScrambled256Tex;
|
|
public Texture2D owenScrambled256Tex
|
|
{
|
|
get => m_OwenScrambled256Tex;
|
|
set => this.SetValueAndNotify(ref m_OwenScrambled256Tex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/ScrambleNoise.png")]
|
|
private Texture2D m_ScramblingTex;
|
|
public Texture2D scramblingTex
|
|
{
|
|
get => m_ScramblingTex;
|
|
set => this.SetValueAndNotify(ref m_ScramblingTex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/RankingTile1SPP.png")]
|
|
private Texture2D m_RankingTile1SPP;
|
|
public Texture2D rankingTile1SPP
|
|
{
|
|
get => m_RankingTile1SPP;
|
|
set => this.SetValueAndNotify(ref m_RankingTile1SPP, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/ScramblingTile1SPP.png")]
|
|
private Texture2D m_ScramblingTile1SPP;
|
|
public Texture2D scramblingTile1SPP
|
|
{
|
|
get => m_ScramblingTile1SPP;
|
|
set => this.SetValueAndNotify(ref m_ScramblingTile1SPP, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/RankingTile8SPP.png")]
|
|
private Texture2D m_RankingTile8SPP;
|
|
public Texture2D rankingTile8SPP
|
|
{
|
|
get => m_RankingTile8SPP;
|
|
set => this.SetValueAndNotify(ref m_RankingTile8SPP, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/ScramblingTile8SPP.png")]
|
|
private Texture2D m_ScramblingTile8SPP;
|
|
public Texture2D scramblingTile8SPP
|
|
{
|
|
get => m_ScramblingTile8SPP;
|
|
set => this.SetValueAndNotify(ref m_ScramblingTile8SPP, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/RankingTile256SPP.png")]
|
|
private Texture2D m_RankingTile256SPP;
|
|
public Texture2D rankingTile256SPP
|
|
{
|
|
get => m_RankingTile256SPP;
|
|
set => this.SetValueAndNotify(ref m_RankingTile256SPP, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/CoherentNoise/ScramblingTile256SPP.png")]
|
|
private Texture2D m_ScramblingTile256SPP;
|
|
public Texture2D scramblingTile256SPP
|
|
{
|
|
get => m_ScramblingTile256SPP;
|
|
set => this.SetValueAndNotify(ref m_ScramblingTile256SPP, value);
|
|
}
|
|
|
|
// Precalculated eye caustic LUT
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/EyeCausticLUT16R.exr")]
|
|
private Texture3D m_EyeCausticLUT;
|
|
public Texture3D eyeCausticLUT
|
|
{
|
|
get => m_EyeCausticLUT;
|
|
set => this.SetValueAndNotify(ref m_EyeCausticLUT, value);
|
|
}
|
|
|
|
// Hair LUT
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/HairAttenuationLUT.asset")]
|
|
public Texture3D m_HairAttenuationLUT;
|
|
public Texture3D hairAttenuationLUT
|
|
{
|
|
get => m_HairAttenuationLUT;
|
|
set => this.SetValueAndNotify(ref m_HairAttenuationLUT, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/HairAzimuthalScatteringLUT.asset")]
|
|
public Texture3D m_HairAzimuthalScatteringLUT;
|
|
public Texture3D hairAzimuthalScatteringLUT
|
|
{
|
|
get => m_HairAzimuthalScatteringLUT;
|
|
set => this.SetValueAndNotify(ref m_HairAzimuthalScatteringLUT, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/HairLongitudinalScatteringLUT.asset")]
|
|
public Texture3D m_HairLongitudinalScatteringLUT;
|
|
public Texture3D hairLongitudinalScatteringLUT
|
|
{
|
|
get => m_HairLongitudinalScatteringLUT;
|
|
set => this.SetValueAndNotify(ref m_HairLongitudinalScatteringLUT, value);
|
|
}
|
|
|
|
// Post-processing
|
|
[SerializeField][ResourcePaths(new[]
|
|
{
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Thin01.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Thin02.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium01.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium02.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium03.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium04.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium05.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Medium06.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Large01.png",
|
|
"Runtime/RenderPipelineResources/Texture/FilmGrain/Large02.png"
|
|
})]
|
|
private Texture2D[] m_FilmGrainTex;
|
|
public Texture2D[] filmGrainTex
|
|
{
|
|
get => m_FilmGrainTex;
|
|
set => this.SetValueAndNotify(ref m_FilmGrainTex, value);
|
|
}
|
|
|
|
// SMAA Textures
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/SMAA/SearchTex.tga")]
|
|
private Texture2D m_SMAASearchTex;
|
|
public Texture2D SMAASearchTex
|
|
{
|
|
get => m_SMAASearchTex;
|
|
set => this.SetValueAndNotify(ref m_SMAASearchTex, value);
|
|
}
|
|
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/SMAA/AreaTex.tga")]
|
|
private Texture2D m_SMAAAreaTex;
|
|
public Texture2D SMAAAreaTex
|
|
{
|
|
get => m_SMAAAreaTex;
|
|
set => this.SetValueAndNotify(ref m_SMAAAreaTex, value);
|
|
}
|
|
|
|
// Default HDRISky
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/DefaultHDRISky.exr")]
|
|
private Cubemap m_DefaultHDRISky;
|
|
public Cubemap defaultHDRISky
|
|
{
|
|
get => m_DefaultHDRISky;
|
|
set => this.SetValueAndNotify(ref m_DefaultHDRISky, value);
|
|
}
|
|
|
|
// Default Cloud Map
|
|
[SerializeField][ResourcePath("Runtime/RenderPipelineResources/Texture/DefaultCloudMap.png")]
|
|
private Texture2D m_DefaultCloudMap;
|
|
public Texture2D defaultCloudMap
|
|
{
|
|
get => m_DefaultCloudMap;
|
|
set => this.SetValueAndNotify(ref m_DefaultCloudMap, value);
|
|
}
|
|
}
|
|
}
|