whoimi

A geek blog

View on GitHub

1.渲染队列

public class HDRenderQueue
{
public const int k_TransparentPriorityQueueRange = 100;

public enum Priority
{
Background = UnityEngine.Rendering.RenderQueue.Background,
Opaque = UnityEngine.Rendering.RenderQueue.Geometry,
OpaqueAlphaTest = UnityEngine.Rendering.RenderQueue.AlphaTest,
// Warning: we must not change Geometry last value to stay compatible with occlusion
OpaqueLast = UnityEngine.Rendering.RenderQueue.GeometryLast,
// For transparent pass we define a range of 200 value to define the priority
// Warning: Be sure no range are overlapping
PreRefractionFirst = 2750 - k_TransparentPriorityQueueRange,
PreRefraction = 2750,
PreRefractionLast = 2750 + k_TransparentPriorityQueueRange,
TransparentFirst = UnityEngine.Rendering.RenderQueue.Transparent - k_TransparentPriorityQueueRange,
Transparent = UnityEngine.Rendering.RenderQueue.Transparent,
TransparentLast = UnityEngine.Rendering.RenderQueue.Transparent + k_TransparentPriorityQueueRange,
Overlay = UnityEngine.Rendering.RenderQueue.Overlay
}

public static readonly RenderQueueRange k_RenderQueue_OpaqueNoAlphaTest = new RenderQueueRange { min = (int)Priority.Opaque, max = (int)Priority.OpaqueAlphaTest - 1 };
public static readonly RenderQueueRange k_RenderQueue_OpaqueAlphaTest = new RenderQueueRange { min = (int)Priority.OpaqueAlphaTest, max = (int)Priority.OpaqueLast };
public static readonly RenderQueueRange k_RenderQueue_AllOpaque = new RenderQueueRange { min = (int)Priority.Opaque, max = (int)Priority.OpaqueLast };

public static readonly RenderQueueRange k_RenderQueue_PreRefraction = new RenderQueueRange { min = (int)Priority.PreRefractionFirst, max = (int)Priority.PreRefractionLast };
public static readonly RenderQueueRange k_RenderQueue_Transparent = new RenderQueueRange { min = (int)Priority.TransparentFirst, max = (int)Priority.TransparentLast };
public static readonly RenderQueueRange k_RenderQueue_AllTransparent = new RenderQueueRange { min = (int)Priority.PreRefractionFirst, max = (int)Priority.TransparentLast };

public static readonly RenderQueueRange k_RenderQueue_All = new RenderQueueRange { min = 0, max = 5000 };
}

2内置纹理

public static class HDShaderIDs
{
  public static readonly int _ShadowDatasExp = Shader.PropertyToID("_ShadowDatasExp");
  public static readonly int _ShadowPayloads = Shader.PropertyToID("_ShadowPayloads");
  public static readonly int _ShadowmapExp_VSM_0 = Shader.PropertyToID("_ShadowmapExp_VSM_0");
  public static readonly int _ShadowmapExp_VSM_1 = Shader.PropertyToID("_ShadowmapExp_VSM_1");
  public static readonly int _ShadowmapExp_VSM_2 = Shader.PropertyToID("_ShadowmapExp_VSM_2");
  public static readonly int _ShadowmapExp_PCF = Shader.PropertyToID("_ShadowmapExp_PCF");

  public static readonly int g_LayeredSingleIdxBuffer = Shader.PropertyToID("g_LayeredSingleIdxBuffer");
  public static readonly int _EnvLightIndexShift = Shader.PropertyToID("_EnvLightIndexShift");
  public static readonly int _DensityVolumeIndexShift = Shader.PropertyToID("_DensityVolumeIndexShift");
  public static readonly int g_isOrthographic = Shader.PropertyToID("g_isOrthographic");
  public static readonly int g_iNrVisibLights = Shader.PropertyToID("g_iNrVisibLights");

  public static readonly int g_mScrProjection = Shader.PropertyToID("g_mScrProjection");
  public static readonly int g_mInvScrProjection = Shader.PropertyToID("g_mInvScrProjection");
  public static readonly int g_mScrProjectionArr = Shader.PropertyToID("g_mScrProjectionArr");
  public static readonly int g_mInvScrProjectionArr = Shader.PropertyToID("g_mInvScrProjectionArr");

  public static readonly int g_iLog2NumClusters = Shader.PropertyToID("g_iLog2NumClusters");
  public static readonly int g_screenSize = Shader.PropertyToID("g_screenSize");
  public static readonly int g_iNumSamplesMSAA = Shader.PropertyToID("g_iNumSamplesMSAA");
  public static readonly int g_fNearPlane = Shader.PropertyToID("g_fNearPlane");
  public static readonly int g_fFarPlane = Shader.PropertyToID("g_fFarPlane");
  public static readonly int g_fClustScale = Shader.PropertyToID("g_fClustScale");
  public static readonly int g_fClustBase = Shader.PropertyToID("g_fClustBase");
  public static readonly int g_depth_tex = Shader.PropertyToID("g_depth_tex");
  public static readonly int g_vLayeredLightList = Shader.PropertyToID("g_vLayeredLightList");
  public static readonly int g_LayeredOffset = Shader.PropertyToID("g_LayeredOffset");
  public static readonly int g_vBigTileLightList = Shader.PropertyToID("g_vBigTileLightList");
  public static readonly int g_logBaseBuffer = Shader.PropertyToID("g_logBaseBuffer");
  public static readonly int g_vBoundsBuffer = Shader.PropertyToID("g_vBoundsBuffer");
  public static readonly int _LightVolumeData = Shader.PropertyToID("_LightVolumeData");
  public static readonly int g_data = Shader.PropertyToID("g_data");
  public static readonly int g_mProjectionArr = Shader.PropertyToID("g_mProjectionArr");
  public static readonly int g_mInvProjectionArr = Shader.PropertyToID("g_mInvProjectionArr");
  public static readonly int g_viDimensions = Shader.PropertyToID("g_viDimensions");
  public static readonly int g_vLightList = Shader.PropertyToID("g_vLightList");

  public static readonly int g_BaseFeatureFlags = Shader.PropertyToID("g_BaseFeatureFlags");
  public static readonly int g_TileFeatureFlags = Shader.PropertyToID("g_TileFeatureFlags");

  public static readonly int g_DispatchIndirectBuffer = Shader.PropertyToID("g_DispatchIndirectBuffer");
  public static readonly int g_TileList = Shader.PropertyToID("g_TileList");
  public static readonly int g_NumTiles = Shader.PropertyToID("g_NumTiles");
  public static readonly int g_NumTilesX = Shader.PropertyToID("g_NumTilesX");

  public static readonly int _NumTiles = Shader.PropertyToID("_NumTiles");

  public static readonly int _CookieTextures = Shader.PropertyToID("_CookieTextures");
  public static readonly int _CookieCubeTextures = Shader.PropertyToID("_CookieCubeTextures");
  public static readonly int _EnvCubemapTextures = Shader.PropertyToID("_EnvCubemapTextures");
  public static readonly int _Env2DTextures = Shader.PropertyToID("_Env2DTextures");
  public static readonly int _Env2DCaptureVP = Shader.PropertyToID("_Env2DCaptureVP");
  public static readonly int _DirectionalLightDatas = Shader.PropertyToID("_DirectionalLightDatas");
  public static readonly int _DirectionalLightCount = Shader.PropertyToID("_DirectionalLightCount");
  public static readonly int _LightDatas = Shader.PropertyToID("_LightDatas");
  public static readonly int _PunctualLightCount = Shader.PropertyToID("_PunctualLightCount");
  public static readonly int _AreaLightCount = Shader.PropertyToID("_AreaLightCount");
  public static readonly int g_vLightListGlobal = Shader.PropertyToID("g_vLightListGlobal");
  public static readonly int _EnvLightDatas = Shader.PropertyToID("_EnvLightDatas");
  public static readonly int _EnvLightCount = Shader.PropertyToID("_EnvLightCount");
  public static readonly int _EnvProxyCount = Shader.PropertyToID("_EnvProxyCount");
  public static readonly int _ShadowDatas = Shader.PropertyToID("_ShadowDatas");
  public static readonly int _NumTileFtplX = Shader.PropertyToID("_NumTileFtplX");
  public static readonly int _NumTileFtplY = Shader.PropertyToID("_NumTileFtplY");
  public static readonly int _NumTileClusteredX = Shader.PropertyToID("_NumTileClusteredX");
  public static readonly int _NumTileClusteredY = Shader.PropertyToID("_NumTileClusteredY");

  public static readonly int g_isLogBaseBufferEnabled = Shader.PropertyToID("g_isLogBaseBufferEnabled");
  public static readonly int g_vLayeredOffsetsBuffer = Shader.PropertyToID("g_vLayeredOffsetsBuffer");

  public static readonly int _ViewTilesFlags = Shader.PropertyToID("_ViewTilesFlags");
  public static readonly int _MousePixelCoord = Shader.PropertyToID("_MousePixelCoord");
  public static readonly int _MouseClickPixelCoord = Shader.PropertyToID("_MouseClickPixelCoord");
  public static readonly int _DebugStep = Shader.PropertyToID("_DebugStep");
  public static readonly int _DebugFont = Shader.PropertyToID("_DebugFont");
  public static readonly int _DebugExposure = Shader.PropertyToID("_DebugExposure");
  public static readonly int _DebugScreenSpaceTracingData = Shader.PropertyToID("_DebugScreenSpaceTracingData");
  public static readonly int _ShowGrid = Shader.PropertyToID("_ShowGrid");
  public static readonly int _ShowSSRaySampledColor = Shader.PropertyToID("_ShowSSRaySampledColor");
  public static readonly int _ShowDepthPyramidDebug = Shader.PropertyToID("_ShowDepthPyramidDebug");

  public static readonly int _DebugViewMaterial = Shader.PropertyToID("_DebugViewMaterial");
  public static readonly int _DebugLightingMode = Shader.PropertyToID("_DebugLightingMode");
  public static readonly int _DebugLightingSubMode = Shader.PropertyToID("_DebugLightingSubMode");
  public static readonly int _DebugLightingAlbedo = Shader.PropertyToID("_DebugLightingAlbedo");
  public static readonly int _DebugLightingSmoothness = Shader.PropertyToID("_DebugLightingSmoothness");
  public static readonly int _DebugLightingNormal = Shader.PropertyToID("_DebugLightingNormal");
  public static readonly int _DebugLightingSpecularColor = Shader.PropertyToID("_DebugLightingSpecularColor");
  public static readonly int _AmbientOcclusionTexture = Shader.PropertyToID("_AmbientOcclusionTexture");
  public static readonly int _DebugMipMapMode = Shader.PropertyToID("_DebugMipMapMode");

  public static readonly int _UseTileLightList = Shader.PropertyToID("_UseTileLightList");

  public static readonly int _FrameCount     = Shader.PropertyToID("_FrameCount");
  public static readonly int _Time           = Shader.PropertyToID("_Time");
  public static readonly int _LastTime       = Shader.PropertyToID("_LastTime");
  public static readonly int _SinTime        = Shader.PropertyToID("_SinTime");
  public static readonly int _CosTime        = Shader.PropertyToID("_CosTime");
  public static readonly int unity_DeltaTime = Shader.PropertyToID("unity_DeltaTime");

  public static readonly int _EnvLightSkyEnabled = Shader.PropertyToID("_EnvLightSkyEnabled");
  public static readonly int _AmbientOcclusionParam = Shader.PropertyToID("_AmbientOcclusionParam");
  public static readonly int _SkyTexture = Shader.PropertyToID("_SkyTexture");
  public static readonly int _SkyTextureMipCount = Shader.PropertyToID("_SkyTextureMipCount");

  public static readonly int _EnableSubsurfaceScattering = Shader.PropertyToID("_EnableSubsurfaceScattering");
  public static readonly int _TransmittanceMultiplier = Shader.PropertyToID("_TransmittanceMultiplier");
  public static readonly int _TexturingModeFlags = Shader.PropertyToID("_TexturingModeFlags");
  public static readonly int _TransmissionFlags = Shader.PropertyToID("_TransmissionFlags");
  public static readonly int _ThicknessRemaps = Shader.PropertyToID("_ThicknessRemaps");
  public static readonly int _ShapeParams = Shader.PropertyToID("_ShapeParams");
  public static readonly int _HalfRcpVariancesAndWeights = Shader.PropertyToID("_HalfRcpVariancesAndWeights");
  public static readonly int _TransmissionTintsAndFresnel0 = Shader.PropertyToID("_TransmissionTintsAndFresnel0");
  public static readonly int specularLightingUAV = Shader.PropertyToID("specularLightingUAV");
  public static readonly int diffuseLightingUAV = Shader.PropertyToID("diffuseLightingUAV");

  public static readonly int g_TileListOffset = Shader.PropertyToID("g_TileListOffset");

  public static readonly int _LtcData = Shader.PropertyToID("_LtcData");
  public static readonly int _LtcGGXMatrix = Shader.PropertyToID("_LtcGGXMatrix");
  public static readonly int _LtcDisneyDiffuseMatrix = Shader.PropertyToID("_LtcDisneyDiffuseMatrix");
  public static readonly int _LtcMultiGGXFresnelDisneyDiffuse = Shader.PropertyToID("_LtcMultiGGXFresnelDisneyDiffuse");

  public static readonly int _DeferredShadowTexture = Shader.PropertyToID("_DeferredShadowTexture");
  public static readonly int _DeferredShadowTextureUAV = Shader.PropertyToID("_DeferredShadowTextureUAV");
  public static readonly int _DirectionalShadowIndex = Shader.PropertyToID("_DirectionalShadowIndex");
  public static readonly int _DirectionalContactShadowParams = Shader.PropertyToID("_ScreenSpaceShadowsParameters");
  public static readonly int _DirectionalContactShadowSampleCount = Shader.PropertyToID("_SampleCount");
  public static readonly int _DirectionalLightDirection = Shader.PropertyToID("_DirectionalLightDirection");
  public static readonly int _PunctualLightPosition = Shader.PropertyToID("_PunctualLightPosition");

  public static readonly int _StencilMask = Shader.PropertyToID("_StencilMask");
  public static readonly int _StencilRef = Shader.PropertyToID("_StencilRef");
  public static readonly int _StencilCmp = Shader.PropertyToID("_StencilCmp");

  public static readonly int _InputDepth = Shader.PropertyToID("_InputDepthTexture");

  public static readonly int _SrcBlend = Shader.PropertyToID("_SrcBlend");
  public static readonly int _DstBlend = Shader.PropertyToID("_DstBlend");

  public static readonly int _SSSHTile = Shader.PropertyToID("_SSSHTile");
  public static readonly int _StencilTexture = Shader.PropertyToID("_StencilTexture");

  // all decal properties
  public static readonly int _NormalToWorldID = Shader.PropertyToID("_NormalToWorld");
  public static readonly int _DecalAtlas2DID = Shader.PropertyToID("_DecalAtlas2D");
  public static readonly int _DecalAtlasID = Shader.PropertyToID("_DecalAtlas");
  public static readonly int _DecalHTileTexture = Shader.PropertyToID("_DecalHTileTexture");
  public static readonly int _DecalIndexShift = Shader.PropertyToID("_DecalIndexShift");
  public static readonly int _DecalCount = Shader.PropertyToID("_DecalCount");
  public static readonly int _DecalDatas = Shader.PropertyToID("_DecalDatas");

  public static readonly int _WorldSpaceCameraPos = Shader.PropertyToID("_WorldSpaceCameraPos");
  public static readonly int _ViewMatrix = Shader.PropertyToID("_ViewMatrix");
  public static readonly int _InvViewMatrix = Shader.PropertyToID("_InvViewMatrix");
  public static readonly int _ProjMatrix = Shader.PropertyToID("_ProjMatrix");
  public static readonly int _InvProjMatrix = Shader.PropertyToID("_InvProjMatrix");
  public static readonly int _NonJitteredViewProjMatrix = Shader.PropertyToID("_NonJitteredViewProjMatrix");
  public static readonly int _ViewProjMatrix = Shader.PropertyToID("_ViewProjMatrix");
  public static readonly int _InvViewProjMatrix = Shader.PropertyToID("_InvViewProjMatrix");
  public static readonly int _DetViewMatrix = Shader.PropertyToID("_DetViewMatrix");
  public static readonly int _ZBufferParams = Shader.PropertyToID("_ZBufferParams");
  public static readonly int _ProjectionParams = Shader.PropertyToID("_ProjectionParams");
  public static readonly int unity_OrthoParams = Shader.PropertyToID("unity_OrthoParams");
  public static readonly int _InvProjParam = Shader.PropertyToID("_InvProjParam");
  public static readonly int _ScreenSize = Shader.PropertyToID("_ScreenSize");
  public static readonly int _ScreenParams = Shader.PropertyToID("_ScreenParams");
  public static readonly int _ScreenToTargetScale = Shader.PropertyToID("_ScreenToTargetScale");
  public static readonly int _PrevViewProjMatrix = Shader.PropertyToID("_PrevViewProjMatrix");
  public static readonly int _FrustumPlanes = Shader.PropertyToID("_FrustumPlanes");
  public static readonly int _TaaFrameRotation = Shader.PropertyToID("_TaaFrameRotation");

  public static readonly int _ViewMatrixStereo = Shader.PropertyToID("_ViewMatrixStereo");
  public static readonly int _ViewProjMatrixStereo = Shader.PropertyToID("_ViewProjMatrixStereo");
  public static readonly int _InvViewMatrixStereo = Shader.PropertyToID("_InvViewMatrixStereo");
  public static readonly int _InvProjMatrixStereo = Shader.PropertyToID("_InvProjMatrixStereo");
  public static readonly int _InvViewProjMatrixStereo = Shader.PropertyToID("_InvViewProjMatrixStereo");

  public static readonly int _DepthTexture                   = Shader.PropertyToID("_DepthTexture");
  public static readonly int _CameraColorTexture             = Shader.PropertyToID("_CameraColorTexture");
  public static readonly int _CameraSssDiffuseLightingBuffer = Shader.PropertyToID("_CameraSssDiffuseLightingTexture");
  public static readonly int _CameraFilteringBuffer          = Shader.PropertyToID("_CameraFilteringTexture");
  public static readonly int _IrradianceSource               = Shader.PropertyToID("_IrradianceSource");

  public static readonly int _EnableDBuffer = Shader.PropertyToID("_EnableDBuffer");
  public static readonly int _DecalAtlasResolution = Shader.PropertyToID("_DecalAtlasResolution");

  public static readonly int[] _GBufferTexture =
  {
    Shader.PropertyToID("_GBufferTexture0"),
    Shader.PropertyToID("_GBufferTexture1"),
    Shader.PropertyToID("_GBufferTexture2"),
    Shader.PropertyToID("_GBufferTexture3"),
    Shader.PropertyToID("_GBufferTexture4"),
    Shader.PropertyToID("_GBufferTexture5"),
    Shader.PropertyToID("_GBufferTexture6"),
    Shader.PropertyToID("_GBufferTexture7")
  };

  public static readonly int[] _DBufferTexture =
  {
    Shader.PropertyToID("_DBufferTexture0"),
    Shader.PropertyToID("_DBufferTexture1"),
    Shader.PropertyToID("_DBufferTexture2"),
    Shader.PropertyToID("_DBufferTexture3")
  };

  public static readonly int[] _SSSBufferTexture =
  {
    Shader.PropertyToID("_SSSBufferTexture0"),
    Shader.PropertyToID("_SSSBufferTexture1"),
    Shader.PropertyToID("_SSSBufferTexture2"),
    Shader.PropertyToID("_SSSBufferTexture3"),
  };

  public static readonly int[] _NormalBufferTexture =
  {
    Shader.PropertyToID("_NormalBufferTexture0"),
    Shader.PropertyToID("_NormalBufferTexture1"),
    Shader.PropertyToID("_NormalBufferTexture2"),
    Shader.PropertyToID("_NormalBufferTexture3"),
  };

  public static readonly int _SSRefractionRayMarchBehindObjects = Shader.PropertyToID("_SSRefractionRayMarchBehindObjects");
  public static readonly int _SSRefractionRayMaxScreenDistance = Shader.PropertyToID("_SSRefractionRayMaxScreenDistance");
  public static readonly int _SSRefractionRayBlendScreenDistance = Shader.PropertyToID("_SSRefractionRayBlendScreenDistance");
  public static readonly int _SSRefractionRayLevel = Shader.PropertyToID("_SSRefractionRayLevel");
  public static readonly int _SSRefractionRayMinLevel = Shader.PropertyToID("_SSRefractionRayMinLevel");
  public static readonly int _SSRefractionRayMaxLevel = Shader.PropertyToID("_SSRefractionRayMaxLevel");
  public static readonly int _SSRefractionRayMaxIterations = Shader.PropertyToID("_SSRefractionRayMaxIterations");
  public static readonly int _SSRefractionDepthBufferThickness = Shader.PropertyToID("_SSRefractionDepthBufferThickness");
  public static readonly int _SSRefractionInvScreenWeightDistance = Shader.PropertyToID("_SSRefractionInvScreenWeightDistance");

  public static readonly int _SSReflectionRayMarchBehindObjects = Shader.PropertyToID("_SSReflectionRayMarchBehindObjects");
  public static readonly int _SSReflectionRayMaxScreenDistance = Shader.PropertyToID("_SSReflectionRayMaxScreenDistance");
  public static readonly int _SSReflectionRayBlendScreenDistance = Shader.PropertyToID("_SSReflectionRayBlendScreenDistance");
  public static readonly int _SSReflectionRayLevel = Shader.PropertyToID("_SSReflectionRayLevel");
  public static readonly int _SSReflectionRayMinLevel = Shader.PropertyToID("_SSReflectionRayMinLevel");
  public static readonly int _SSReflectionRayMaxLevel = Shader.PropertyToID("_SSReflectionRayMaxLevel");
  public static readonly int _SSReflectionRayMaxIterations = Shader.PropertyToID("_SSReflectionRayMaxIterations");
  public static readonly int _SSReflectionDepthBufferThickness = Shader.PropertyToID("_SSReflectionDepthBufferThickness");
  public static readonly int _SSReflectionInvScreenWeightDistance = Shader.PropertyToID("_SSReflectionInvScreenWeightDistance");
  public static readonly int _SSReflectionProjectionModel = Shader.PropertyToID("_SSReflectionProjectionModel");
  public static readonly int _SSReflectionEnabled = Shader.PropertyToID("_SSReflectionEnabled");

  public static readonly int _VelocityTexture = Shader.PropertyToID("_VelocityTexture");
  public static readonly int _ShadowMaskTexture = Shader.PropertyToID("_ShadowMaskTexture");
  public static readonly int _DistortionTexture = Shader.PropertyToID("_DistortionTexture");
  public static readonly int _ColorPyramidTexture = Shader.PropertyToID("_ColorPyramidTexture");
  public static readonly int _DepthPyramidTexture = Shader.PropertyToID("_DepthPyramidTexture");
  public static readonly int _ColorPyramidSize = Shader.PropertyToID("_ColorPyramidSize");
  public static readonly int _ColorPyramidScale = Shader.PropertyToID("_ColorPyramidScale");
  public static readonly int _DepthPyramidSize = Shader.PropertyToID("_DepthPyramidSize");
  public static readonly int _DepthPyramidScale = Shader.PropertyToID("_DepthPyramidScale");

  public static readonly int _DebugColorPickerTexture = Shader.PropertyToID("_DebugColorPickerTexture");
  public static readonly int _ColorPickerMode = Shader.PropertyToID("_ColorPickerMode");
  public static readonly int _ApplyLinearToSRGB = Shader.PropertyToID("_ApplyLinearToSRGB");
  public static readonly int _ColorPickerFontColor = Shader.PropertyToID("_ColorPickerFontColor");
  public static readonly int _RequireToFlipInputTexture = Shader.PropertyToID("_RequireToFlipInputTexture");
  public static readonly int _FalseColorEnabled = Shader.PropertyToID("_FalseColor");
  public static readonly int _FalseColorThresholds = Shader.PropertyToID("_FalseColorThresholds");

  public static readonly int _DebugFullScreenTexture = Shader.PropertyToID("_DebugFullScreenTexture");
  public static readonly int _BlitTexture = Shader.PropertyToID("_BlitTexture");
  public static readonly int _BlitScaleBias = Shader.PropertyToID("_BlitScaleBias");
  public static readonly int _BlitMipLevel = Shader.PropertyToID("_BlitMipLevel");
  public static readonly int _BlitScaleBiasRt = Shader.PropertyToID("_BlitScaleBiasRt");

  public static readonly int _WorldScales = Shader.PropertyToID("_WorldScales");
  public static readonly int _FilterKernels = Shader.PropertyToID("_FilterKernels");
  public static readonly int _FilterKernelsBasic = Shader.PropertyToID("_FilterKernelsBasic");
  public static readonly int _HalfRcpWeightedVariances = Shader.PropertyToID("_HalfRcpWeightedVariances");

  public static readonly int _CameraDepthTexture = Shader.PropertyToID("_CameraDepthTexture");
  public static readonly int _CameraMotionVectorsTexture = Shader.PropertyToID("_CameraMotionVectorsTexture");
  public static readonly int _CameraMotionVectorsSize = Shader.PropertyToID("_CameraMotionVectorsSize");
  public static readonly int _CameraMotionVectorsScale = Shader.PropertyToID("_CameraMotionVectorsScale");
  public static readonly int _FullScreenDebugMode = Shader.PropertyToID("_FullScreenDebugMode");

  public static readonly int _InputCubemap = Shader.PropertyToID("_InputCubemap");
  public static readonly int _Mipmap = Shader.PropertyToID("_Mipmap");

  public static readonly int _DiffusionProfile = Shader.PropertyToID("_DiffusionProfile");
  public static readonly int _MaxRadius = Shader.PropertyToID("_MaxRadius");
  public static readonly int _ShapeParam = Shader.PropertyToID("_ShapeParam");
  public static readonly int _StdDev1 = Shader.PropertyToID("_StdDev1");
  public static readonly int _StdDev2 = Shader.PropertyToID("_StdDev2");
  public static readonly int _LerpWeight = Shader.PropertyToID("_LerpWeight");
  public static readonly int _HalfRcpVarianceAndWeight1 = Shader.PropertyToID("_HalfRcpVarianceAndWeight1");
  public static readonly int _HalfRcpVarianceAndWeight2 = Shader.PropertyToID("_HalfRcpVarianceAndWeight2");
  public static readonly int _TransmissionTint = Shader.PropertyToID("_TransmissionTint");
  public static readonly int _ThicknessRemap = Shader.PropertyToID("_ThicknessRemap");

  public static readonly int _Cubemap = Shader.PropertyToID("_Cubemap");
  public static readonly int _SkyParam = Shader.PropertyToID("_SkyParam");
  public static readonly int _PixelCoordToViewDirWS = Shader.PropertyToID("_PixelCoordToViewDirWS");

  public static readonly int _Size = Shader.PropertyToID("_Size");
  public static readonly int _Source4 = Shader.PropertyToID("_Source4");
  public static readonly int _Result1 = Shader.PropertyToID("_Result1");

  public static readonly int _AtmosphericScatteringType      = Shader.PropertyToID("_AtmosphericScatteringType");
  public static readonly int _AmbientProbeCoeffs             = Shader.PropertyToID("_AmbientProbeCoeffs");
  public static readonly int _GlobalExtinction               = Shader.PropertyToID("_GlobalExtinction");
  public static readonly int _GlobalScattering               = Shader.PropertyToID("_GlobalScattering");
  public static readonly int _GlobalAnisotropy               = Shader.PropertyToID("_GlobalAnisotropy");
  public static readonly int _CornetteShanksConstant         = Shader.PropertyToID("_CornetteShanksConstant");
  public static readonly int _VBufferResolution              = Shader.PropertyToID("_VBufferResolution");
  public static readonly int _VBufferSliceCount              = Shader.PropertyToID("_VBufferSliceCount");
  public static readonly int _VBufferUvScaleAndLimit         = Shader.PropertyToID("_VBufferUvScaleAndLimit");
  public static readonly int _VBufferDepthEncodingParams     = Shader.PropertyToID("_VBufferDepthEncodingParams");
  public static readonly int _VBufferDepthDecodingParams     = Shader.PropertyToID("_VBufferDepthDecodingParams");
  public static readonly int _VBufferPrevResolution          = Shader.PropertyToID("_VBufferPrevResolution");
  public static readonly int _VBufferPrevSliceCount          = Shader.PropertyToID("_VBufferPrevSliceCount");
  public static readonly int _VBufferPrevUvScaleAndLimit     = Shader.PropertyToID("_VBufferPrevUvScaleAndLimit");
  public static readonly int _VBufferPrevDepthEncodingParams = Shader.PropertyToID("_VBufferPrevDepthEncodingParams");
  public static readonly int _VBufferPrevDepthDecodingParams = Shader.PropertyToID("_VBufferPrevDepthDecodingParams");
  public static readonly int _VBufferCoordToViewDirWS        = Shader.PropertyToID("_VBufferCoordToViewDirWS");
  public static readonly int _VBufferDensity                 = Shader.PropertyToID("_VBufferDensity");
  public static readonly int _VBufferLighting                = Shader.PropertyToID("_VBufferLighting");
  public static readonly int _VBufferLightingIntegral        = Shader.PropertyToID("_VBufferLightingIntegral");
  public static readonly int _VBufferLightingHistory         = Shader.PropertyToID("_VBufferLightingHistory");
  public static readonly int _VBufferLightingFeedback        = Shader.PropertyToID("_VBufferLightingFeedback");
  public static readonly int _VBufferSampleOffset            = Shader.PropertyToID("_VBufferSampleOffset");
  public static readonly int _VolumeBounds                   = Shader.PropertyToID("_VolumeBounds");
  public static readonly int _VolumeData                     = Shader.PropertyToID("_VolumeData");
  public static readonly int _NumVisibleDensityVolumes       = Shader.PropertyToID("_NumVisibleDensityVolumes");
  public static readonly int _VolumeMaskAtlas                = Shader.PropertyToID("_VolumeMaskAtlas");
  public static readonly int _VolumeMaskDimensions           = Shader.PropertyToID("_VolumeMaskDimensions");

  // Preintegrated texture name
  public static readonly int _PreIntegratedFGD_GGXDisneyDiffuse = Shader.PropertyToID("_PreIntegratedFGD_GGXDisneyDiffuse");
  public static readonly int _PreIntegratedFGD_CharlieAndCloth = Shader.PropertyToID("_PreIntegratedFGD_CharlieAndCloth");
}
}