diff --git a/.yamato/all-hdrp.yml b/.yamato/all-hdrp.yml index 6bd67ef21f1..9d4e1e2ad59 100644 --- a/.yamato/all-hdrp.yml +++ b/.yamato/all-hdrp.yml @@ -24,6 +24,8 @@ All_HDRP_trunk: rerun: on-new-revision - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_trunk rerun: on-new-revision + - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_XR_trunk + rerun: on-new-revision - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_trunk rerun: on-new-revision - path: .yamato/hdrp-osx-metal.yml#HDRP_OSX_Metal_Standalone_trunk @@ -59,6 +61,8 @@ All_HDRP_fast-trunk: rerun: on-new-revision - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_fast-trunk rerun: on-new-revision + - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_XR_fast-trunk + rerun: on-new-revision - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_fast-trunk rerun: on-new-revision - path: .yamato/hdrp-osx-metal.yml#HDRP_OSX_Metal_Standalone_fast-trunk @@ -94,6 +98,8 @@ All_HDRP_CUSTOM-REVISION: rerun: always - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_CUSTOM-REVISION rerun: always + - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_XR_CUSTOM-REVISION + rerun: always - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_CUSTOM-REVISION rerun: always - path: .yamato/hdrp-osx-metal.yml#HDRP_OSX_Metal_Standalone_CUSTOM-REVISION diff --git a/.yamato/config/hdrp.metafile b/.yamato/config/hdrp.metafile index 87c794933b7..8fbbd866bd8 100644 --- a/.yamato/config/hdrp.metafile +++ b/.yamato/config/hdrp.metafile @@ -63,6 +63,7 @@ all: api: Vulkan test_platforms: - playmode + - playmode_XR - Standalone - platform: OSX api: Metal diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset new file mode 100644 index 00000000000..c293d4b104d --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset @@ -0,0 +1,443 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3} + m_Name: HDRenderPipelineAssetDeferredGIRefl + m_EditorClassIdentifier: + m_Version: 16 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteBakedOrCustomReflectionFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteRealtimeReflectionFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_RenderPipelineResources: {fileID: 11400000, guid: 3ce144cff5783da45aa5d4fdc2da14b7, + type: 2} + m_RenderPipelineRayTracingResources: {fileID: 11400000, guid: ba6e7f30e5cffc249a8bf7ee5756c196, + type: 2} + m_DefaultVolumeProfile: {fileID: 11400000, guid: 4414889870ba0db42b20b120a434b7f5, + type: 2} + m_DefaultLookDevProfile: {fileID: 11400000, guid: 254c4fe87beb7be4fa72e1681edbed02, + type: 2} + m_RenderingPathDefaultCameraFrameSettings: + bitDatas: + data1: 136268574097245 + data2: 4539628428617252864 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 + m_RenderingPathDefaultBakedOrCustomReflectionFrameSettings: + bitDatas: + data1: 139713129479965 + data2: 4539628424389459968 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 + m_RenderingPathDefaultRealtimeReflectionFrameSettings: + bitDatas: + data1: 140065159257885 + data2: 4539628424389459968 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 + m_RenderPipelineSettings: + supportShadowMask: 1 + supportSSR: 1 + supportSSRTransparent: 1 + supportSSAO: 1 + supportSSGI: 1 + supportSubsurfaceScattering: 1 + sssSampleBudget: + m_Values: 140000002800000050000000 + m_SchemaId: + m_Id: With3Levels + supportVolumetrics: 1 + supportLightLayers: 0 + lightLayerName0: Light Layer default + lightLayerName1: Light Layer 1 + lightLayerName2: Light Layer 2 + lightLayerName3: Light Layer 3 + lightLayerName4: Light Layer 4 + lightLayerName5: Light Layer 5 + lightLayerName6: Light Layer 6 + lightLayerName7: Light Layer 7 + supportDistortion: 1 + supportTransparentBackface: 1 + supportTransparentDepthPrepass: 1 + supportTransparentDepthPostpass: 1 + colorBufferFormat: 74 + supportCustomPass: 1 + customBufferFormat: 12 + supportedLitShaderMode: 2 + supportDecals: 1 + supportDecalLayers: 0 + decalLayerName0: Decal Layer default + decalLayerName1: Decal Layer 1 + decalLayerName2: Decal Layer 2 + decalLayerName3: Decal Layer 3 + decalLayerName4: Decal Layer 4 + decalLayerName5: Decal Layer 5 + decalLayerName6: Decal Layer 6 + decalLayerName7: Decal Layer 7 + msaaSampleCount: 1 + supportMotionVectors: 1 + supportRuntimeDebugDisplay: 1 + supportDitheringCrossFade: 1 + supportTerrainHole: 0 + supportProbeVolume: 0 + supportRayTracing: 1 + supportedRayTracingMode: 3 + probeVolumeSettings: + atlasResolution: 128 + atlasOctahedralDepthResolution: 2048 + lightLoopSettings: + cookieAtlasSize: 2048 + cookieFormat: 74 + cookieAtlasLastValidMip: 0 + cookieTexArraySize: 16 + planarReflectionAtlasSize: 1024 + reflectionProbeCacheSize: 64 + reflectionCubemapSize: 128 + reflectionCacheCompressed: 0 + skyReflectionSize: 256 + skyLightingOverrideLayerMask: + serializedVersion: 2 + m_Bits: 0 + supportFabricConvolution: 0 + maxDirectionalLightsOnScreen: 16 + maxPunctualLightsOnScreen: 512 + maxAreaLightsOnScreen: 64 + maxEnvLightsOnScreen: 32 + maxDecalsOnScreen: 512 + maxPlanarReflectionOnScreen: 16 + hdShadowInitParams: + maxShadowRequests: 128 + directionalShadowsDepthBits: 32 + shadowFilteringQuality: 1 + punctualLightShadowAtlas: + shadowAtlasResolution: 4096 + shadowAtlasDepthBits: 32 + useDynamicViewportRescale: 1 + areaLightShadowAtlas: + shadowAtlasResolution: 4096 + shadowAtlasDepthBits: 32 + useDynamicViewportRescale: 1 + cachedPunctualLightShadowAtlas: 2048 + cachedAreaLightShadowAtlas: 1024 + shadowResolutionDirectional: + m_Values: 00010000000200000004000000080000 + m_SchemaId: + m_Id: With4Levels + shadowResolutionPunctual: + m_Values: 00010000000200000004000000080000 + m_SchemaId: + m_Id: With4Levels + shadowResolutionArea: + m_Values: 00010000000200000004000000080000 + m_SchemaId: + m_Id: With4Levels + maxDirectionalShadowMapResolution: 2048 + maxPunctualShadowMapResolution: 2048 + maxAreaShadowMapResolution: 2048 + supportScreenSpaceShadows: 1 + maxScreenSpaceShadowSlots: 24 + screenSpaceShadowBufferFormat: 48 + decalSettings: + drawDistance: 1000 + atlasWidth: 4096 + atlasHeight: 4096 + perChannelMask: 0 + postProcessSettings: + m_LutSize: 32 + lutFormat: 48 + bufferFormat: 74 + dynamicResolutionSettings: + enabled: 0 + maxPercentage: 100 + minPercentage: 100 + dynResType: 0 + upsampleFilter: 1 + forceResolution: 0 + forcedPercentage: 100 + lowresTransparentSettings: + enabled: 1 + checkerboardDepthBuffer: 1 + upsampleType: 1 + xrSettings: + singlePass: 1 + occlusionMesh: 1 + cameraJitter: 0 + postProcessQualitySettings: + NearBlurSampleCount: 030000000500000008000000 + NearBlurMaxRadius: + - 2 + - 4 + - 7 + FarBlurSampleCount: 04000000070000000e000000 + FarBlurMaxRadius: + - 5 + - 8 + - 13 + DoFResolution: 040000000200000001000000 + DoFHighQualityFiltering: 000101 + DoFPhysicallyBased: 000000 + MotionBlurSampleCount: 04000000080000000c000000 + BloomRes: 040000000200000002000000 + BloomHighQualityFiltering: 000101 + ChromaticAberrationMaxSamples: 03000000060000000c000000 + lightSettings: + useContactShadow: + m_Values: 000000 + m_SchemaId: + m_Id: + maximumLODLevel: + m_Values: 000000000000000000000000 + m_SchemaId: + m_Id: With3Levels + lodBias: + m_Values: + - 1 + - 1 + - 1 + m_SchemaId: + m_Id: With3Levels + lightingQualitySettings: + AOStepCount: 040000000600000010000000 + AOFullRes: 000001 + AOMaximumRadiusPixels: 200000002800000050000000 + AOBilateralUpsample: 000101 + AODirectionCount: 010000000200000004000000 + ContactShadowSampleCount: 060000000a00000010000000 + SSRMaxRaySteps: 100000002000000040000000 + RTAORayLength: + - 0.5 + - 3 + - 20 + RTAOSampleCount: 010000000200000008000000 + RTAODenoise: 010101 + RTAODenoiserRadius: + - 0.25 + - 0.5 + - 0.65 + RTGIRayLength: + - 50 + - 50 + - 50 + RTGIFullResolution: 000001 + RTGIClampValue: + - 0.5 + - 0.8 + - 1.5 + RTGIUpScaleRadius: 040000000400000004000000 + RTGIDenoise: 010101 + RTGIHalfResDenoise: 010000 + RTGIDenoiserRadius: + - 0.66 + - 0.66 + - 1 + RTGISecondDenoise: 010101 + RTGISecondDenoiserRadius: + - 0.33 + - 0.33 + - 0.5 + RTRMinSmoothness: + - 0.6 + - 0.4 + - 0 + RTRSmoothnessFadeStart: + - 0.7 + - 0.5 + - 0 + RTRRayLength: + - 50 + - 50 + - 50 + RTRClampValue: + - 0.8 + - 1 + - 1.2 + RTRUpScaleRadius: 040000000400000003000000 + RTRFullResolution: 000001 + RTRDenoise: 010101 + RTRDenoiserRadius: 080000000c00000010000000 + allowShaderVariantStripping: 1 + enableSRPBatcher: 1 + shaderVariantLogLevel: 0 + availableMaterialQualityLevels: -1 + m_DefaultMaterialQualityLevel: 4 + diffusionProfileSettings: {fileID: 0} + diffusionProfileSettingsList: + - {fileID: 11400000, guid: 404820c4cf36ad944862fa59c56064f0, type: 2} + - {fileID: 11400000, guid: 2384dbf2c1c420f45a792fbc315fbfb1, type: 2} + - {fileID: 11400000, guid: fe1cdcfbe2f6023428af5974e17511c6, type: 2} + - {fileID: 11400000, guid: 784637474d9deec43a1d78b2361b9e6f, type: 2} + - {fileID: 11400000, guid: 0069ee94e5a66174e8d3393776072a41, type: 2} + - {fileID: 11400000, guid: e9b7d3ae706a8c845b9d317e195ff8a0, type: 2} + - {fileID: 11400000, guid: 57e246e5f8d6a8b4395e2070883735d5, type: 2} + beforeTransparentCustomPostProcesses: [] + beforeTAACustomPostProcesses: [] + beforePostProcessCustomPostProcesses: [] + afterPostProcessCustomPostProcesses: [] + virtualTexturingSettings: + streamingCpuCacheSizeInMegaBytes: 256 + streamingGpuCacheSettings: + - format: 0 + sizeInMegaBytes: 128 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset.meta b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset.meta new file mode 100644 index 00000000000..ff04f1cce74 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferredGIRefl.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b9cdbb84baff67742bf2d228fedf6e07 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png new file mode 100644 index 00000000000..898317d30a2 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d073aeba3c4495761b9f02578494ec53274e350bfb6024ae783f419fa335cdee +size 10665 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png.meta new file mode 100644 index 00000000000..2994f7711f9 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/100_NoRayTracingEffects.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: 20d99912226645f49ae5cea1b00761fb +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity new file mode 100644 index 00000000000..6037b9e8de4 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity @@ -0,0 +1,647 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &846024778 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 846024780} + - component: {fileID: 846024779} + - component: {fileID: 846024781} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &846024779 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846024778} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 3.1415927 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &846024780 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846024778} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &846024781 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 846024778} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 + m_Intensity: 3.1415927 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 0 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!1001 &1285874209 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1132393308280272, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: 1.7306604 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -5 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.x + value: 0.2164396 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0.97629607 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 25 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: checkMemoryAllocation + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelineAsset + value: + objectReference: {fileID: 11400000, guid: b9cdbb84baff67742bf2d228fedf6e07, + type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!1 &1414028812 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1414028816} + - component: {fileID: 1414028815} + - component: {fileID: 1414028814} + - component: {fileID: 1414028813} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1414028813 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414028812} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1414028814 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414028812} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: ee72a9b6d5444604094d0e1245bbbc15, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1414028815 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414028812} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1414028816 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1414028812} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.6, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1729409332 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1729409336} + - component: {fileID: 1729409335} + - component: {fileID: 1729409334} + - component: {fileID: 1729409333} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &1729409333 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729409332} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1729409334 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729409332} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b714a34155e279649aaa85b6c13ab802, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1729409335 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729409332} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1729409336 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1729409332} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &2043852443 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2043852445} + - component: {fileID: 2043852444} + m_Layer: 0 + m_Name: Global Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &2043852444 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2043852443} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} + m_Name: + m_EditorClassIdentifier: + isGlobal: 1 + priority: 0 + blendDistance: 0 + weight: 1 + sharedProfile: {fileID: 11400000, guid: 36ecab092846fad428a9439f620e3247, type: 2} +--- !u!4 &2043852445 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2043852443} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 9.788274, y: -82.97587, z: 72.442276} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity.meta new file mode 100644 index 00000000000..220bf24cd6f --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/100_NoRayTracingEffects.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4951b574dff43c34d93926b58d153f35 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume.meta new file mode 100644 index 00000000000..d1500acfe32 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b9069c39f30957540a3716072bb4ae89 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset new file mode 100644 index 00000000000..2695fac1682 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset @@ -0,0 +1,694 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5680895510538478858 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 46a79c9cffef5cc469553b1341c2ecdf, type: 3} + m_Name: RecursiveRendering + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + enable: + m_OverrideState: 1 + m_Value: 0 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + maxDepth: + m_OverrideState: 0 + m_Value: 4 + min: 1 + max: 10 + rayLength: + m_OverrideState: 0 + m_Value: 10 + min: 0 + max: 50 + minSmoothness: + m_OverrideState: 0 + m_Value: 0.5 + min: 0 + max: 1 +--- !u!114 &-4964709988060001802 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 2d08ce26990eb1a4a9177b860541e702, type: 3} + m_Name: Exposure + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + mode: + m_OverrideState: 1 + m_Value: 0 + meteringMode: + m_OverrideState: 0 + m_Value: 2 + luminanceSource: + m_OverrideState: 0 + m_Value: 1 + fixedExposure: + m_OverrideState: 1 + m_Value: 0 + compensation: + m_OverrideState: 0 + m_Value: 0 + limitMin: + m_OverrideState: 0 + m_Value: -10 + limitMax: + m_OverrideState: 0 + m_Value: 20 + curveMap: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -10 + value: -10 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20 + value: 20 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + limitMinCurveMap: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -10 + value: -12 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20 + value: 18 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + limitMaxCurveMap: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -10 + value: -8 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20 + value: 22 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + adaptationMode: + m_OverrideState: 0 + m_Value: 1 + adaptationSpeedDarkToLight: + m_OverrideState: 0 + m_Value: 3 + min: 0.001 + adaptationSpeedLightToDark: + m_OverrideState: 0 + m_Value: 1 + min: 0.001 + weightTextureMask: + m_OverrideState: 0 + m_Value: {fileID: 0} + histogramPercentages: + m_OverrideState: 0 + m_Value: {x: 40, y: 90} + min: 0 + max: 100 + histogramUseCurveRemapping: + m_OverrideState: 0 + m_Value: 0 + targetMidGray: + m_OverrideState: 0 + m_Value: 0 + centerAroundExposureTarget: + m_OverrideState: 0 + m_Value: 0 + proceduralCenter: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + proceduralRadii: + m_OverrideState: 0 + m_Value: {x: 0.3, y: 0.3} + maskMinIntensity: + m_OverrideState: 0 + m_Value: -30 + maskMaxIntensity: + m_OverrideState: 0 + m_Value: 30 + proceduralSoftness: + m_OverrideState: 0 + m_Value: 0.5 + min: 0 +--- !u!114 &-996957019529060755 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 384c4d03a551c44448145f4093304119, type: 3} + m_Name: ScreenSpaceReflection + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + quality: + m_OverrideState: 0 + m_Value: 1 + enabled: + m_OverrideState: 1 + m_Value: 1 + rayTracing: + m_OverrideState: 1 + m_Value: 0 + reflectSky: + m_OverrideState: 0 + m_Value: 1 + depthBufferThickness: + m_OverrideState: 0 + m_Value: 0.01 + min: 0 + max: 1 + screenFadeDistance: + m_OverrideState: 0 + m_Value: 0.1 + min: 0 + max: 1 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + mode: + m_OverrideState: 0 + m_Value: 2 + sampleCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 32 + bounceCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 31 + m_MinSmoothness: + m_OverrideState: 1 + m_Value: 0 + min: 0 + max: 1 + m_SmoothnessFadeStart: + m_OverrideState: 1 + m_Value: 0 + min: 0 + max: 1 + m_RayMaxIterations: + m_OverrideState: 0 + m_Value: 32 + m_RayLength: + m_OverrideState: 0 + m_Value: 50 + min: 0 + max: 50 + m_ClampValue: + m_OverrideState: 0 + m_Value: 1 + min: 0.001 + max: 10 + m_UpscaleRadius: + m_OverrideState: 0 + m_Value: 2 + min: 2 + max: 6 + m_FullResolution: + m_OverrideState: 0 + m_Value: 0 + m_Denoise: + m_OverrideState: 0 + m_Value: 1 + m_DenoiserRadius: + m_OverrideState: 0 + m_Value: 8 + min: 1 + max: 32 +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d7fd9488000d3734a9e00ee676215985, type: 3} + m_Name: NoRayTracingVolume + m_EditorClassIdentifier: + components: + - {fileID: 8413706229458863546} + - {fileID: 2111076881904328697} + - {fileID: -996957019529060755} + - {fileID: 6265864880361571834} + - {fileID: 5043184197589851877} + - {fileID: -4964709988060001802} + - {fileID: -5680895510538478858} + - {fileID: 5047489563710957577} +--- !u!114 &2111076881904328697 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 42ef2681fa3dc8c4fa031f044e68c63f, type: 3} + m_Name: GlobalIllumination + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + quality: + m_OverrideState: 0 + m_Value: 1 + enable: + m_OverrideState: 1 + m_Value: 0 + depthBufferThickness: + m_OverrideState: 0 + m_Value: 0.01 + min: 0 + max: 1 + m_RaySteps: + m_OverrideState: 0 + m_Value: 24 + min: 16 + max: 128 + m_MaximalRadius: + m_OverrideState: 0 + m_Value: 2 + min: 0.01 + max: 50 + m_FullResolutionSS: + m_OverrideState: 0 + m_Value: 1 + m_ClampValueSS: + m_OverrideState: 0 + m_Value: 2 + min: 0.01 + max: 10 + m_FilterRadius: + m_OverrideState: 0 + m_Value: 2 + min: 2 + max: 8 + rayTracing: + m_OverrideState: 1 + m_Value: 0 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + mode: + m_OverrideState: 0 + m_Value: 2 + sampleCount: + m_OverrideState: 0 + m_Value: 2 + min: 1 + max: 32 + bounceCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 31 + m_RayLength: + m_OverrideState: 0 + m_Value: 50 + min: 0 + max: 50 + m_ClampValue: + m_OverrideState: 0 + m_Value: 1 + min: 0.001 + max: 10 + m_FullResolution: + m_OverrideState: 0 + m_Value: 0 + m_UpscaleRadius: + m_OverrideState: 0 + m_Value: 2 + min: 2 + max: 4 + m_Denoise: + m_OverrideState: 0 + m_Value: 1 + m_HalfResolutionDenoiser: + m_OverrideState: 0 + m_Value: 0 + m_DenoiserRadius: + m_OverrideState: 0 + m_Value: 0.6 + min: 0.001 + max: 1 + m_SecondDenoiserPass: + m_OverrideState: 0 + m_Value: 1 + m_SecondDenoiserRadius: + m_OverrideState: 0 + m_Value: 0.3 + min: 0.001 + max: 0.5 +--- !u!114 &5043184197589851877 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 59b6606ef2548734bb6d11b9d160bc7e, type: 3} + m_Name: HDRISky + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + rotation: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 360 + skyIntensityMode: + m_OverrideState: 0 + m_Value: 0 + exposure: + m_OverrideState: 1 + m_Value: 0 + multiplier: + m_OverrideState: 0 + m_Value: 1 + min: 0 + upperHemisphereLuxValue: + m_OverrideState: 0 + m_Value: 1 + min: 0 + upperHemisphereLuxColor: + m_OverrideState: 0 + m_Value: {x: 0, y: 0, z: 0} + desiredLuxValue: + m_OverrideState: 0 + m_Value: 20000 + updateMode: + m_OverrideState: 0 + m_Value: 0 + updatePeriod: + m_OverrideState: 0 + m_Value: 0 + min: 0 + includeSunInBaking: + m_OverrideState: 0 + m_Value: 0 + hdriSky: + m_OverrideState: 1 + m_Value: {fileID: 0} + enableDistortion: + m_OverrideState: 0 + m_Value: 0 + procedural: + m_OverrideState: 0 + m_Value: 1 + flowmap: + m_OverrideState: 0 + m_Value: {fileID: 0} + upperHemisphereOnly: + m_OverrideState: 0 + m_Value: 1 + scrollDirection: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 360 + scrollSpeed: + m_OverrideState: 0 + m_Value: 2 + min: 0 + enableBackplate: + m_OverrideState: 0 + m_Value: 0 + backplateType: + m_OverrideState: 0 + m_Value: 0 + groundLevel: + m_OverrideState: 0 + m_Value: 0 + scale: + m_OverrideState: 0 + m_Value: {x: 32, y: 32} + projectionDistance: + m_OverrideState: 0 + m_Value: 16 + min: 0.0000001 + plateRotation: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 360 + plateTexRotation: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 360 + plateTexOffset: + m_OverrideState: 0 + m_Value: {x: 0, y: 0} + blendAmount: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 100 + shadowTint: + m_OverrideState: 0 + m_Value: {r: 0.5, g: 0.5, b: 0.5, a: 1} + hdr: 0 + showAlpha: 1 + showEyeDropper: 1 + pointLightShadow: + m_OverrideState: 0 + m_Value: 0 + dirLightShadow: + m_OverrideState: 0 + m_Value: 0 + rectLightShadow: + m_OverrideState: 0 + m_Value: 0 +--- !u!114 &5047489563710957577 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 31394aa05878563408489d5c1688f3a0, type: 3} + m_Name: PathTracing + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + enable: + m_OverrideState: 1 + m_Value: 0 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + maximumSamples: + m_OverrideState: 0 + m_Value: 256 + min: 1 + max: 4096 + minimumDepth: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 10 + maximumDepth: + m_OverrideState: 0 + m_Value: 4 + min: 1 + max: 10 + maximumIntensity: + m_OverrideState: 0 + m_Value: 10 + min: 0 + max: 100 +--- !u!114 &6265864880361571834 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 464ccca2a3ef3ce429c63a5b5cd3be58, type: 3} + m_Name: SubSurfaceScattering + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + rayTracing: + m_OverrideState: 1 + m_Value: 0 + sampleCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 32 +--- !u!114 &8413706229458863546 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9008a067f4d626c4d8bc4bc48f04bb89, type: 3} + m_Name: AmbientOcclusion + m_EditorClassIdentifier: + active: 1 + m_AdvancedMode: 0 + quality: + m_OverrideState: 0 + m_Value: 1 + rayTracing: + m_OverrideState: 1 + m_Value: 0 + intensity: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 4 + directLightingStrength: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 1 + radius: + m_OverrideState: 0 + m_Value: 2 + min: 0.25 + max: 5 + temporalAccumulation: + m_OverrideState: 0 + m_Value: 1 + ghostingReduction: + m_OverrideState: 0 + m_Value: 0.5 + min: 0 + max: 1 + blurSharpness: + m_OverrideState: 0 + m_Value: 0.1 + min: 0 + max: 1 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + m_StepCount: + m_OverrideState: 0 + m_Value: 6 + min: 2 + max: 32 + m_FullResolution: + m_OverrideState: 0 + m_Value: 0 + m_MaximumRadiusInPixels: + m_OverrideState: 0 + m_Value: 40 + min: 16 + max: 256 + m_BilateralUpsample: + m_OverrideState: 0 + m_Value: 1 + m_DirectionCount: + m_OverrideState: 0 + m_Value: 2 + min: 1 + max: 6 + m_RayLength: + m_OverrideState: 0 + m_Value: 0.5 + min: 0 + max: 50 + m_SampleCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 64 + m_Denoise: + m_OverrideState: 0 + m_Value: 1 + m_DenoiserRadius: + m_OverrideState: 0 + m_Value: 1 + min: 0.001 + max: 1 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset.meta new file mode 100644 index 00000000000..7714da6fc89 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/NoRayTracingVolume/NoRayTracingVolume.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 36ecab092846fad428a9439f620e3247 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat new file mode 100644 index 00000000000..e0285a4fda1 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_Mirror + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 1 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 1 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &7433194683608655501 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat.meta new file mode 100644 index 00000000000..f00cbfbc439 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/Shared/M_Mirror.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b714a34155e279649aaa85b6c13ab802 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset index 6cd99aa18c3..84fb8c48b15 100644 --- a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset @@ -5,6 +5,9 @@ EditorBuildSettings: m_ObjectHideFlags: 0 serializedVersion: 2 m_Scenes: + - enabled: 1 + path: Assets/Scenes/100_NoRayTracingEffects.unity + guid: 4951b574dff43c34d93926b58d153f35 - enabled: 1 path: Assets/Scenes/101_ReflectionsPerfFullRes.unity guid: 7370a32694f72f146851c3347ef04385 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/Graffiti.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/Graffiti.mat index 23b10e26ac8..9ce7c9f966d 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/Graffiti.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/Graffiti.mat @@ -131,6 +131,7 @@ Material: - _CullModeForward: 2 - _Cutoff: 0.5 - _DecalBlend: 1 + - _DecalLayerMaskFromDecal: 1 - _DecalMaskMapBlueScale: 1 - _DecalMeshDepthBias: 0 - _DecalStencilRef: 16 @@ -277,4 +278,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 5 + version: 7 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/MirrorDecal.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/MirrorDecal.mat index 56719474e2c..1fd0d9e6c02 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/MirrorDecal.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/Materials/MirrorDecal.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 5 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -144,6 +144,7 @@ Material: - _CullModeForward: 2 - _Cutoff: 0.5 - _DecalBlend: 1 + - _DecalLayerMaskFromDecal: 1 - _DecalMaskMapBlueScale: 1 - _DecalMeshDepthBias: 0 - _DecalStencilRef: 16 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/VolumeSettings.asset b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/VolumeSettings.asset index a24ba5f1cd6..f109fe04c8f 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/VolumeSettings.asset +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/001-HDTemplate/VolumeSettings.asset @@ -242,19 +242,12 @@ MonoBehaviour: quality: m_OverrideState: 1 m_Value: 3 + enabled: + m_OverrideState: 0 + m_Value: 1 rayTracing: m_OverrideState: 0 m_Value: 0 - minSmoothness: - m_OverrideState: 1 - m_Value: 0.9 - min: 0 - max: 1 - smoothnessFadeStart: - m_OverrideState: 1 - m_Value: 0.9 - min: 0 - max: 1 reflectSky: m_OverrideState: 1 m_Value: 1 @@ -273,49 +266,58 @@ MonoBehaviour: m_Value: serializedVersion: 2 m_Bits: 4294967295 - rayLength: + mode: + m_OverrideState: 0 + m_Value: 2 + sampleCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 32 + bounceCount: + m_OverrideState: 0 + m_Value: 1 + min: 1 + max: 31 + m_MinSmoothness: + m_OverrideState: 1 + m_Value: 0.9 + min: 0 + max: 1 + m_SmoothnessFadeStart: + m_OverrideState: 1 + m_Value: 0.9 + min: 0 + max: 1 + m_RayMaxIterations: + m_OverrideState: 1 + m_Value: 64 + m_RayLength: m_OverrideState: 1 m_Value: 10 min: 0.001 max: 50 - clampValue: + m_ClampValue: m_OverrideState: 1 m_Value: 1 min: 0.001 max: 10 - denoise: - m_OverrideState: 0 - m_Value: 0 - denoiserRadius: - m_OverrideState: 0 - m_Value: 16 - min: 1 - max: 32 - upscaleRadius: + m_UpscaleRadius: m_OverrideState: 0 m_Value: 4 - fullResolution: - m_OverrideState: 1 - m_Value: 0 - deferredMode: + min: 2 + max: 6 + m_FullResolution: m_OverrideState: 1 m_Value: 0 - rayBinning: - m_OverrideState: 1 + m_Denoise: + m_OverrideState: 0 m_Value: 0 - sampleCount: + m_DenoiserRadius: m_OverrideState: 0 - m_Value: 1 + m_Value: 16 min: 1 max: 32 - bounceCount: - m_OverrideState: 0 - m_Value: 1 - min: 1 - max: 31 - m_RayMaxIterations: - m_OverrideState: 1 - m_Value: 64 --- !u!114 &-3407449241167749391 MonoBehaviour: m_ObjectHideFlags: 3 @@ -332,7 +334,7 @@ MonoBehaviour: m_AdvancedMode: 0 mode: m_OverrideState: 1 - m_Value: 3 + m_Value: 2 meteringMode: m_OverrideState: 1 m_Value: 2 @@ -377,6 +379,58 @@ MonoBehaviour: m_PreInfinity: 2 m_PostInfinity: 2 m_RotationOrder: 4 + limitMinCurveMap: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -10 + value: -12 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20 + value: 18 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 + limitMaxCurveMap: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Curve: + - serializedVersion: 3 + time: -10 + value: -8 + inSlope: 0 + outSlope: 1 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + - serializedVersion: 3 + time: 20 + value: 22 + inSlope: 1 + outSlope: 0 + tangentMode: 0 + weightedMode: 0 + inWeight: 0 + outWeight: 0 + m_PreInfinity: 2 + m_PostInfinity: 2 + m_RotationOrder: 4 adaptationMode: m_OverrideState: 1 m_Value: 1 @@ -388,6 +442,39 @@ MonoBehaviour: m_OverrideState: 1 m_Value: 1 min: 0.001 + weightTextureMask: + m_OverrideState: 0 + m_Value: {fileID: 0} + histogramPercentages: + m_OverrideState: 0 + m_Value: {x: 40, y: 90} + min: 0 + max: 100 + histogramUseCurveRemapping: + m_OverrideState: 0 + m_Value: 0 + targetMidGray: + m_OverrideState: 0 + m_Value: 0 + centerAroundExposureTarget: + m_OverrideState: 0 + m_Value: 0 + proceduralCenter: + m_OverrideState: 0 + m_Value: {x: 0.5, y: 0.5} + proceduralRadii: + m_OverrideState: 0 + m_Value: {x: 0.3, y: 0.3} + maskMinIntensity: + m_OverrideState: 0 + m_Value: -30 + maskMaxIntensity: + m_OverrideState: 0 + m_Value: 30 + proceduralSoftness: + m_OverrideState: 0 + m_Value: 0.5 + min: 0 --- !u!114 &11400000 MonoBehaviour: m_ObjectHideFlags: 0 @@ -503,6 +590,27 @@ MonoBehaviour: hdriSky: m_OverrideState: 1 m_Value: {fileID: 8900000, guid: 8253d41e6e8b11a4cbe77a4f8f82934d, type: 3} + enableDistortion: + m_OverrideState: 0 + m_Value: 0 + procedural: + m_OverrideState: 0 + m_Value: 1 + flowmap: + m_OverrideState: 0 + m_Value: {fileID: 0} + upperHemisphereOnly: + m_OverrideState: 0 + m_Value: 1 + scrollDirection: + m_OverrideState: 0 + m_Value: 0 + min: 0 + max: 360 + scrollSpeed: + m_OverrideState: 0 + m_Value: 2 + min: 0 enableBackplate: m_OverrideState: 0 m_Value: 0 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png index 9baa341bc40..a15907cd9ea 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9601_SkinnedMeshBatching-Off.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:09427c8b5b88d69f35f3acba345339e929e5179a5ffc1ad11d33e2d4274b27a8 -size 111483 +oid sha256:4f7b45b6ffdad0548e77b314c9fb2129dd5c6ab40f0314cf30e663a95a8b5ddf +size 111784 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png index 92f2db5fdce..6b91799e821 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/9602_SkinnedMeshBatching-On.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:77aaba8a603ef5088045a67a652f277be7a506ee1e4db19c252b74bf0bae556f -size 111486 +oid sha256:a0743105eb58163defe80745d8869ae5e1ec428fe062859ec51a84548621fb3c +size 111789 diff --git a/com.unity.render-pipelines.core/CHANGELOG.md b/com.unity.render-pipelines.core/CHANGELOG.md index ec03464ea77..24c11d82911 100644 --- a/com.unity.render-pipelines.core/CHANGELOG.md +++ b/com.unity.render-pipelines.core/CHANGELOG.md @@ -47,6 +47,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fix a compil error on OpenGL ES2 in directional lightmap sampling shader code - Fix hierarchicalbox gizmo outside facing check in symetry or homothety mode no longer move the center - Fix artifacts on Adreno 630 GPUs when using ACES Tonemapping +- Fixed a null ref in the volume component list when there is no volume components in the project. ### Changed - Restored usage of ENABLE_VR to fix compilation errors on some platforms. diff --git a/com.unity.render-pipelines.core/Editor/FilterWindow.cs b/com.unity.render-pipelines.core/Editor/FilterWindow.cs index 514b15fd672..44f06c95e32 100644 --- a/com.unity.render-pipelines.core/Editor/FilterWindow.cs +++ b/com.unity.render-pipelines.core/Editor/FilterWindow.cs @@ -455,8 +455,11 @@ void HandleKeyboard() if (evt.keyCode == KeyCode.Return || evt.keyCode == KeyCode.KeypadEnter) { - GoToChild(m_ActiveElement, true); - evt.Use(); + if (m_ActiveElement != null) + { + GoToChild(m_ActiveElement, true); + evt.Use(); + } } // Do these if we're not in search mode diff --git a/com.unity.render-pipelines.core/Editor/LookDev/LookDevRenderer.cs b/com.unity.render-pipelines.core/Editor/LookDev/LookDevRenderer.cs index 6a9460a77c2..07a91f91a27 100644 --- a/com.unity.render-pipelines.core/Editor/LookDev/LookDevRenderer.cs +++ b/com.unity.render-pipelines.core/Editor/LookDev/LookDevRenderer.cs @@ -30,7 +30,6 @@ public void Dispose() return; disposed = true; - stage?.Dispose(); stage = null; updater = null; output?.Release(); diff --git a/com.unity.render-pipelines.core/Editor/LookDev/Stage.cs b/com.unity.render-pipelines.core/Editor/LookDev/Stage.cs index 0d96a34a421..0679af9f6f1 100644 --- a/com.unity.render-pipelines.core/Editor/LookDev/Stage.cs +++ b/com.unity.render-pipelines.core/Editor/LookDev/Stage.cs @@ -196,7 +196,7 @@ static void InitAddedObjectsRecursively(GameObject go) var lineRenderer = go.GetComponent(); if (lineRenderer != null) lineRenderer.lightProbeUsage = UnityEngine.Rendering.LightProbeUsage.Off; - + var volumes = go.GetComponents(); foreach (var volume in volumes) volume.UpdateLayer(); //force update of layer now as the Update can be called after we unregister volume from manager @@ -273,6 +273,7 @@ class StageCache : IDisposable Stage[] m_Stages; Context m_Contexts; + IDataProvider m_CurrentDataProvider; public Stage this[ViewIndex index] => m_Stages[(int)index]; @@ -310,6 +311,8 @@ Stage InitStage(ViewIndex index, IDataProvider dataProvider) } dataProvider.FirstInitScene(stage.runtimeInterface); + + m_CurrentDataProvider = dataProvider; return stage; } @@ -345,7 +348,10 @@ void CleanUp() if (!disposedValue) { foreach (Stage stage in m_Stages) + { + m_CurrentDataProvider.Cleanup(stage.runtimeInterface); stage.Dispose(); + } disposedValue = true; } diff --git a/com.unity.render-pipelines.core/Runtime/LookDev/IDataProvider.cs b/com.unity.render-pipelines.core/Runtime/LookDev/IDataProvider.cs index 447823bdb8b..8f5c7750840 100644 --- a/com.unity.render-pipelines.core/Runtime/LookDev/IDataProvider.cs +++ b/com.unity.render-pipelines.core/Runtime/LookDev/IDataProvider.cs @@ -46,6 +46,12 @@ public interface IDataProvider /// /// Access element of the LookDev's scene void OnEndRendering(StageRuntimeInterface stage); + + /// + /// Callback called to do any necessary cleanup. + /// + /// Access element of the LookDev's scene + void Cleanup(StageRuntimeInterface SRI); } /// diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs index 6cd96a853f2..0e28247f265 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs @@ -51,20 +51,36 @@ public struct RenderGraphExecuteParams class RenderGraphDebugParams { - public bool tagResourceNamesWithRG; public bool clearRenderTargetsAtCreation; public bool clearRenderTargetsAtRelease; + public bool disablePassCulling; public bool logFrameInformation; public bool logResources; public void RegisterDebug() { var list = new List(); - list.Add(new DebugUI.BoolField { displayName = "Tag Resources with RG", getter = () => tagResourceNamesWithRG, setter = value => tagResourceNamesWithRG = value }); list.Add(new DebugUI.BoolField { displayName = "Clear Render Targets at creation", getter = () => clearRenderTargetsAtCreation, setter = value => clearRenderTargetsAtCreation = value }); list.Add(new DebugUI.BoolField { displayName = "Clear Render Targets at release", getter = () => clearRenderTargetsAtRelease, setter = value => clearRenderTargetsAtRelease = value }); - list.Add(new DebugUI.Button { displayName = "Log Frame Information", action = () => logFrameInformation = true }); - list.Add(new DebugUI.Button { displayName = "Log Resources", action = () => logResources = true }); + list.Add(new DebugUI.BoolField { displayName = "Disable Pass Culling", getter = () => disablePassCulling, setter = value => disablePassCulling = value }); + list.Add(new DebugUI.Button { displayName = "Log Frame Information", + action = () => + { + logFrameInformation = true; + #if UNITY_EDITOR + UnityEditor.SceneView.RepaintAll(); + #endif + } + }); + list.Add(new DebugUI.Button { displayName = "Log Resources", + action = () => + { + logResources = true; + #if UNITY_EDITOR + UnityEditor.SceneView.RepaintAll(); + #endif + } + }); var panel = DebugManager.instance.GetPanel("Render Graph", true); panel.children.Add(list.ToArray()); @@ -120,7 +136,7 @@ internal struct CompiledPassInfo public List[] resourceCreateList; public List[] resourceReleaseList; public int refCount; - public bool pruned; + public bool culled; public bool hasSideEffect; public int syncToPassIndex; // Index of the pass that needs to be waited for. public int syncFromPassIndex; // Smaller pass index that waits for this pass. @@ -128,7 +144,7 @@ internal struct CompiledPassInfo public GraphicsFence fence; public bool enableAsyncCompute { get { return pass.enableAsyncCompute; } } - public bool allowPassPruning { get { return pass.allowPassPruning; } } + public bool allowPassCulling { get { return pass.allowPassCulling; } } #if DEVELOPMENT_BUILD || UNITY_EDITOR // This members are only here to ease debugging. @@ -168,7 +184,7 @@ public void Reset(RenderGraphPass pass) } refCount = 0; - pruned = false; + culled = false; hasSideEffect = false; syncToPassIndex = -1; syncFromPassIndex = -1; @@ -198,7 +214,7 @@ public void Reset(RenderGraphPass pass) // Compiled Render Graph info. DynamicArray[] m_CompiledResourcesInfos = new DynamicArray[(int)RenderGraphResourceType.Count]; DynamicArray m_CompiledPassInfos = new DynamicArray(); - Stack m_PruningStack = new Stack(); + Stack m_CullingStack = new Stack(); #region Public Interface @@ -262,7 +278,7 @@ public void PurgeUnusedResources() /// /// Import an external texture to the Render Graph. - /// Any pass writing to an imported texture will be considered having side effects and can't be automatically pruned. + /// Any pass writing to an imported texture will be considered having side effects and can't be automatically culled. /// /// External RTHandle that needs to be imported. /// A new TextureHandle. @@ -323,7 +339,7 @@ public RendererListHandle CreateRendererList(in RendererListDesc desc) /// /// Import an external Compute Buffer to the Render Graph - /// Any pass writing to an imported compute buffer will be considered having side effects and can't be automatically pruned. + /// Any pass writing to an imported compute buffer will be considered having side effects and can't be automatically culled. /// /// External Compute Buffer that needs to be imported. /// A new ComputeBufferHandle. @@ -511,21 +527,21 @@ void CountReferences() } } - void PruneOutputlessPasses() + void CullOutputlessPasses() { - // Gather passes that don't produce anything and prune them. - m_PruningStack.Clear(); + // Gather passes that don't produce anything and cull them. + m_CullingStack.Clear(); for (int pass = 0; pass < m_CompiledPassInfos.size; ++pass) { ref CompiledPassInfo passInfo = ref m_CompiledPassInfos[pass]; - if (passInfo.refCount == 0 && !passInfo.hasSideEffect && passInfo.allowPassPruning) + if (passInfo.refCount == 0 && !passInfo.hasSideEffect && passInfo.allowPassCulling) { // Producer is not necessary as it produces zero resources - // Prune it and decrement refCount of all the resources it reads. + // Cull it and decrement refCount of all the resources it reads. // We don't need to go recursively here because we decrement ref count of read resources - // so the subsequent passes of pruning will detect those and remove the related passes. - passInfo.pruned = true; + // so the subsequent passes of culling will detect those and remove the related passes. + passInfo.culled = true; for (int type = 0; type < (int)RenderGraphResourceType.Count; ++type) { foreach (var index in passInfo.pass.resourceReadLists[type]) @@ -538,40 +554,49 @@ void PruneOutputlessPasses() } } - void PruneUnusedPasses() + void CullUnusedPasses() { - // TODO RENDERGRAPH: temporarily remove pruning of passes without product. - // Many passes are used just to set global variables so we don't want to force users to disallow pruning on those explicitly every time. - // This will prune passes with no outputs. - //PruneOutputlessPasses(); + if (m_DebugParameters.disablePassCulling) + { + if (m_DebugParameters.logFrameInformation) + { + m_Logger.LogLine("- Pass Culling Disabled -\n"); + } + return; + } - // This will prune all passes that produce resource that are never read. + // TODO RENDERGRAPH: temporarily remove culling of passes without product. + // Many passes are used just to set global variables so we don't want to force users to disallow culling on those explicitly every time. + // This will cull passes with no outputs. + //CullOutputlessPasses(); + + // This will cull all passes that produce resource that are never read. for (int type = 0; type < (int)RenderGraphResourceType.Count; ++type) { DynamicArray resourceUsageList = m_CompiledResourcesInfos[type]; // Gather resources that are never read. - m_PruningStack.Clear(); + m_CullingStack.Clear(); for (int i = 0; i < resourceUsageList.size; ++i) { if (resourceUsageList[i].refCount == 0) { - m_PruningStack.Push(i); + m_CullingStack.Push(i); } } - while (m_PruningStack.Count != 0) + while (m_CullingStack.Count != 0) { - var unusedResource = resourceUsageList[m_PruningStack.Pop()]; + var unusedResource = resourceUsageList[m_CullingStack.Pop()]; foreach (var producerIndex in unusedResource.producers) { ref var producerInfo = ref m_CompiledPassInfos[producerIndex]; producerInfo.refCount--; - if (producerInfo.refCount == 0 && !producerInfo.hasSideEffect && producerInfo.allowPassPruning) + if (producerInfo.refCount == 0 && !producerInfo.hasSideEffect && producerInfo.allowPassCulling) { // Producer is not necessary anymore as it produces zero resources - // Prune it and decrement refCount of all the textures it reads. - producerInfo.pruned = true; + // Cull it and decrement refCount of all the textures it reads. + producerInfo.culled = true; foreach (var resourceIndex in producerInfo.pass.resourceReadLists[type]) { @@ -579,14 +604,14 @@ void PruneUnusedPasses() resourceInfo.refCount--; // If a resource is not used anymore, add it to the stack to be processed in subsequent iteration. if (resourceInfo.refCount == 0) - m_PruningStack.Push(resourceIndex); + m_CullingStack.Push(resourceIndex); } } } } } - LogPrunedPasses(); + LogCulledPasses(); } void UpdatePassSynchronization(ref CompiledPassInfo currentPassInfo, ref CompiledPassInfo producerPassInfo, int currentPassIndex, int lastProducer, ref int intLastSyncIndex) @@ -657,7 +682,7 @@ int GetLatestValidReadIndex(in CompiledResourceInfo info) var consumers = info.consumers; for (int i = consumers.Count - 1; i >= 0; --i) { - if (!m_CompiledPassInfos[consumers[i]].pruned) + if (!m_CompiledPassInfos[consumers[i]].culled) return consumers[i]; } @@ -672,7 +697,7 @@ int GetFirstValidWriteIndex(in CompiledResourceInfo info) var producers = info.producers; for (int i = 0; i < producers.Count; i++) { - if (!m_CompiledPassInfos[producers[i]].pruned) + if (!m_CompiledPassInfos[producers[i]].culled) return producers[i]; } @@ -687,7 +712,7 @@ int GetLatestValidWriteIndex(in CompiledResourceInfo info) var producers = info.producers; for (int i = producers.Count - 1; i >= 0; --i) { - if (!m_CompiledPassInfos[producers[i]].pruned) + if (!m_CompiledPassInfos[producers[i]].culled) return producers[i]; } @@ -708,7 +733,7 @@ void UpdateResourceAllocationAndSynchronization() { ref CompiledPassInfo passInfo = ref m_CompiledPassInfos[passIndex]; - if (passInfo.pruned) + if (passInfo.culled) continue; for (int type = 0; type < (int)RenderGraphResourceType.Count; ++type) @@ -789,16 +814,16 @@ void UpdateResourceAllocationAndSynchronization() m_Resources.CreateRendererLists(m_RendererLists); } - // Internal for testing purpose only + // Internal visibility for testing purpose only // Traverse the render graph: // - Determines when resources are created/released // - Determines async compute pass synchronization - // - Prune unused render passes. + // - Cull unused render passes. internal void CompileRenderGraph() { InitializeCompilationData(); CountReferences(); - PruneUnusedPasses(); + CullUnusedPasses(); UpdateResourceAllocationAndSynchronization(); LogRendererListsCreation(); } @@ -814,7 +839,7 @@ void ExecuteRenderGraph(ScriptableRenderContext renderContext, CommandBuffer cmd for (int passIndex = 0; passIndex < m_CompiledPassInfos.size; ++passIndex) { ref var passInfo = ref m_CompiledPassInfos[passIndex]; - if (passInfo.pruned) + if (passInfo.culled) continue; if (!passInfo.pass.HasRenderFunc()) @@ -982,16 +1007,16 @@ void LogRenderPassBegin(in CompiledPassInfo passInfo) } } - void LogPrunedPasses() + void LogCulledPasses() { if (m_DebugParameters.logFrameInformation) { - m_Logger.LogLine("Pass pruning report:"); + m_Logger.LogLine("Pass Culling Report:"); using (new RenderGraphLogIndent(m_Logger)) { for (int i = 0; i < m_CompiledPassInfos.size; ++i) { - if (m_CompiledPassInfos[i].pruned) + if (m_CompiledPassInfos[i].culled) { var pass = m_RenderPasses[i]; m_Logger.LogLine("[{0}] {1}", pass.index, pass.name); diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs index 0633c1a92cd..ef8318ac8c1 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs @@ -175,15 +175,15 @@ public void EnableAsyncCompute(bool value) } /// - /// Allow or not pass pruning - /// By default all passes can be pruned out if the render graph detects it's not actually used. + /// Allow or not pass culling + /// By default all passes can be culled out if the render graph detects it's not actually used. /// In some cases, a pass may not write or read any texture but rather do something with side effects (like setting a global texture parameter for example). - /// This function can be used to tell the system that it should not prune this pass. + /// This function can be used to tell the system that it should not cull this pass. /// - /// - public void AllowPassPruning(bool value) + /// True to allow pass culling. + public void AllowPassCulling(bool value) { - m_RenderPass.AllowPassPruning(value); + m_RenderPass.AllowPassCulling(value); } /// diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphDefaultResources.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphDefaultResources.cs index 05f8ad1c2d8..367fdfcd0dc 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphDefaultResources.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphDefaultResources.cs @@ -23,6 +23,8 @@ public class RenderGraphDefaultResources public TextureHandle magentaTextureXR { get; private set; } /// Default black XR 2D texture. public TextureHandle blackTextureXR { get; private set; } + /// Default black XR 2D Array texture. + public TextureHandle blackTextureArrayXR { get; private set; } /// Default black (UInt) XR 2D texture. public TextureHandle blackUIntTextureXR { get; private set; } /// Default black XR 3D texture. @@ -52,6 +54,7 @@ internal void InitializeForRendering(RenderGraph renderGraph) clearTextureXR = renderGraph.ImportTexture(TextureXR.GetClearTexture()); magentaTextureXR = renderGraph.ImportTexture(TextureXR.GetMagentaTexture()); blackTextureXR = renderGraph.ImportTexture(TextureXR.GetBlackTexture()); + blackTextureArrayXR = renderGraph.ImportTexture(TextureXR.GetBlackTextureArray()); blackUIntTextureXR = renderGraph.ImportTexture(TextureXR.GetBlackUIntTexture()); blackTexture3DXR = renderGraph.ImportTexture(TextureXR.GetBlackTexture3D()); whiteTextureXR = renderGraph.ImportTexture(TextureXR.GetWhiteTexture()); diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphPass.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphPass.cs index 3bc1715b7ca..f9ce8cc88ae 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphPass.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphPass.cs @@ -19,7 +19,7 @@ public RenderFunc GetExecuteDelegate() public int index { get; protected set; } public ProfilingSampler customSampler { get; protected set; } public bool enableAsyncCompute { get; protected set; } - public bool allowPassPruning { get; protected set; } + public bool allowPassCulling { get; protected set; } public TextureHandle depthBuffer { get; protected set; } public TextureHandle[] colorBuffers { get; protected set; } = new TextureHandle[RenderGraph.kMaxMRTCount]; @@ -56,15 +56,15 @@ public void Clear() usedRendererListList.Clear(); enableAsyncCompute = false; - allowPassPruning = true; + allowPassCulling = true; refCount = 0; // Invalidate everything colorBufferMaxIndex = -1; - depthBuffer = new TextureHandle(); + depthBuffer = TextureHandle.nullHandle; for (int i = 0; i < RenderGraph.kMaxMRTCount; ++i) { - colorBuffers[i] = new TextureHandle(); + colorBuffers[i] = TextureHandle.nullHandle; } } @@ -93,9 +93,9 @@ public void EnableAsyncCompute(bool value) enableAsyncCompute = value; } - public void AllowPassPruning(bool value) + public void AllowPassCulling(bool value) { - allowPassPruning = value; + allowPassCulling = value; } public void SetColorBuffer(TextureHandle resource, int index) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs index 29f1a46c9e7..5bfaa45c17e 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs @@ -6,7 +6,7 @@ namespace UnityEngine.Experimental.Rendering.RenderGraphModule abstract class RenderGraphResourcePool where Type : class { - // Dictionary tracks resources by hash and stores resources with same hash in a List (list instead of a stack because we need to be able to remove stale allocations). + // Dictionary tracks resources by hash and stores resources with same hash in a List (list instead of a stack because we need to be able to remove stale allocations, potentially in the middle of the stack). protected Dictionary> m_ResourcePool = new Dictionary>(); #if DEVELOPMENT_BUILD || UNITY_EDITOR diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs index 2de34972e8a..bf28006cb86 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs @@ -25,7 +25,7 @@ internal static RenderGraphResourceRegistry current } set { - m_CurrentRegistry = value; + m_CurrentRegistry = value; } } @@ -326,33 +326,27 @@ internal void CreateAndClearTexture(RenderGraphContext rgContext, int index) resource.resource = null; if (!m_TexturePool.TryGetResource(hashCode, out resource.resource)) { - string name = desc.name; - if (m_RenderGraphDebug.tagResourceNamesWithRG) - name = $"RenderGraph_{name}"; + // Textures are going to be reused under different aliases along the frame so we can't provide a specific name upon creation. + // The name in the desc is going to be used for debugging purpose and render graph visualization. + string name = "RenderGraphTexture"; - // Note: Name used here will be the one visible in the memory profiler so it means that whatever is the first pass that actually allocate the texture will set the name. - // TODO: Find a way to display name by pass. switch (desc.sizeMode) { case TextureSizeMode.Explicit: resource.resource = RTHandles.Alloc(desc.width, desc.height, desc.slices, desc.depthBufferBits, desc.colorFormat, desc.filterMode, desc.wrapMode, desc.dimension, desc.enableRandomWrite, - desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.msaaSamples, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, desc.name); + desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.msaaSamples, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, name); break; case TextureSizeMode.Scale: resource.resource = RTHandles.Alloc(desc.scale, desc.slices, desc.depthBufferBits, desc.colorFormat, desc.filterMode, desc.wrapMode, desc.dimension, desc.enableRandomWrite, - desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.enableMSAA, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, desc.name); + desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.enableMSAA, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, name); break; case TextureSizeMode.Functor: resource.resource = RTHandles.Alloc(desc.func, desc.slices, desc.depthBufferBits, desc.colorFormat, desc.filterMode, desc.wrapMode, desc.dimension, desc.enableRandomWrite, - desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.enableMSAA, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, desc.name); + desc.useMipMap, desc.autoGenerateMips, desc.isShadowMap, desc.anisoLevel, desc.mipMapBias, desc.enableMSAA, desc.bindTextureMS, desc.useDynamicScale, desc.memoryless, name); break; } } - //// Try to update name when re-using a texture. - //// TODO RENDERGRAPH: Check if that actually works. - //resource.rt.name = desc.name; - resource.cachedHash = hashCode; #if UNITY_2020_2_OR_NEWER @@ -376,7 +370,7 @@ internal void CreateAndClearTexture(RenderGraphContext rgContext, int index) } m_TexturePool.RegisterFrameAllocation(hashCode, resource.resource); - LogTextureCreation(resource.resource, resource.desc.clearBuffer || m_RenderGraphDebug.clearRenderTargetsAtCreation); + LogTextureCreation(resource); } } @@ -395,12 +389,12 @@ internal void CreateComputeBuffer(RenderGraphContext rgContext, int index) if (!m_ComputeBufferPool.TryGetResource(hashCode, out resource.resource)) { resource.resource = new ComputeBuffer(resource.desc.count, resource.desc.stride, resource.desc.type); - resource.resource.name = m_RenderGraphDebug.tagResourceNamesWithRG ? $"RenderGraph_{resource.desc.name}" : resource.desc.name; + resource.resource.name = $"RenderGraphComputeBuffer_{resource.desc.count}_{resource.desc.stride}_{resource.desc.type}"; } resource.cachedHash = hashCode; m_ComputeBufferPool.RegisterFrameAllocation(hashCode, resource.resource); - LogComputeBufferCreation(resource.resource); + LogComputeBufferCreation(resource); } } @@ -424,7 +418,7 @@ internal void ReleaseTexture(RenderGraphContext rgContext, int index) } } - LogTextureRelease(resource.resource); + LogTextureRelease(resource); m_TexturePool.ReleaseResource(resource.cachedHash, resource.resource, m_CurrentFrameIndex); m_TexturePool.UnregisterFrameAllocation(resource.cachedHash, resource.resource); resource.cachedHash = -1; @@ -442,7 +436,7 @@ internal void ReleaseComputeBuffer(RenderGraphContext rgContext, int index) if (resource.resource == null) throw new InvalidOperationException($"Tried to release a compute buffer ({resource.desc.name}) that was never created. Check that there is at least one pass writing to it first."); - LogComputeBufferRelease(resource.resource); + LogComputeBufferRelease(resource); m_ComputeBufferPool.ReleaseResource(resource.cachedHash, resource.resource, m_CurrentFrameIndex); m_ComputeBufferPool.UnregisterFrameAllocation(resource.cachedHash, resource.resource); resource.cachedHash = -1; @@ -510,7 +504,6 @@ void ValidateRendererListDesc(in RendererListDesc desc) void ValidateComputeBufferDesc(in ComputeBufferDesc desc) { #if DEVELOPMENT_BUILD || UNITY_EDITOR - // TODO RENDERGRAPH: Check actual condition on stride. if (desc.stride % 4 != 0) { throw new ArgumentException("Invalid Compute Buffer creation descriptor: Compute Buffer stride must be at least 4."); @@ -562,35 +555,35 @@ internal void Cleanup() m_ComputeBufferPool.Cleanup(); } - void LogTextureCreation(RTHandle rt, bool cleared) + void LogTextureCreation(TextureResource rt) { if (m_RenderGraphDebug.logFrameInformation) { - m_Logger.LogLine($"Created Texture: {rt.rt.name} (Cleared: {cleared})"); + m_Logger.LogLine($"Created Texture: {rt.desc.name} (Cleared: {rt.desc.clearBuffer || m_RenderGraphDebug.clearRenderTargetsAtCreation})"); } } - void LogTextureRelease(RTHandle rt) + void LogTextureRelease(TextureResource rt) { if (m_RenderGraphDebug.logFrameInformation) { - m_Logger.LogLine($"Released Texture: {rt.rt.name}"); + m_Logger.LogLine($"Released Texture: {rt.desc.name}"); } } - void LogComputeBufferCreation(ComputeBuffer buffer) + void LogComputeBufferCreation(ComputeBufferResource buffer) { if (m_RenderGraphDebug.logFrameInformation) { - m_Logger.LogLine($"Created ComputeBuffer: {buffer}"); + m_Logger.LogLine($"Created ComputeBuffer: {buffer.desc.name}"); } } - void LogComputeBufferRelease(ComputeBuffer buffer) + void LogComputeBufferRelease(ComputeBufferResource buffer) { if (m_RenderGraphDebug.logFrameInformation) { - m_Logger.LogLine($"Released ComputeBuffer: {buffer}"); + m_Logger.LogLine($"Released ComputeBuffer: {buffer.desc.name}"); } } diff --git a/com.unity.render-pipelines.core/Tests/Editor/RenderGraphTests.cs b/com.unity.render-pipelines.core/Tests/Editor/RenderGraphTests.cs index ab01a3f3542..764d43156ca 100644 --- a/com.unity.render-pipelines.core/Tests/Editor/RenderGraphTests.cs +++ b/com.unity.render-pipelines.core/Tests/Editor/RenderGraphTests.cs @@ -20,9 +20,9 @@ class RenderGraphTestPassData public ComputeBufferHandle[] buffers = new ComputeBufferHandle[8]; } - // Final output (back buffer) of render graph needs to be explicitly imported in order to know that the chain of dependency should not be pruned. + // Final output (back buffer) of render graph needs to be explicitly imported in order to know that the chain of dependency should not be culled. [Test] - public void WriteToBackBufferNotPruned() + public void WriteToBackBufferNotCulled() { using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { @@ -34,12 +34,12 @@ public void WriteToBackBufferNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(1, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); } - // If no back buffer is ever written to, everything should be pruned. + // If no back buffer is ever written to, everything should be culled. [Test] - public void NoWriteToBackBufferPruned() + public void NoWriteToBackBufferCulled() { using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { @@ -51,12 +51,12 @@ public void NoWriteToBackBufferPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(1, compiledPasses.size); - Assert.AreEqual(true, compiledPasses[0].pruned); + Assert.AreEqual(true, compiledPasses[0].culled); } - // Writing to imported resource is considered as a side effect so passes should not be pruned. + // Writing to imported resource is considered as a side effect so passes should not be culled. [Test] - public void WriteToImportedTextureNotPruned() + public void WriteToImportedTextureNotCulled() { using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { @@ -68,11 +68,11 @@ public void WriteToImportedTextureNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(1, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); } [Test] - public void WriteToImportedComputeBufferNotPruned() + public void WriteToImportedComputeBufferNotCulled() { using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { @@ -84,15 +84,15 @@ public void WriteToImportedComputeBufferNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(1, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); } - // TODO RENDERGRAPH : Temporarily removed. See RenderGraph.cs pass pruning - //// A pass not writing to anything is useless and should be pruned. + // TODO RENDERGRAPH : Temporarily removed. See RenderGraph.cs pass culling + //// A pass not writing to anything is useless and should be culled. //[Test] - //public void PrunePassWithNoProduct() + //public void CullPassWithNoProduct() //{ - // // This pass reads an input but does not produce anything (no writes) so it should be pruned. + // // This pass reads an input but does not produce anything (no writes) so it should be culled. // TextureHandle texture = m_RenderGraph.CreateTexture(new TextureDesc(Vector2.one) { colorFormat = GraphicsFormat.R8G8B8A8_UNorm }); // using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) // { @@ -104,15 +104,15 @@ public void WriteToImportedComputeBufferNotPruned() // var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); // Assert.AreEqual(1, compiledPasses.size); - // Assert.AreEqual(true, compiledPasses[0].pruned); + // Assert.AreEqual(true, compiledPasses[0].culled); //} - //// A series of passes with no final product should be pruned. + //// A series of passes with no final product should be culled. //[Test] - //public void PrunePassWithTextureDependenciesAndNoProduct() + //public void CullPassWithTextureDependenciesAndNoProduct() //{ // // First pass produces an output that is read by second pass. - // // Second pass does not produce anything so it should be pruned as well as all its unused dependencies. + // // Second pass does not produce anything so it should be culled as well as all its unused dependencies. // TextureHandle texture; // using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) // { @@ -130,18 +130,18 @@ public void WriteToImportedComputeBufferNotPruned() // var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); // Assert.AreEqual(2, compiledPasses.size); - // Assert.AreEqual(true, compiledPasses[0].pruned); - // Assert.AreEqual(true, compiledPasses[1].pruned); + // Assert.AreEqual(true, compiledPasses[0].culled); + // Assert.AreEqual(true, compiledPasses[1].culled); //} - //// A series of passes with no final product should be pruned. - //// Here first pass is not pruned because Compute Buffer is imported. + //// A series of passes with no final product should be culled. + //// Here first pass is not culled because Compute Buffer is imported. //// TODO: Add test where compute buffer is created instead of imported once the API exists. //[Test] - //public void PrunePassWithBufferDependenciesAndNoProduct() + //public void CullPassWithBufferDependenciesAndNoProduct() //{ // // First pass produces an output that is read by second pass. - // // Second pass does not produce anything so it should be pruned as well as all its unused dependencies. + // // Second pass does not produce anything so it should be culled as well as all its unused dependencies. // ComputeBufferHandle computeBuffer; // using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) // { @@ -159,14 +159,14 @@ public void WriteToImportedComputeBufferNotPruned() // var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); // Assert.AreEqual(2, compiledPasses.size); - // Assert.AreEqual(false, compiledPasses[0].pruned); // Not pruned because writing to an imported resource is a side effect. - // Assert.AreEqual(true, compiledPasses[1].pruned); + // Assert.AreEqual(false, compiledPasses[0].culled); // Not culled because writing to an imported resource is a side effect. + // Assert.AreEqual(true, compiledPasses[1].culled); //} [Test] - public void PassWriteResourcePartialNotReadAfterNotPruned() + public void PassWriteResourcePartialNotReadAfterNotCulled() { - // If a pass writes to a resource that is not unused globally by the graph but not read ever AFTER the pass then the pass should be pruned unless it writes to another used resource. + // If a pass writes to a resource that is not unused globally by the graph but not read ever AFTER the pass then the pass should be culled unless it writes to another used resource. TextureHandle texture0; using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { @@ -182,9 +182,9 @@ public void PassWriteResourcePartialNotReadAfterNotPruned() builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } - // This pass writes to texture0 which is used so will not be pruned out. - // Since texture0 is never read after this pass, we should decrement refCount for this pass and potentially prune it. - // However, it also writes to texture1 which is used in the last pass so we musn't prune it. + // This pass writes to texture0 which is used so will not be culled out. + // Since texture0 is never read after this pass, we should decrement refCount for this pass and potentially cull it. + // However, it also writes to texture1 which is used in the last pass so we mustn't cull it. using (var builder = m_RenderGraph.AddRenderPass("TestPass2", out var passData)) { builder.WriteTexture(texture0); @@ -195,7 +195,7 @@ public void PassWriteResourcePartialNotReadAfterNotPruned() using (var builder = m_RenderGraph.AddRenderPass("TestPass3", out var passData)) { builder.ReadTexture(texture1); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -203,19 +203,19 @@ public void PassWriteResourcePartialNotReadAfterNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(4, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); - Assert.AreEqual(false, compiledPasses[1].pruned); - Assert.AreEqual(false, compiledPasses[2].pruned); - Assert.AreEqual(false, compiledPasses[3].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); + Assert.AreEqual(false, compiledPasses[1].culled); + Assert.AreEqual(false, compiledPasses[2].culled); + Assert.AreEqual(false, compiledPasses[3].culled); } [Test] - public void PassDisallowPruningNotPruned() + public void PassDisallowCullingNotCulled() { - // This pass does nothing so should be pruned but we explicitly disallow it. + // This pass does nothing so should be culled but we explicitly disallow it. using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { - builder.AllowPassPruning(false); + builder.AllowPassCulling(false); builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -223,12 +223,12 @@ public void PassDisallowPruningNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(1, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); } - // First pass produces two textures and second pass only read one of the two. Pass one should not be pruned. + // First pass produces two textures and second pass only read one of the two. Pass one should not be culled. [Test] - public void PartialUnusedProductNotPruned() + public void PartialUnusedProductNotCulled() { TextureHandle texture; using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) @@ -249,8 +249,8 @@ public void PartialUnusedProductNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(2, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[0].pruned); - Assert.AreEqual(false, compiledPasses[1].pruned); + Assert.AreEqual(false, compiledPasses[0].culled); + Assert.AreEqual(false, compiledPasses[1].culled); } // Simple cycle of create/release of a texture across multiple passes. @@ -276,7 +276,7 @@ public void SimpleCreateReleaseTexture() using (var builder = m_RenderGraph.AddRenderPass("TestPass2", out var passData)) { builder.ReadTexture(texture); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -303,7 +303,7 @@ public void UseTransientOutsidePassRaiseException() using (var builder = m_RenderGraph.AddRenderPass("TestPass1", out var passData)) { builder.ReadTexture(texture); // This is illegal (transient resource was created in previous pass) - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -318,7 +318,7 @@ public void TransientCreateReleaseInSamePass() using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) { texture = builder.CreateTransientTexture(new TextureDesc(Vector2.one) { colorFormat = GraphicsFormat.R8G8B8A8_UNorm }); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -387,7 +387,7 @@ public void AsyncPassReleaseTextureOnGraphicsPipe() { builder.ReadTexture(texture1); builder.ReadTexture(texture3); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.EnableAsyncCompute(false); builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -401,7 +401,7 @@ public void AsyncPassReleaseTextureOnGraphicsPipe() } [Test] - public void TransientResourceNotPruned() + public void TransientResourceNotCulled() { TextureHandle texture0; using (var builder = m_RenderGraph.AddRenderPass("TestPass0", out var passData)) @@ -421,7 +421,7 @@ public void TransientResourceNotPruned() using (var builder = m_RenderGraph.AddRenderPass("TestPass5", out var passData)) { builder.ReadTexture(texture0); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.EnableAsyncCompute(false); builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -430,7 +430,7 @@ public void TransientResourceNotPruned() var compiledPasses = m_RenderGraph.GetCompiledPassInfos(); Assert.AreEqual(3, compiledPasses.size); - Assert.AreEqual(false, compiledPasses[1].pruned); + Assert.AreEqual(false, compiledPasses[1].culled); } [Test] @@ -453,7 +453,7 @@ public void AsyncPassWriteWaitOnGraphcisPipe() using (var builder = m_RenderGraph.AddRenderPass("TestPass2", out var passData)) { builder.ReadTexture(texture0); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -487,7 +487,7 @@ public void AsyncPassReadWaitOnGraphcisPipe() using (var builder = m_RenderGraph.AddRenderPass("TestPass2", out var passData)) { builder.ReadTexture(texture1); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -513,7 +513,7 @@ public void GraphicsPassWriteWaitOnAsyncPipe() using (var builder = m_RenderGraph.AddRenderPass("TestPass1", out var passData)) { builder.WriteTexture(texture0); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } @@ -539,7 +539,7 @@ public void GraphicsPassReadWaitOnAsyncPipe() using (var builder = m_RenderGraph.AddRenderPass("TestPass1", out var passData)) { builder.ReadTexture(texture0); - builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be pruned + builder.WriteTexture(m_RenderGraph.ImportBackbuffer(0)); // Needed for the passes to not be culled builder.SetRenderFunc((RenderGraphTestPassData data, RenderGraphContext context) => { }); } diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3dd36c9e794..573a53f0b78 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -732,6 +732,13 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed custom pass re-ordering issues. - Improved robustness of normal mapping when scale is 0, and mapping is extreme (normals in or below the tangent plane). - Fixed XR Display providers not getting zNear and zFar plane distances passed to them when in HDRP. +- Fixed rendering breaking when disabling tonemapping in the frame settings. +- Fixed issue with serialization of exposure modes in volume profiles not being consistent between HDRP versions (case 1261385). +- Fixed issue with duplicate names in newly created sub-layers in the graphics compositor (case 1263093). +- Remove MSAA debug mode when renderpipeline asset has no MSAA +- Fixed some post processing using motion vectors when they are disabled +- Fixed the multiplier of the environement lights being overriden with a wrong value for ray tracing (1260311). +- Fixed a series of exceptions happening when trying to load an asset during wizard execution (1262171). ### Changed - Improve MIP selection for decals on Transparents @@ -894,6 +901,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Shutter speed can now be changed by dragging the mouse over the UI label (case 1245007). - Remove the 'Point Cube Size' for cookie, use the Cubemap size directly. - VFXTarget with Unlit now allows EmissiveColor output to be consistent with HDRP unlit. +- Only building the RTAS if there is an effect that will require it (1262217). +- Fixed the first ray tracing frame not having the light cluster being set up properly (1260311). +- Render graph pre-setup for ray traced ambient occlusion. ## [7.1.1] - 2019-09-05 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md index 312dcabc21f..4363782dd08 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md @@ -183,11 +183,12 @@ The PCF algorithm applies a fixed size blur. PCSS applies a different blur size Use these settings to enable or disable settings relating to lighting in HDRP. -| **Property** | **Description** | -| --------------------------------- | ------------------------------------------------------------ | -| **Maximum Directional On Screen** | The maximum number of Directional Lights HDRP can manage on screen at once. | -| **Maximum Punctual On Screen** | The maximum number of [Point and Spot Lights](Glossary.html#PunctualLight) HDRP can manage on screen at once. | -| **Maximum Area On Screen** | The maximum number of area Lights HDRP can manage on screen at once. | +| **Property** | **Description** | +| ----------------------------------------- | ------------------------------------------------------------ | +| **Maximum Directional On Screen** | The maximum number of Directional Lights HDRP can manage on screen at once. | +| **Maximum Punctual On Screen** | The maximum number of [Point and Spot Lights](Glossary.html#PunctualLight) HDRP can manage on screen at once. | +| **Maximum Area On Screen** | The maximum number of area Lights HDRP can manage on screen at once. | +| **Maximum Lights Per Cell (Ray Tracing)** | The maximum number of Lights that an individual grid cell in a [Light Cluster](Ray-Tracing-Light-Cluster.md) can store. | ## Material diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Light-Cluster.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Light-Cluster.md index dcccec16d01..8d66d99172f 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Light-Cluster.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Light-Cluster.md @@ -16,8 +16,7 @@ For ray tracing, HDRP builds an axis-aligned grid which, in each cell, stores th ## Properties -| **Property** | **Description** | -| --------------------------- | ------------------------------------------------------------ | -| **Maximum Lights Per Cell** | Sets the maximum number of Lights that an individual cell can store. | -| **Camera Cluster Range** | Sets the range of the cluster grid. The cluster grid itself has its center on the Camera's position and extends in all directions because an intersection may occur outside of the Camera frustum. | +| **Property** | **Description** | +| ------------------------ | ------------------------------------------------------------ | +| **Camera Cluster Range** | The range of the cluster grid. The cluster grid itself has its center on the Camera's position and extends in all directions because an intersection may occur outside of the Camera frustum. | diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md index 32e7a1051c5..793ae91ac3d 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md @@ -22,7 +22,7 @@ From Unity 2020.2, if you create a new [HDRP Asset](HDRP-Asset.md), the **MSAA W From Unity 2020.2, decals no longer require a full Depth Prepass. HDRP only renders Materials with **Receive Decals** enabled during the Depth Prepass. Unless other options force it. -From Unity 2020.2, you can use the Decal Layers system which makes use of the **Rendering Layer Mask** property from a Mesh Renderer and Terrain. The default value of this property prior to 2020.2 does not include any Decal Layer flags. This means that when you enable this feature, no Meshes receive decals until you configure them correctly. A script **Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Enable Decal Layer Default on all loaded Mesh Renderer and Terrain** is provided to convert the already created Meshes, as well a version to apply only on a selection. Newly created Mesh Renderer or Terrain have the have **Decal Layer Default** enable by default. +From Unity 2020.2, you can use the Decal Layers system which makes use of the **Rendering Layer Mask** property from a Mesh Renderer and Terrain. The default value of this property prior to 2020.2 does not include any Decal Layer flags. This means that when you enable this feature, no Meshes receive decals until you configure them correctly. A script **Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Add Decal Layer Default to Loaded Mesh Renderers and Terrains** is provided to convert the already created Meshes, as well a version to apply only on a selection. Newly created Mesh Renderer or Terrain have the have **Decal Layer Default** enable by default. Warning: 2020.2.0b1 does not include the modification for the default value of Rendering Layer Mask. If you use this version of Unity and create a new Mesh Renderer or Terrain, they do have the correct flag. @@ -42,6 +42,8 @@ From Unity 2020.2, the texture format of the color buffer in the HDRP Asset also From Unity 2020.2, the light layer properties have move from the HDRP settings to the HDRP Default setting Panel. +For project migrating from old 9.x.x-preview package. There is a change in the order of enum of Exposure that may shift the current exposure mode to another one in Exposure Volume. This will need to be corrected manually by reselecting the correct Exposure mode. + ## Shadows From Unity 2020.2, it is no longer necessary to change the [HDRP Config package](HDRP-Config-Package.md) to set the [shadow filtering quality](HDRP-Asset.md#FilteringQualities) for deferred rendering. Instead, you can now change the filtering quality directly on the [HDRP Asset](HDRP-Asset.md#FilteringQualities). Note if you previously had not set the shadow filtering quality to **Medium** on the HDRP Asset, the automatic project upgrade process changes the shadow quality which means you may need to manually change it back to its original value. diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/AmbientOcclusionEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/AmbientOcclusionEditor.cs index 457381aad60..0b4343d762e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/AmbientOcclusionEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/AmbientOcclusionEditor.cs @@ -109,7 +109,7 @@ public override void OnInspectorGUI() PropertyField(m_StepCount, EditorGUIUtility.TrTextContent("Step Count", "Number of steps to take along one signed direction during horizon search (this is the number of steps in positive and negative direction).")); GUI.enabled = true; - PropertyField(m_TemporalAccumulation, EditorGUIUtility.TrTextContent("Temporal Accumulation", "Whether the results are accumulated over time or not. This can get better results cheaper, but it can lead to temporal artifacts.")); + PropertyField(m_TemporalAccumulation, EditorGUIUtility.TrTextContent("Temporal Accumulation", "Whether the results are accumulated over time or not. This can get better results cheaper, but it can lead to temporal artifacts. Requires Motion Vectors to be enabled.")); EditorGUI.indentLevel++; if(!m_TemporalAccumulation.value.boolValue) { diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/MaterialHeaderScope.cs b/com.unity.render-pipelines.high-definition/Editor/Material/MaterialHeaderScope.cs index d30f3f851a8..edb6b3fd2b8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/MaterialHeaderScope.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/MaterialHeaderScope.cs @@ -26,6 +26,15 @@ internal struct MaterialHeaderScope : IDisposable int oldIndentLevel; #endif + /// + /// Creates a material header scope to display the foldout in the material UI. + /// + /// Title of the header. + /// Bit index which specifies the state of the header (whether it is open or collapsed) inside Editor Prefs. + /// The current material editor. + /// Set this to true to make the block include space at the bottom of its UI. Set to false to not include any space. + /// Specify a color to display a dot, like in the layered UI. + /// Set to true to make this into a sub-header. This affects the style of the header. Set to false to make this use the standard style. public MaterialHeaderScope(string title, uint bitExpanded, MaterialEditor materialEditor, bool spaceAtEnd = true, Color colorDot = default(Color), bool subHeader = false) { bool beforeExpended = materialEditor.GetExpandedAreas(bitExpanded); @@ -66,6 +75,7 @@ internal struct MaterialHeaderScope : IDisposable ++EditorGUI.indentLevel; } + /// Disposes of the material scope header and cleans up any resources it used. void IDisposable.Dispose() { if (expanded) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs index fa9564aad1c..166412d8318 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs @@ -17,14 +17,25 @@ namespace UnityEditor.Rendering.HighDefinition // of the material you must use Material UI Blocks, examples of doing so can be found in the classes UnlitGUI, // LitGUI or LayeredLitGUI. - abstract class HDShaderGUI : ShaderGUI + /// + /// Use this class to build your custom Shader GUI for HDRP. + /// You can use a class that inherits from HDShaderGUI in the Shader Graph Custom EditorGUI field. + /// + internal abstract class HDShaderGUI : ShaderGUI { - protected bool m_FirstFrame = true; + internal protected bool m_FirstFrame = true; // The following set of functions are call by the ShaderGraph // It will allow to display our common parameters + setup keyword correctly for them + protected abstract void SetupMaterialKeywordsAndPassInternal(Material material); + /// + /// Unity calls this function when you assign a new shader to the material. + /// + /// The current material. + /// The shader the material currently uses. + /// The new shader to assign to the material. public override void AssignNewShaderToMaterial(Material material, Shader oldShader, Shader newShader) { base.AssignNewShaderToMaterial(material, oldShader, newShader); @@ -32,6 +43,11 @@ public override void AssignNewShaderToMaterial(Material material, Shader oldShad SetupMaterialKeywordsAndPassInternal(material); } + /// + /// Sets up the keywords and passes for the material. You must call this function after you change a property on a material to ensure it's validity. + /// + /// GUI.changed is the usual value for this parameter. If this value is false, the function just exits. + /// The materials to perform the setup on. protected void ApplyKeywordsAndPassesIfNeeded(bool changed, Material[] materials) { // !!! HACK !!! @@ -49,6 +65,9 @@ protected void ApplyKeywordsAndPassesIfNeeded(bool changed, Material[] materials } } + /// + /// Unity calls this function when it displays the GUI. This method is sealed so you cannot override it. To implement your custom GUI, use OnMaterialGUI instead. + /// public sealed override void OnGUI(MaterialEditor materialEditor, MaterialProperty[] props) { if (!(RenderPipelineManager.currentPipeline is HDRenderPipeline)) @@ -61,12 +80,21 @@ public sealed override void OnGUI(MaterialEditor materialEditor, MaterialPropert } } + /// + /// Implement your custom GUI in this function. To display a UI similar to HDRP shaders, use a MaterialUIBlock. + /// + /// The current material editor. + /// The list of properties the material has. protected abstract void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props); readonly static string[] floatPropertiesToSynchronize = { kUseSplitLighting }; + /// + /// Synchronize a set of properties that Unity requires for Shader Graph materials to work correctly. This function is for Shader Graph only. + /// + /// The target material. protected static void SynchronizeShaderGraphProperties(Material material) { var defaultProperties = new Material(material.shader); diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LightingShaderGraphGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LightingShaderGraphGUI.cs index ea185d8bbaf..96a23f8c2ec 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LightingShaderGraphGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LightingShaderGraphGUI.cs @@ -9,7 +9,7 @@ namespace UnityEditor.Rendering.HighDefinition /// /// Common GUI for Lit ShaderGraphs /// - class LightingShaderGraphGUI : HDShaderGUI + internal class LightingShaderGraphGUI : HDShaderGUI { // For surface option shader graph we only want all unlit features but alpha clip and back then front rendering const SurfaceOptionUIBlock.Features surfaceOptionFeatures = SurfaceOptionUIBlock.Features.Lit @@ -22,6 +22,11 @@ class LightingShaderGraphGUI : HDShaderGUI new AdvancedOptionsUIBlock(MaterialUIBlock.Expandable.Advance, ~AdvancedOptionsUIBlock.Features.SpecularOcclusion) }; + /// + /// Implement your custom GUI in this function. To display a UI similar to HDRP shaders, use a MaterialUIBlock. + /// + /// The current material editor. + /// The list of properties the material has. protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props) { using (var changed = new EditorGUI.ChangeCheckScope()) @@ -31,6 +36,10 @@ protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialPro } } + /// + /// Sets up the keywords and passes for a Lit Shader Graph material. + /// + /// The target material. public static void SetupMaterialKeywordsAndPass(Material material) { SynchronizeShaderGraphProperties(material); diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlock.cs index 54469704fc1..b4b0b60656f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlock.cs @@ -6,16 +6,23 @@ namespace UnityEditor.Rendering.HighDefinition { + /// + /// Base implementation of a material GUI block to be disabled in the material inspector. + /// abstract class MaterialUIBlock { + /// The current material editor. protected MaterialEditor materialEditor; + /// The list of selected materials to edit. protected Material[] materials; + /// The list of available properties in the selected materials. protected MaterialProperty[] properties; + /// Parent of the UI block. protected MaterialUIBlockList parent; [Flags] - public enum Expandable : uint + internal enum Expandable : uint { // Standard Base = 1<<0, @@ -52,7 +59,7 @@ public enum Expandable : uint LayeringOption3 = 1 << 30 } - public void Initialize(MaterialEditor materialEditor, MaterialProperty[] properties, MaterialUIBlockList parent) + internal void Initialize(MaterialEditor materialEditor, MaterialProperty[] properties, MaterialUIBlockList parent) { this.materialEditor = materialEditor; this.parent = parent; @@ -62,12 +69,18 @@ public void Initialize(MaterialEditor materialEditor, MaterialProperty[] materialEditor.InitExpandableState(); } - public void UpdateMaterialProperties(MaterialProperty[] properties) + internal void UpdateMaterialProperties(MaterialProperty[] properties) { this.properties = properties; LoadMaterialProperties(); } + /// + /// Find a material property in the list of available properties. + /// + /// Name of the property. + /// Specifies whether the property is mandatory for your Inspector. + /// Returns the material property if it exists. Returns null otherwise. protected MaterialProperty FindProperty(string propertyName, bool isMandatory = false) { // ShaderGUI.FindProperty is a protected member of ShaderGUI so we can't call it here: @@ -83,6 +96,13 @@ protected MaterialProperty FindProperty(string propertyName, bool isMandatory = return null; } + /// + /// Find a material property with layering option + /// + /// Name of the property. + /// Number of layers of the shader. + /// Specifies whether the property is mandatory for your Inspector. + /// Returns the material property if it exists. Returns null otherwise. protected MaterialProperty[] FindPropertyLayered(string propertyName, int layerCount, bool isMandatory = false) { MaterialProperty[] properties = new MaterialProperty[layerCount]; @@ -99,7 +119,14 @@ protected MaterialProperty[] FindPropertyLayered(string propertyName, int layerC return properties; } + /// + /// Use this function to load the material properties you need in your block. + /// public abstract void LoadMaterialProperties(); + + /// + /// Renders the properties in your block. + /// public abstract void OnGUI(); } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitGUI.cs index b416dccea53..c8d2b76f70f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitGUI.cs @@ -10,7 +10,7 @@ namespace UnityEditor.Rendering.HighDefinition /// /// GUI for HDRP Unlit shader graphs /// - class HDUnlitGUI : HDShaderGUI + internal class HDUnlitGUI : HDShaderGUI { const SurfaceOptionUIBlock.Features surfaceOptionFeatures = SurfaceOptionUIBlock.Features.Unlit; @@ -21,6 +21,11 @@ class HDUnlitGUI : HDShaderGUI new AdvancedOptionsUIBlock(MaterialUIBlock.Expandable.Advance, ~AdvancedOptionsUIBlock.Features.SpecularOcclusion) }; + /// + /// Implement your custom GUI in this function. To display a UI similar to HDRP shaders, use a MaterialUIBlock. + /// + /// The current material editor. + /// The list of properties the material has. protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props) { using (var changed = new EditorGUI.ChangeCheckScope()) @@ -30,6 +35,10 @@ protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialPro } } + /// + /// Sets up the keywords and passes for an Unlit Shader Graph material. + /// + /// The target material. public static void SetupMaterialKeywordsAndPass(Material material) { SynchronizeShaderGraphProperties(material); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs index e0a2b2a8b57..2276fb54cd0 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs @@ -103,7 +103,7 @@ internal static void UpgradeMaterials() MaterialReimporter.ReimportAllMaterials(); } - [MenuItem("Edit/Render Pipeline/HD Render Pipeline/Upgrade from Previous Version /Enable Decal Layer Default on all loaded Mesh Renderer and Terrain")] + [MenuItem("Edit/Render Pipeline/HD Render Pipeline/Upgrade from Previous Version /Add Decal Layer Default to Loaded Mesh Renderers and Terrains")] internal static void UpgradeDefaultRenderingLayerMask() { var meshRenderers = Resources.FindObjectsOfTypeAll(); @@ -121,7 +121,7 @@ internal static void UpgradeDefaultRenderingLayerMask() } } - [MenuItem("Edit/Render Pipeline/HD Render Pipeline/Upgrade from Previous Version /Enable Decal Layer Default on all selected Object")] + [MenuItem("Edit/Render Pipeline/HD Render Pipeline/Upgrade from Previous Version /Add Decal Layer Default to Selected Mesh Renderers and Terrains")] internal static void UpgradeDefaultRenderingLayerMaskForSelection() { var selection = UnityEditor.Selection.objects; diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs index fbe26589dc7..4591cd5cf67 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs @@ -170,6 +170,7 @@ public class GeneralSection public static readonly GUIContent maxAreaContent = EditorGUIUtility.TrTextContent("Maximum Area on Screen", "Sets the maximum number of area Lights HDRP can handle on screen at once."); public static readonly GUIContent maxEnvContent = EditorGUIUtility.TrTextContent("Maximum Reflection Probes on Screen", "Sets the maximum number of Planar and Reflection Probes HDRP can handle on screen at once."); public static readonly GUIContent maxDecalContent = EditorGUIUtility.TrTextContent("Maximum Clustered Decals on Screen", "Sets the maximum number of decals that can affect transparent GameObjects on screen."); + public static readonly GUIContent maxLightPerCellContent = EditorGUIUtility.TrTextContent("Maximum Lights per Cell (Ray Tracing)", "Sets the maximum number of lights HDRP can handle in each cell of the ray tracing light cluster."); public static readonly GUIContent resolutionContent = EditorGUIUtility.TrTextContent("Resolution", "Specifies the resolution of the shadow Atlas."); public static readonly GUIContent cachedShadowAtlasResolution = EditorGUIUtility.TrTextContent("Cached Shadow Atlas Resolution", "Specifies the resolution of the shadow Atlas that contains the cached shadow maps."); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs index b9c0361d084..3fee70ab462 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -473,6 +473,11 @@ static void Drawer_SectionLightLoop(SerializedHDRenderPipelineAsset serialized, EditorGUILayout.DelayedIntField(serialized.renderPipelineSettings.lightLoopSettings.maxAreaLightsOnScreen, Styles.maxAreaContent); if (EditorGUI.EndChangeCheck()) serialized.renderPipelineSettings.lightLoopSettings.maxAreaLightsOnScreen.intValue = Mathf.Clamp(serialized.renderPipelineSettings.lightLoopSettings.maxAreaLightsOnScreen.intValue, 1, HDRenderPipeline.k_MaxAreaLightsOnScreen); + + EditorGUI.BeginChangeCheck(); + EditorGUILayout.DelayedIntField(serialized.renderPipelineSettings.lightLoopSettings.maxLightsPerClusterCell, Styles.maxLightPerCellContent); + if (EditorGUI.EndChangeCheck()) + serialized.renderPipelineSettings.lightLoopSettings.maxLightsPerClusterCell.intValue = Mathf.Clamp(serialized.renderPipelineSettings.lightLoopSettings.maxLightsPerClusterCell.intValue, 1, HDRenderPipeline.k_MaxLightsPerClusterCell); } static void Drawer_SectionDynamicResolutionSettings(SerializedHDRenderPipelineAsset serialized, Editor owner) diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs index 28ac5734030..32694a101e0 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs @@ -27,6 +27,7 @@ class SerializedGlobalLightLoopSettings public SerializedProperty maxEnvLightsOnScreen; public SerializedProperty maxDecalsOnScreen; public SerializedProperty maxPlanarReflectionOnScreen; + public SerializedProperty maxLightsPerClusterCell; public SerializedGlobalLightLoopSettings(SerializedProperty root) { @@ -56,6 +57,7 @@ public SerializedGlobalLightLoopSettings(SerializedProperty root) maxEnvLightsOnScreen = root.Find((GlobalLightLoopSettings s) => s.maxEnvLightsOnScreen); maxDecalsOnScreen = root.Find((GlobalLightLoopSettings s) => s.maxDecalsOnScreen); maxPlanarReflectionOnScreen = root.Find((GlobalLightLoopSettings s) => s.maxPlanarReflectionOnScreen); + maxLightsPerClusterCell = root.Find((GlobalLightLoopSettings s) => s.maxLightsPerClusterCell); } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/Outdoors/Sky and Fog Settings Profile.asset b/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/Outdoors/Sky and Fog Settings Profile.asset index 159acab728e..734282b2588 100644 --- a/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/Outdoors/Sky and Fog Settings Profile.asset +++ b/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/Outdoors/Sky and Fog Settings Profile.asset @@ -332,7 +332,7 @@ MonoBehaviour: m_AdvancedMode: 0 mode: m_OverrideState: 1 - m_Value: 2 + m_Value: 4 meteringMode: m_OverrideState: 0 m_Value: 2 diff --git a/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/OutdoorsDXR/Sky and Fog Settings Profile.asset b/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/OutdoorsDXR/Sky and Fog Settings Profile.asset index 159acab728e..734282b2588 100644 --- a/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/OutdoorsDXR/Sky and Fog Settings Profile.asset +++ b/com.unity.render-pipelines.high-definition/Editor/SceneTemplates/OutdoorsDXR/Sky and Fog Settings Profile.asset @@ -332,7 +332,7 @@ MonoBehaviour: m_AdvancedMode: 0 mode: m_OverrideState: 1 - m_Value: 2 + m_Value: 4 meteringMode: m_OverrideState: 0 m_Value: 2 diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs index 67236777add..9d8c5069350 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs @@ -217,9 +217,14 @@ class QueuedLauncher Queue m_Queue = new Queue(); bool m_Running = false; bool m_StopRequested = false; + bool m_OnPause = false; public void Stop() => m_StopRequested = true; + // Function to pause/unpause the action execution + public void Pause() => m_OnPause = true; + public void Unpause() => m_OnPause = false; + public int remainingFixes => m_Queue.Count; void Start() @@ -242,7 +247,12 @@ void Run() m_StopRequested = false; } if (m_Queue.Count > 0) - m_Queue.Dequeue()?.Invoke(); + { + if (!m_OnPause) + { + m_Queue.Dequeue()?.Invoke(); + } + } else End(); } diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.UIElement.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.UIElement.cs index a03dbcd092c..6b369a51d66 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.UIElement.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.UIElement.cs @@ -32,6 +32,9 @@ static class ObjectSelector public static bool opened => Resources.FindObjectsOfTypeAll(typeof(PlayerSettings).Assembly.GetType("UnityEditor.ObjectSelector")).Length > 0; + // Action to be called with the window is closed + static Action s_OnClose; + static ObjectSelector() { Type playerSettingsType = typeof(PlayerSettings); @@ -73,12 +76,22 @@ static ObjectSelector() GetCurrentObject = getCurrentObjectLambda.Compile(); } - public static void Show(UnityEngine.Object obj, Type type, Action onChangedObject) + public static void Show(UnityEngine.Object obj, Type type, Action onChangedObject, Action onClose) { id = GUIUtility.GetControlID("s_ObjectFieldHash".GetHashCode(), FocusType.Keyboard); GUIUtility.keyboardControl = id; ShowObjectSelector(obj, type, onChangedObject); selectorID = id; + ObjectSelector.s_OnClose = onClose; + EditorApplication.update += CheckClose; + } + static void CheckClose() + { + if (!opened) + { + ObjectSelector.s_OnClose?.Invoke(); + EditorApplication.update -= CheckClose; + } } public static void CheckAssignationEvent(Action assignator) @@ -132,8 +145,12 @@ void CreateOrLoad(Action onCancel, Action onObjectChanged) onCancel?.Invoke(); break; case 2: //Load - ObjectSelector.Show(target, typeof(T), o => onObjectChanged?.Invoke((T)o)); - break; + { + m_Fixer.Pause(); + ObjectSelector.Show(target, typeof(T), o => onObjectChanged?.Invoke((T)o), m_Fixer.Unpause); + break; + } + default: throw new ArgumentException("Unrecognized option"); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs index 37dce449b09..156d43962e4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs @@ -541,9 +541,62 @@ public void AddInputFilterAtLayer(CompositionFilter filter, int index) m_InputLayers[index].AddInputFilter(filter); } + int GetBaseLayerForSubLayerAtIndex(int index) + { + int baseIndex = 0; + index = (index > m_InputLayers.Count - 1) ? m_InputLayers.Count - 1 : index; + for (int i = index; i >= 0; --i) + { + if (m_InputLayers[i].outputTarget == CompositorLayer.OutputTarget.CompositorLayer) + { + baseIndex = i; + break; + } + } + return baseIndex; + } + + static string GetSubLayerName(int count) + { + if (count == 0) + { + return "New SubLayer"; + } + else + { + return $"New SubLayer ({count + 1})"; + } + } + + public string GetNewSubLayerName(int index, CompositorLayer.LayerType type = CompositorLayer.LayerType.Camera) + { + // First find the base layer + int baseIndex = GetBaseLayerForSubLayerAtIndex(index - 1); + + // Get a candidate name and check if it already exists + int count = 0; + string candidateName = GetSubLayerName(count); + int i = baseIndex + 1; + while (i < m_InputLayers.Count && m_InputLayers[i].outputTarget != CompositorLayer.OutputTarget.CompositorLayer) + { + if (m_InputLayers[i].name == candidateName) + { + // If this candidate name exists, get the next one and start again + candidateName = GetSubLayerName(++count); + i = baseIndex + 1; + } + else + { + ++i; + } + } + + return candidateName; + } + public void AddNewLayer(int index, CompositorLayer.LayerType type = CompositorLayer.LayerType.Camera) { - var newLayer = CompositorLayer.CreateStackLayer(type, "New SubLayer"); + var newLayer = CompositorLayer.CreateStackLayer(type, GetNewSubLayerName(index, type)); if (index >= 0 && index < m_InputLayers.Count) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs index 0afc76c338c..0adb5eb2ff5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs @@ -1552,10 +1552,13 @@ void RegisterRenderingDebug() }); } - widgetList.AddRange(new DebugUI.Widget[] + if (HDRenderPipeline.currentAsset?.currentPlatformRenderPipelineSettings.supportMSAA ?? true) { - new DebugUI.EnumField { displayName = "MSAA Samples", getter = () => (int)data.msaaSamples, setter = value => data.msaaSamples = (MSAASamples)value, enumNames = s_MsaaSamplesDebugStrings, enumValues = s_MsaaSamplesDebugValues, getIndex = () => data.msaaSampleDebugModeEnumIndex, setIndex = value => data.msaaSampleDebugModeEnumIndex = value }, - }); + widgetList.AddRange(new DebugUI.Widget[] + { + new DebugUI.EnumField { displayName = "MSAA Samples", getter = () => (int)data.msaaSamples, setter = value => data.msaaSamples = (MSAASamples)value, enumNames = s_MsaaSamplesDebugStrings, enumValues = s_MsaaSamplesDebugValues, getIndex = () => data.msaaSampleDebugModeEnumIndex, setIndex = value => data.msaaSampleDebugModeEnumIndex = value }, + }); + } widgetList.AddRange(new DebugUI.Widget[] { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs index f42f81e0b4f..9382d919e11 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs @@ -214,6 +214,11 @@ internal enum ProbeVolumeAtlasSliceMode IrradianceSH1_1, IrradianceSH10, IrradianceSH11, + IrradianceSH2_2, + IrradianceSH2_1, + IrradianceSH20, + IrradianceSH21, + IrradianceSH22, Validity, OctahedralDepth } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs.hlsl index 7fc211fe0a9..dad80848b91 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/LightingDebug.cs.hlsl @@ -88,8 +88,13 @@ #define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH1_1 (1) #define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH10 (2) #define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH11 (3) -#define PROBEVOLUMEATLASSLICEMODE_VALIDITY (4) -#define PROBEVOLUMEATLASSLICEMODE_OCTAHEDRAL_DEPTH (5) +#define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH2_2 (4) +#define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH2_1 (5) +#define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH20 (6) +#define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH21 (7) +#define PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH22 (8) +#define PROBEVOLUMEATLASSLICEMODE_VALIDITY (9) +#define PROBEVOLUMEATLASSLICEMODE_OCTAHEDRAL_DEPTH (10) #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs index a644fae0248..2324e7d6c3d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs @@ -134,6 +134,7 @@ public struct GlobalLightLoopSettings maxEnvLightsOnScreen = 64, maxDecalsOnScreen = 512, maxPlanarReflectionOnScreen = 16, + maxLightsPerClusterCell = 8, }; /// Cookie atlas resolution. @@ -181,5 +182,7 @@ public struct GlobalLightLoopSettings public int maxDecalsOnScreen; /// Maximum number of planar reflections at the same time on screen. public int maxPlanarReflectionOnScreen; + /// Maximum number of lights per ray tracing light cluster cell. + public int maxLightsPerClusterCell; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs index 6704448b584..4811b3c54e7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs @@ -265,6 +265,7 @@ public partial class HDRenderPipeline internal const int k_MaxDecalsOnScreen = 2048; internal const int k_MaxLightsOnScreen = k_MaxDirectionalLightsOnScreen + k_MaxPunctualLightsOnScreen + k_MaxAreaLightsOnScreen + k_MaxEnvLightsOnScreen; internal const int k_MaxEnvLightsOnScreen = 1024; + internal const int k_MaxLightsPerClusterCell = 24; internal static readonly Vector3 k_BoxCullingExtentThreshold = Vector3.one * 0.01f; #if UNITY_SWITCH @@ -2845,7 +2846,7 @@ internal void ReserveCookieAtlasTexture(HDAdditionalLightData hdLightData, Light m_TextureCaches.lightCookieManager.ReserveSpace(light?.cookie); break; case HDLightType.Point: - if (light.cookie != null && hdLightData.IESPoint != null && light.cookie != hdLightData.IESPoint) + if (light?.cookie != null && hdLightData.IESPoint != null && light.cookie != hdLightData.IESPoint) m_TextureCaches.lightCookieManager.ReserveSpaceCube(light.cookie, hdLightData.IESPoint); else if (light?.cookie != null) m_TextureCaches.lightCookieManager.ReserveSpaceCube(light.cookie); @@ -2854,7 +2855,7 @@ internal void ReserveCookieAtlasTexture(HDAdditionalLightData hdLightData, Light break; case HDLightType.Spot: // Projectors lights must always have a cookie texture. - if (light.cookie != null && hdLightData.IESSpot != null && light.cookie != hdLightData.IESSpot) + if (light?.cookie != null && hdLightData.IESSpot != null && light.cookie != hdLightData.IESSpot) m_TextureCaches.lightCookieManager.ReserveSpace(light.cookie, hdLightData.IESSpot); else if (light?.cookie != null) m_TextureCaches.lightCookieManager.ReserveSpace(light.cookie); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/DebugDisplayProbeVolume.shader b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/DebugDisplayProbeVolume.shader index b518dc774f4..9d215eb944c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/DebugDisplayProbeVolume.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/DebugDisplayProbeVolume.shader @@ -6,7 +6,10 @@ Shader "Hidden/ScriptableRenderPipeline/DebugDisplayProbeVolume" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl" + #if SHADEROPTIONS_PROBE_VOLUMES_EVALUATION_MODE != PROBEVOLUMESEVALUATIONMODES_DISABLED #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeShaderVariables.hlsl" + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl" + #endif #define DEBUG_DISPLAY #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl" @@ -18,12 +21,6 @@ Shader "Hidden/ScriptableRenderPipeline/DebugDisplayProbeVolume" int _ProbeVolumeAtlasSliceMode; // float _RcpGlobalScaleFactor; SamplerState ltc_linear_clamp_sampler; - TEXTURE3D(_AtlasTextureSH); - - #if SHADEROPTIONS_PROBE_VOLUMES_BILATERAL_FILTERING == PROBEVOLUMESBILATERALFILTERINGMODES_OCTAHEDRAL_DEPTH - TEXTURE2D(_AtlasTextureOctahedralDepth); - float4 _AtlasTextureOctahedralDepthScaleBias; - #endif struct Attributes { @@ -76,10 +73,37 @@ Shader "Hidden/ScriptableRenderPipeline/DebugDisplayProbeVolume" // Convert to specific view section of atlas. uvw = uvw * _TextureViewScale + _TextureViewBias; - float4 valueShAr = saturate((SAMPLE_TEXTURE3D_LOD(_AtlasTextureSH, ltc_linear_clamp_sampler, float3(uvw.x, uvw.y, uvw.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) - _ValidRange.x) * _ValidRange.y); - float4 valueShAg = saturate((SAMPLE_TEXTURE3D_LOD(_AtlasTextureSH, ltc_linear_clamp_sampler, float3(uvw.x, uvw.y, uvw.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) - _ValidRange.x) * _ValidRange.y); - float4 valueShAb = saturate((SAMPLE_TEXTURE3D_LOD(_AtlasTextureSH, ltc_linear_clamp_sampler, float3(uvw.x, uvw.y, uvw.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) - _ValidRange.x) * _ValidRange.y); - float valueValidity = saturate((SAMPLE_TEXTURE3D_LOD(_AtlasTextureSH, ltc_linear_clamp_sampler, float3(uvw.x, uvw.y, uvw.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 3), 0).x - _ValidRange.x) * _ValidRange.y); + #if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 + ProbeVolumeSphericalHarmonicsL1 coefficients; + ZERO_INITIALIZE(ProbeVolumeSphericalHarmonicsL1, coefficients); + ProbeVolumeSampleAccumulateSphericalHarmonicsL1(uvw, 1.0f, coefficients); + ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL1(coefficients); + float4 valueShAr = saturate((coefficients.data[0] - _ValidRange.x) * _ValidRange.y); + float4 valueShAg = saturate((coefficients.data[1] - _ValidRange.x) * _ValidRange.y); + float4 valueShAb = saturate((coefficients.data[2] - _ValidRange.x) * _ValidRange.y); + + float4 valueShBr = 0.0f; + float4 valueShBg = 0.0f; + float4 valueShBb = 0.0f; + float4 valueShC = 0.0f; + + #elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 + ProbeVolumeSphericalHarmonicsL2 coefficients; + ZERO_INITIALIZE(ProbeVolumeSphericalHarmonicsL2, coefficients); + ProbeVolumeSampleAccumulateSphericalHarmonicsL2(uvw, 1.0f, coefficients); + ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL2(coefficients); + float4 valueShAr = saturate((coefficients.data[0] - _ValidRange.x) * _ValidRange.y); + float4 valueShAg = saturate((coefficients.data[1] - _ValidRange.x) * _ValidRange.y); + float4 valueShAb = saturate((coefficients.data[2] - _ValidRange.x) * _ValidRange.y); + + float4 valueShBr = saturate((coefficients.data[3] - _ValidRange.x) * _ValidRange.y); + float4 valueShBg = saturate((coefficients.data[4] - _ValidRange.x) * _ValidRange.y); + float4 valueShBb = saturate((coefficients.data[5] - _ValidRange.x) * _ValidRange.y); + float4 valueShC = saturate((coefficients.data[6] - _ValidRange.x) * _ValidRange.y); + + #endif + + float valueValidity = saturate((ProbeVolumeSampleValidity(uvw) - _ValidRange.x) * _ValidRange.y); #if SHADEROPTIONS_PROBE_VOLUMES_BILATERAL_FILTERING == PROBEVOLUMESBILATERALFILTERINGMODES_OCTAHEDRAL_DEPTH float2 valueOctahedralDepthMeanAndVariance = saturate((SAMPLE_TEXTURE2D_LOD(_AtlasTextureOctahedralDepth, ltc_linear_clamp_sampler, input.texcoord * _AtlasTextureOctahedralDepthScaleBias.xy + _AtlasTextureOctahedralDepthScaleBias.zw, 0).xy - _ValidRange.x) * _ValidRange.y); @@ -90,22 +114,47 @@ Shader "Hidden/ScriptableRenderPipeline/DebugDisplayProbeVolume" case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH00: { - return float4(valueShAr.x, valueShAg.x, valueShAb.x, 1); + return float4(valueShAr.w, valueShAg.w, valueShAb.w, 1); } case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH1_1: { - return float4(valueShAr.y, valueShAg.y, valueShAb.y, 1); + return float4(valueShAr.x, valueShAg.x, valueShAb.x, 1); } case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH10: { - return float4(valueShAr.z, valueShAg.z, valueShAb.z, 1); + return float4(valueShAr.y, valueShAg.y, valueShAb.y, 1); } case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH11: { - return float4(valueShAr.w, valueShAg.w, valueShAb.w, 1); + return float4(valueShAr.z, valueShAg.z, valueShAb.z, 1); + } + + case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH2_2: + { + return float4(valueShBr.x, valueShBg.x, valueShBb.x, 1); + } + + case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH2_1: + { + return float4(valueShBr.y, valueShBg.y, valueShBb.y, 1); + } + + case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH20: + { + return float4(valueShBr.z, valueShBg.z, valueShBb.z, 1); + } + + case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH21: + { + return float4(valueShBr.w, valueShBg.w, valueShBb.w, 1); + } + + case PROBEVOLUMEATLASSLICEMODE_IRRADIANCE_SH22: + { + return float4(valueShC.x, valueShC.y, valueShC.z, 1); } case PROBEVOLUMEATLASSLICEMODE_VALIDITY: diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl index 23943dfde83..ff11d05d630 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl @@ -5,6 +5,7 @@ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolume.cs.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeLightLoopDef.hlsl" +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl" // Copied from VolumeVoxelization.compute float ProbeVolumeComputeFadeFactor( @@ -23,28 +24,6 @@ float ProbeVolumeComputeFadeFactor( return dstF * fade; } -float ProbeVolumeSampleValidity(float3 probeVolumeAtlasUVW) -{ -#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 - return SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 3), 0).x; -#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 - return SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 6), 0).w; -#else - return 0.0; -#endif -} - -float ProbeVolumeLoadValidity(int3 probeVolumeAtlasTexelCoord) -{ -#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 - return LOAD_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, int3(probeVolumeAtlasTexelCoord.x, probeVolumeAtlasTexelCoord.y, probeVolumeAtlasTexelCoord.z + _ProbeVolumeAtlasResolutionAndSliceCount.z * 3), 0).x; -#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 - return LOAD_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, int3(probeVolumeAtlasTexelCoord.x, probeVolumeAtlasTexelCoord.y, probeVolumeAtlasTexelCoord.z + _ProbeVolumeAtlasResolutionAndSliceCount.z * 6), 0).w; -#else - return 0.0; -#endif -} - #if SHADEROPTIONS_PROBE_VOLUMES_BILATERAL_FILTERING == PROBEVOLUMESBILATERALFILTERINGMODES_OCTAHEDRAL_DEPTH void ProbeVolumeEvaluateOctahedralDepthOcclusionFilterWeights( out float weights[8], @@ -368,120 +347,6 @@ float3 ProbeVolumeComputeTexel3DFromBilateralFilter( #endif } -struct ProbeVolumeSphericalHarmonicsL0 -{ - float4 data[1]; -}; - -struct ProbeVolumeSphericalHarmonicsL1 -{ - float4 data[3]; -}; - -struct ProbeVolumeSphericalHarmonicsL2 -{ - float4 data[7]; -}; - -// See ProbeVolumeAtlasBlit.compute for atlas coefficient layout information. -void ProbeVolumeSampleAccumulateSphericalHarmonicsL0(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL0 coefficients) -{ - coefficients.data[0].xyz += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0).xyz * weight; -} - -void ProbeVolumeSampleAccumulateSphericalHarmonicsL1(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL1 coefficients) -{ -#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 || SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 - coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; - coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; - coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; -#endif -} - -void ProbeVolumeSampleAccumulateSphericalHarmonicsL2(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL2 coefficients) -{ -#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 - // Requesting SH2, but atlas only contains SH1. - // Only accumulate SH1 coefficients. - coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; - coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; - coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; - -#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 - coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; - coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; - coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; - - coefficients.data[3] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 3), 0) * weight; - coefficients.data[4] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 4), 0) * weight; - coefficients.data[5] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 5), 0) * weight; - - coefficients.data[6].xyz += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 6), 0).xyz * weight; -#endif -} - - -// Utility functions for converting from atlas coefficients layout, into the layout that our EntityLighting.hlsl evaluation functions expect. -void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL0(inout ProbeVolumeSphericalHarmonicsL0 coefficients) -{ - // Nothing to do here. DC terms are already normalized and stored in RGB order. -} - -void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL1(inout ProbeVolumeSphericalHarmonicsL1 coefficients) -{ -#ifdef DEBUG_DISPLAY - if (_DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_DEBUG_COLORS || _DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_VALIDITY) - { - // coefficients are storing debug info. Do not swizzle or normalize. - return; - } -#endif - - // SHEvalLinearL0L1() expects coefficients in real4 shAr, real4 shAg, real4 shAb vectors whos channels are laid out {x, y, z, DC} - float4 shAr = float4(coefficients.data[0].w, coefficients.data[1].x, coefficients.data[1].y, coefficients.data[0].x); - float4 shAg = float4(coefficients.data[1].z, coefficients.data[1].w, coefficients.data[2].x, coefficients.data[0].y); - float4 shAb = float4(coefficients.data[2].y, coefficients.data[2].z, coefficients.data[2].w, coefficients.data[0].z); - - coefficients.data[0] = shAr; - coefficients.data[1] = shAg; - coefficients.data[2] = shAb; -} - -void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL2(inout ProbeVolumeSphericalHarmonicsL2 coefficients) -{ -#ifdef DEBUG_DISPLAY - if (_DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_DEBUG_COLORS || _DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_VALIDITY) - { - // coefficients are storing debug info. Do not swizzle or normalize. - return; - } -#endif - - // SampleSH9() expects coefficients in shAr, shAg, shAb, shBr, shBg, shBb, shCr vectors. - float4 shAr = float4(coefficients.data[0].w, coefficients.data[1].x, coefficients.data[1].y, coefficients.data[0].x); - float4 shAg = float4(coefficients.data[1].z, coefficients.data[1].w, coefficients.data[2].x, coefficients.data[0].y); - float4 shAb = float4(coefficients.data[2].y, coefficients.data[2].z, coefficients.data[2].w, coefficients.data[0].z); - - coefficients.data[0] = shAr; - coefficients.data[1] = shAg; - coefficients.data[2] = shAb; - - // coefficients[3] through coefficients[6] are already laid out in shBr, shBg, shBb, shCr order. - // Now just need to perform final SH2 normalization: - // Again, normalization from: https://www.ppsloan.org/publications/StupidSH36.pdf - // Appendix A10 Shader/CPU code for Irradiance Environment Maps - - // Normalize DC term: - coefficients.data[0].w -= coefficients.data[3].z; - coefficients.data[1].w -= coefficients.data[4].z; - coefficients.data[2].w -= coefficients.data[5].z; - - // Normalize Quadratic term: - coefficients.data[3].z *= 3.0; - coefficients.data[4].z *= 3.0; - coefficients.data[5].z *= 3.0; -} - float3 ProbeVolumeEvaluateSphericalHarmonicsL0(float3 normalWS, ProbeVolumeSphericalHarmonicsL0 coefficients) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl new file mode 100644 index 00000000000..15a973ecccc --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl @@ -0,0 +1,139 @@ +#ifndef __PROBEVOLUMEATLAS_HLSL__ +#define __PROBEVOLUMEATLAS_HLSL__ + +float ProbeVolumeSampleValidity(float3 probeVolumeAtlasUVW) +{ +#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 + return SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 3), 0).x; +#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 + return SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 6), 0).w; +#else + return 0.0; +#endif +} + +float ProbeVolumeLoadValidity(int3 probeVolumeAtlasTexelCoord) +{ +#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 + return LOAD_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, int3(probeVolumeAtlasTexelCoord.x, probeVolumeAtlasTexelCoord.y, probeVolumeAtlasTexelCoord.z + _ProbeVolumeAtlasResolutionAndSliceCount.z * 3), 0).x; +#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 + return LOAD_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, int3(probeVolumeAtlasTexelCoord.x, probeVolumeAtlasTexelCoord.y, probeVolumeAtlasTexelCoord.z + _ProbeVolumeAtlasResolutionAndSliceCount.z * 6), 0).w; +#else + return 0.0; +#endif +} + +struct ProbeVolumeSphericalHarmonicsL0 +{ + float4 data[1]; +}; + +struct ProbeVolumeSphericalHarmonicsL1 +{ + float4 data[3]; +}; + +struct ProbeVolumeSphericalHarmonicsL2 +{ + float4 data[7]; +}; + +// See ProbeVolumeAtlasBlit.compute for atlas coefficient layout information. +void ProbeVolumeSampleAccumulateSphericalHarmonicsL0(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL0 coefficients) +{ + coefficients.data[0].xyz += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0).xyz * weight; +} + +void ProbeVolumeSampleAccumulateSphericalHarmonicsL1(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL1 coefficients) +{ +#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 || SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 + coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; + coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; + coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; +#endif +} + +void ProbeVolumeSampleAccumulateSphericalHarmonicsL2(float3 probeVolumeAtlasUVW, float weight, inout ProbeVolumeSphericalHarmonicsL2 coefficients) +{ +#if SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L1 + // Requesting SH2, but atlas only contains SH1. + // Only accumulate SH1 coefficients. + coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; + coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; + coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; + +#elif SHADEROPTIONS_PROBE_VOLUMES_ENCODING_MODE == PROBEVOLUMESENCODINGMODES_SPHERICAL_HARMONICS_L2 + coefficients.data[0] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 0), 0) * weight; + coefficients.data[1] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 1), 0) * weight; + coefficients.data[2] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 2), 0) * weight; + + coefficients.data[3] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 3), 0) * weight; + coefficients.data[4] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 4), 0) * weight; + coefficients.data[5] += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 5), 0) * weight; + + coefficients.data[6].xyz += SAMPLE_TEXTURE3D_LOD(_ProbeVolumeAtlasSH, s_linear_clamp_sampler, float3(probeVolumeAtlasUVW.x, probeVolumeAtlasUVW.y, probeVolumeAtlasUVW.z + _ProbeVolumeAtlasResolutionAndSliceCountInverse.w * 6), 0).xyz * weight; +#endif +} + +// Utility functions for converting from atlas coefficients layout, into the layout that our EntityLighting.hlsl evaluation functions expect. +void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL0(inout ProbeVolumeSphericalHarmonicsL0 coefficients) +{ + // Nothing to do here. DC terms are already normalized and stored in RGB order. +} + +void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL1(inout ProbeVolumeSphericalHarmonicsL1 coefficients) +{ +#ifdef DEBUG_DISPLAY + if (_DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_DEBUG_COLORS || _DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_VALIDITY) + { + // coefficients are storing debug info. Do not swizzle or normalize. + return; + } +#endif + + // SHEvalLinearL0L1() expects coefficients in real4 shAr, real4 shAg, real4 shAb vectors whos channels are laid out {x, y, z, DC} + float4 shAr = float4(coefficients.data[0].w, coefficients.data[1].x, coefficients.data[1].y, coefficients.data[0].x); + float4 shAg = float4(coefficients.data[1].z, coefficients.data[1].w, coefficients.data[2].x, coefficients.data[0].y); + float4 shAb = float4(coefficients.data[2].y, coefficients.data[2].z, coefficients.data[2].w, coefficients.data[0].z); + + coefficients.data[0] = shAr; + coefficients.data[1] = shAg; + coefficients.data[2] = shAb; +} + +void ProbeVolumeSwizzleAndNormalizeSphericalHarmonicsL2(inout ProbeVolumeSphericalHarmonicsL2 coefficients) +{ +#ifdef DEBUG_DISPLAY + if (_DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_DEBUG_COLORS || _DebugProbeVolumeMode == PROBEVOLUMEDEBUGMODE_VISUALIZE_VALIDITY) + { + // coefficients are storing debug info. Do not swizzle or normalize. + return; + } +#endif + + // SampleSH9() expects coefficients in shAr, shAg, shAb, shBr, shBg, shBb, shCr vectors. + float4 shAr = float4(coefficients.data[0].w, coefficients.data[1].x, coefficients.data[1].y, coefficients.data[0].x); + float4 shAg = float4(coefficients.data[1].z, coefficients.data[1].w, coefficients.data[2].x, coefficients.data[0].y); + float4 shAb = float4(coefficients.data[2].y, coefficients.data[2].z, coefficients.data[2].w, coefficients.data[0].z); + + coefficients.data[0] = shAr; + coefficients.data[1] = shAg; + coefficients.data[2] = shAb; + + // coefficients[3] through coefficients[6] are already laid out in shBr, shBg, shBb, shCr order. + // Now just need to perform final SH2 normalization: + // Again, normalization from: https://www.ppsloan.org/publications/StupidSH36.pdf + // Appendix A10 Shader/CPU code for Irradiance Environment Maps + + // Normalize DC term: + coefficients.data[0].w -= coefficients.data[3].z; + coefficients.data[1].w -= coefficients.data[4].z; + coefficients.data[2].w -= coefficients.data[5].z; + + // Normalize Quadratic term: + coefficients.data[3].z *= 3.0; + coefficients.data[4].z *= 3.0; + coefficients.data[5].z *= 3.0; +} + +#endif \ No newline at end of file diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl.meta b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl.meta new file mode 100644 index 00000000000..20c97d61698 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeAtlas.hlsl.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ae2987818c7ac0741b8ac4fca68b19f2 +ShaderImporter: + externalObjects: {} + defaultTextures: [] + nonModifiableTextures: [] + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeLighting.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeLighting.cs index 0fe375a9fb0..be2a0d56818 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeLighting.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ProbeVolume/ProbeVolumeLighting.cs @@ -154,10 +154,12 @@ void InitializeProbeVolumes() s_ProbeVolumeAtlasOctahedralDepthConvolveCS = asset.renderPipelineResources.shaders.probeVolumeAtlasOctahedralDepthConvolveCS; s_ProbeVolumeAtlasOctahedralDepthConvolveKernel = s_ProbeVolumeAtlasOctahedralDepthConvolveCS.FindKernel("ProbeVolumeAtlasOctahedralDepthConvolveKernel"); } - else - { - CreateProbeVolumeBuffersDefault(); - } + + // Need Default / Fallback buffers for binding in case when ShaderConfig has activated probe volume code, + // and probe volumes has been enabled in the HDRenderPipelineAsset, + // but probe volumes is disabled in the current camera's frame settings. + // This can go away if we add a global keyword for using / completely stripping probe volume code per camera. + CreateProbeVolumeBuffersDefault(); #if UNITY_EDITOR UnityEditor.Lightmapping.lightingDataCleared += OnLightingDataCleared; @@ -411,14 +413,8 @@ unsafe void UpdateShaderVariablesGlobalProbeVolumes(ref ShaderVariablesGlobal cb void PushProbeVolumesGlobalParams(HDCamera hdCamera, CommandBuffer cmd) { - if (ShaderConfig.s_ProbeVolumesEvaluationMode == ProbeVolumesEvaluationModes.Disabled) - return; - - if (!m_SupportProbeVolume) - { - PushProbeVolumesGlobalParamsDefault(hdCamera, cmd); - return; - } + Debug.Assert(ShaderConfig.s_ProbeVolumesEvaluationMode != ProbeVolumesEvaluationModes.Disabled); + Debug.Assert(m_SupportProbeVolume); cmd.SetGlobalBuffer(HDShaderIDs._ProbeVolumeBounds, s_VisibleProbeVolumeBoundsBuffer); cmd.SetGlobalBuffer(HDShaderIDs._ProbeVolumeDatas, s_VisibleProbeVolumeDataBuffer); @@ -432,6 +428,9 @@ void PushProbeVolumesGlobalParams(HDCamera hdCamera, CommandBuffer cmd) internal void PushProbeVolumesGlobalParamsDefault(HDCamera hdCamera, CommandBuffer cmd) { + Debug.Assert(ShaderConfig.s_ProbeVolumesEvaluationMode != ProbeVolumesEvaluationModes.Disabled); + Debug.Assert(hdCamera.frameSettings.IsEnabled(FrameSettingsField.ProbeVolume) == false); + cmd.SetGlobalBuffer(HDShaderIDs._ProbeVolumeBounds, s_VisibleProbeVolumeBoundsBufferDefault); cmd.SetGlobalBuffer(HDShaderIDs._ProbeVolumeDatas, s_VisibleProbeVolumeDataBufferDefault); cmd.SetGlobalTexture(HDShaderIDs._ProbeVolumeAtlasSH, TextureXR.GetBlackTexture3D()); @@ -712,8 +711,20 @@ ProbeVolumeList PrepareVisibleProbeVolumeList(ScriptableRenderContext renderCont return probeVolumes; if (!hdCamera.frameSettings.IsEnabled(FrameSettingsField.ProbeVolume)) - return probeVolumes; + { + PushProbeVolumesGlobalParamsDefault(hdCamera, cmd); + } + else + { + PrepareVisibleProbeVolumeListBuffers(renderContext, hdCamera, cmd, ref probeVolumes); + PushProbeVolumesGlobalParams(hdCamera, cmd); + } + return probeVolumes; + } + + void PrepareVisibleProbeVolumeListBuffers(ScriptableRenderContext renderContext, HDCamera hdCamera, CommandBuffer cmd, ref ProbeVolumeList probeVolumes) + { var settings = hdCamera.volumeStack.GetComponent(); bool octahedralDepthOcclusionFilterIsEnabled = ShaderConfig.s_ProbeVolumesBilateralFilteringMode == ProbeVolumesBilateralFilteringModes.OctahedralDepth @@ -860,9 +871,7 @@ ProbeVolumeList PrepareVisibleProbeVolumeList(ScriptableRenderContext renderCont } } - PushProbeVolumesGlobalParams(hdCamera, cmd); - - return probeVolumes; + return; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs index 18024aed0ee..56a4ddbcbe0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs @@ -192,6 +192,7 @@ public RenderTexture realtimeTexture if (m_RealtimeTexture != null) m_RealtimeTexture.Release(); m_RealtimeTexture = RTHandles.Alloc(value); + m_RealtimeTexture.rt.name = $"ProbeRealTimeTexture_{name}"; } } @@ -209,6 +210,7 @@ public RenderTexture realtimeDepthTexture if (m_RealtimeDepthBuffer != null) m_RealtimeDepthBuffer.Release(); m_RealtimeDepthBuffer = RTHandles.Alloc(value); + m_RealtimeDepthBuffer.rt.name = $"ProbeRealTimeDepthTexture_{name}"; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs index 8e8a6cd763f..43574a839ec 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs @@ -311,7 +311,7 @@ internal void Render(CommandBuffer cmd, HDCamera camera, ScriptableRenderContext else { if (camera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && settings.rayTracing.value) - m_RaytracingAmbientOcclusion.RenderAO(camera, cmd, m_AmbientOcclusionTex, globalRTCB, renderContext, frameCount); + m_RaytracingAmbientOcclusion.RenderRTAO(camera, cmd, m_AmbientOcclusionTex, globalRTCB, renderContext, frameCount); else { Dispatch(cmd, camera, depthTexture, normalBuffer, motionVectors, frameCount); @@ -637,7 +637,7 @@ internal void Dispatch(CommandBuffer cmd, HDCamera camera, RTHandle depthTexture { using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.UpSampleSSAO))) { - UpsampleAO(aoParameters, depthTexture, settings.temporalAccumulation.value ? m_FinalHalfRes : m_PackedDataTex, m_AmbientOcclusionTex, cmd); + UpsampleAO(aoParameters, depthTexture, aoParameters.temporalAccumulation ? m_FinalHalfRes : m_PackedDataTex, m_AmbientOcclusionTex, cmd); } } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs index c22bc4b2499..79625322a12 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs @@ -48,6 +48,7 @@ internal ShadowResult RenderShadows(RenderGraph renderGraph, in ShaderVariablesG // TODO RENDERGRAPH // Not really good to bind things globally here (makes lifecycle of the textures fuzzy) // Probably better to bind it explicitly where needed (deferred lighting and forward/debug passes) + // We can probably remove this when we have only one code path and can clean things up a bit. BindShadowGlobalResources(renderGraph, result); return result; @@ -72,7 +73,7 @@ void BindShadowGlobalResources(RenderGraph renderGraph, in ShadowResult shadowRe using (var builder = renderGraph.AddRenderPass("BindShadowGlobalResources", out var passData)) { passData.shadowResult = ReadShadowResult(shadowResult, builder); - builder.AllowPassPruning(false); + builder.AllowPassCulling(false); builder.SetRenderFunc( (BindShadowGlobalResourcesPassData data, RenderGraphContext ctx) => { @@ -108,7 +109,7 @@ TextureHandle AllocateMomentAtlas(RenderGraph renderGraph, string name) internal TextureHandle RenderShadows(RenderGraph renderGraph, CullingResults cullResults, in ShaderVariablesGlobal globalCB, FrameSettings frameSettings, string shadowPassName) { - TextureHandle result = new TextureHandle(); + TextureHandle result = TextureHandle.nullHandle; if (m_ShadowRequests.Count == 0) return result; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs index 797ae62e431..c18b37971d5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs @@ -323,16 +323,24 @@ public void InitializeNonRenderGraphResources() { m_Atlas.AllocateRenderTexture(); m_CascadeAtlas.AllocateRenderTexture(); + cachedShadowManager.punctualShadowAtlas.AllocateRenderTexture(); if (ShaderConfig.s_AreaLights == 1) + { m_AreaLightShadowAtlas.AllocateRenderTexture(); + cachedShadowManager.areaShadowAtlas.AllocateRenderTexture(); + } } public void CleanupNonRenderGraphResources() { m_Atlas.Release(); m_CascadeAtlas.Release(); + cachedShadowManager.punctualShadowAtlas.Release(); if (ShaderConfig.s_AreaLights == 1) + { m_AreaLightShadowAtlas.Release(); + cachedShadowManager.areaShadowAtlas.Release(); + } } // Keep in sync with both HDShadowSampling.hlsl diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ScreenSpaceShadowManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ScreenSpaceShadowManager.cs index b09053fd75c..e3c4b8d0445 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ScreenSpaceShadowManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ScreenSpaceShadowManager.cs @@ -1,5 +1,6 @@ using System; using UnityEngine.Experimental.Rendering; +using UnityEngine.Experimental.Rendering.RenderGraphModule; namespace UnityEngine.Rendering.HighDefinition { @@ -264,6 +265,11 @@ void RenderScreenSpaceShadows(HDCamera hdCamera, CommandBuffer cmd) } } + TextureHandle RenderScreenSpaceShadows(RenderGraph renderGraph, HDCamera hdCamera) + { + return renderGraph.defaultResources.blackTextureArrayXR; + } + // Generic function that writes in the screen space shadow buffer void WriteToScreenSpaceShadowBuffer(CommandBuffer cmd, HDCamera hdCamera, RTHandle source, int shadowSlot, ScreenSpaceShadowType shadowType) { @@ -457,11 +463,6 @@ bool RenderLightScreenSpaceShadows(HDCamera hdCamera, CommandBuffer cmd) RTHandle shadowHistoryValidityArray = hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.RaytracedShadowHistoryValidity) ?? hdCamera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.RaytracedShadowHistoryValidity, ShadowHistoryValidityBufferAllocatorFunction, 1); - // Grab the acceleration structure for the target camera - RayTracingAccelerationStructure accelerationStructure = RequestAccelerationStructure(); - // Set the acceleration structure for the pass - cmd.SetRayTracingAccelerationStructure(m_ScreenSpaceShadowsRT, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); - // Define the shader pass to use for the reflection pass cmd.SetRayTracingShaderPass(m_ScreenSpaceShadowsRT, "VisibilityDXR"); @@ -579,6 +580,11 @@ void RenderAreaScreenSpaceShadow(CommandBuffer cmd, HDCamera hdCamera RayCountManager rayCountManager = GetRayCountManager(); cmd.SetRayTracingTextureParam(m_ScreenSpaceShadowsRT, HDShaderIDs._RayCountTexture, rayCountManager.GetRayCountTexture()); + // Grab the acceleration structure for the target camera + RayTracingAccelerationStructure accelerationStructure = RequestAccelerationStructure(); + // Set the acceleration structure for the pass + cmd.SetRayTracingAccelerationStructure(m_ScreenSpaceShadowsRT, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); + // Input data cmd.SetRayTracingBufferParam(m_ScreenSpaceShadowsRT, HDShaderIDs._LightDatas, m_LightLoopLightData.lightData); cmd.SetRayTracingTextureParam(m_ScreenSpaceShadowsRT, HDShaderIDs._DepthTexture, m_SharedRTManager.GetDepthStencilBuffer()); @@ -778,6 +784,11 @@ void RenderPunctualScreenSpaceShadow(CommandBuffer cmd, HDCamera hdCamera cmd.DispatchCompute(m_ScreenSpaceShadowsCS, m_ClearShadowTexture, numTilesX, numTilesY, hdCamera.viewCount); } + // Grab the acceleration structure for the target camera + RayTracingAccelerationStructure accelerationStructure = RequestAccelerationStructure(); + // Set the acceleration structure for the pass + cmd.SetRayTracingAccelerationStructure(m_ScreenSpaceShadowsRT, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); + // Loop through the samples of this frame for (int sampleIdx = 0; sampleIdx < additionalLightData.numRayTracingSamples; ++sampleIdx) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs index 80b16a5f144..db409abb3da 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.cs @@ -405,6 +405,7 @@ static internal void DestroyVolumetricHistoryBuffers(HDCamera hdCamera) } // Must be called AFTER UpdateVolumetricBufferParams. + static readonly string[] volumetricHistoryBufferNames = new string[2]{ "VBufferHistory0", "VBufferHistory1" }; static internal void ResizeVolumetricHistoryBuffers(HDCamera hdCamera, int frameIndex) { if (!hdCamera.IsVolumetricReprojectionEnabled()) @@ -428,11 +429,9 @@ static internal void ResizeVolumetricHistoryBuffers(HDCamera hdCamera, int frame CreateVolumetricHistoryBuffers(hdCamera, hdCamera.vBufferParams.Length); // Basically, assume it's 2 } - string[] names = new string[2]{ "VBufferHistory0", "VBufferHistory1" }; - // We only resize the feedback buffer (#0), not the history buffer (#1). // We must NOT resize the buffer from the previous frame (#1), as that would invalidate its contents. - ResizeVolumetricBuffer(ref hdCamera.volumetricHistoryBuffers[currIdx], names[currIdx], currentParams.viewportSize.x, + ResizeVolumetricBuffer(ref hdCamera.volumetricHistoryBuffers[currIdx], volumetricHistoryBufferNames[currIdx], currentParams.viewportSize.x, currentParams.viewportSize.y, currentParams.viewportSize.z); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/Exposure.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/Exposure.cs index 1cdd5edd4f8..c45ada2957f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/Exposure.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/Exposure.cs @@ -176,27 +176,27 @@ public enum ExposureMode /// /// Allows you to manually sets the Scene exposure. /// - Fixed, + Fixed = 0, /// /// Automatically sets the exposure depending on what is on screen. /// - Automatic, + Automatic = 1, /// /// Automatically sets the exposure depending on what is on screen and can filter out outliers based on provided settings. /// - AutomaticHistogram, + AutomaticHistogram = 4, /// /// Maps the current Scene exposure to a custom curve. /// - CurveMapping, + CurveMapping = 2, /// /// Uses the current physical Camera settings to set the Scene exposure. /// - UsePhysicalCamera + UsePhysicalCamera = 3 } /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs index 799116bf22b..0a8477a7e79 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs @@ -145,12 +145,12 @@ void FillBloomMipsTextureHandles(BloomData bloomData, RenderGraph renderGraph, R var pixelSize = new Vector2Int((int)m_BloomMipsInfo[i].x, (int)m_BloomMipsInfo[i].y); bloomData.mipsDown[i] = builder.CreateTransientTexture(new TextureDesc(scale, true, true) - { colorFormat = m_ColorFormat, enableRandomWrite = true }); + { colorFormat = m_ColorFormat, enableRandomWrite = true, name = "BloomMipDown" }); if (i != 0) { bloomData.mipsUp[i] = builder.CreateTransientTexture(new TextureDesc(scale, true, true) - { colorFormat = m_ColorFormat, enableRandomWrite = true }); + { colorFormat = m_ColorFormat, enableRandomWrite = true, name = "BloomMipUp" }); } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs index ea923f258af..9a8971e08e3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -144,6 +144,8 @@ private enum SMAAStage HDRenderPipeline m_HDInstance; + bool m_IsDoFHisotoryValid = false; + void FillEmptyExposureTexture() { var tex = new Texture2D(1, 1, TextureFormat.RGHalf, false, true); @@ -615,6 +617,12 @@ void PoolSource(ref RTHandle src, RTHandle dst) { using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.DepthOfField))) { + // If we switch DoF modes and the old one was not using TAA, make sure we invalidate the history + if (taaEnabled && m_IsDoFHisotoryValid != m_DepthOfField.physicallyBased) + { + camera.resetPostProcessingHistory = true; + } + var destination = m_Pool.Get(Vector2.one, m_ColorFormat); if (!m_DepthOfField.physicallyBased) DoDepthOfField(cmd, camera, source, destination, taaEnabled); @@ -628,12 +636,14 @@ void PoolSource(ref RTHandle src, RTHandle dst) var taaDestination = m_Pool.Get(Vector2.one, m_ColorFormat); bool postDof = true; var taaParams = PrepareTAAParameters(camera, postDof); - + GrabTemporalAntialiasingHistoryTextures(camera, out var prevHistory, out var nextHistory, postDof); DoTemporalAntialiasing(taaParams, cmd, source, taaDestination, motionVecTexture, depthBuffer, depthMipChain, prevHistory, nextHistory, prevMVLen:null, nextMVLen:null); PoolSource(ref source, taaDestination); postDoFTAAEnabled = true; } + + m_IsDoFHisotoryValid = (m_DepthOfField.physicallyBased && taaEnabled); } } @@ -641,7 +651,6 @@ void PoolSource(ref RTHandle src, RTHandle dst) { ReleasePostDoFTAAHistoryTextures(camera); } - // Motion blur after depth of field for aesthetic reasons (better to see motion // blurred bokeh rather than out of focus motion blur) if (m_MotionBlur.IsActive() && m_AnimatedMaterialsEnabled && !camera.resetPostProcessingHistory && m_MotionBlurFS) @@ -657,7 +666,7 @@ void PoolSource(ref RTHandle src, RTHandle dst) out tileToScatterMin); DoMotionBlur(PrepareMotionBlurParameters(camera), cmd, source, destination, motionVecTexture, preppedMotionVec, minMaxTileVel, maxTileNeigbourhood, tileToScatterMax, tileToScatterMin); RecycleMotionBlurRenderTargets(preppedMotionVec, minMaxTileVel, maxTileNeigbourhood, tileToScatterMax, tileToScatterMin); - + PoolSource(ref source, destination); } } @@ -1083,7 +1092,7 @@ ExposureParameters PrepareExposureParameters(HDCamera hdCamera) parameters.exposureVariants[2] = (int)adaptationMode; parameters.exposureVariants[3] = 0; - bool useTextureMask = m_Exposure.meteringMode == MeteringMode.MaskWeighted && m_Exposure.weightTextureMask.value != null; + bool useTextureMask = m_Exposure.meteringMode.value == MeteringMode.MaskWeighted && m_Exposure.weightTextureMask.value != null; parameters.textureMeteringMask = useTextureMask ? m_Exposure.weightTextureMask.value : Texture2D.whiteTexture; ComputeProceduralMeteringParams(hdCamera, out parameters.proceduralMaskParams, out parameters.proceduralMaskParams2); @@ -1329,7 +1338,7 @@ static void DoDynamicExposure(in ExposureParameters exposureParameters, CommandB { var cs = exposureParameters.exposureCS; int kernel; - + var sourceTex = colorBuffer; kernel = exposureParameters.exposurePreparationKernel; @@ -1589,7 +1598,7 @@ static void DoTemporalAntialiasing(in TemporalAntiAliasingParameters taaParams, { cmd.SetRandomWriteTarget(2, nextMVLen); } - + cmd.DrawProcedural(Matrix4x4.identity, taaParams.temporalAAMaterial, 0, MeshTopology.Triangles, 3, 1, taaParams.taaPropertyBlock); cmd.DrawProcedural(Matrix4x4.identity, taaParams.temporalAAMaterial, 1, MeshTopology.Triangles, 3, 1, taaParams.taaPropertyBlock); cmd.ClearRandomWriteTargets(); @@ -2264,7 +2273,7 @@ void ReprojectCoCHistory(CommandBuffer cmd, HDCamera camera, bool useMips, ref R GrabCoCHistory(camera, out var prevCoCTex, out var nextCoCTex, useMips); var cocHistoryScale = new Vector2(camera.historyRTHandleProperties.rtHandleScale.z, camera.historyRTHandleProperties.rtHandleScale.w); - //Note: this reprojection creates some ghosting, we should replace it with something based on the new TAA + //Note: this reprojection creates some ghosting, we should replace it with something based on the new TAA ComputeShader cs = m_Resources.shaders.depthOfFieldCoCReprojectCS; int kernel = cs.FindKernel("KMain"); cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(camera.resetPostProcessingHistory ? 0f : 0.91f, cocHistoryScale.x, cocHistoryScale.y, 0f)); @@ -2279,6 +2288,20 @@ void ReprojectCoCHistory(CommandBuffer cmd, HDCamera camera, bool useMips, ref R fullresCoC = nextCoCTex; } + static void GetMipMapDimensions(RTHandle texture, int lod, out int width, out int height) + { + width = texture.rt.width; + height = texture.rt.height; + + for (int level = 0; level < lod; ++level) + { + // Note: When the texture/mip size is an odd number, the size of the next level is rounded down. + // That's why we cannot find the actual size by doing (size >> lod). + width /= 2; + height /= 2; + } + } + #endregion #region Depth Of Field (Physically based) @@ -2309,7 +2332,7 @@ void DoPhysicallyBasedDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle // The sensor scale is used to convert the CoC size from mm to screen pixels float sensorScale; if( camera.camera.gateFit == Camera.GateFitMode.Horizontal ) - sensorScale = (0.5f / camera.camera.sensorSize.x) * camera.camera.pixelWidth; + sensorScale = (0.5f / camera.camera.sensorSize.x) * camera.camera.pixelWidth; else sensorScale = (0.5f / camera.camera.sensorSize.y) * camera.camera.pixelHeight; @@ -2375,8 +2398,12 @@ void DoPhysicallyBasedDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle kernel = cs.FindKernel("KMain"); float sampleCount = Mathf.Max(m_DepthOfField.nearSampleCount, m_DepthOfField.farSampleCount); - float mipLevel = Mathf.Ceil(Mathf.Log(cocLimit, 2)); - cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(sampleCount, cocLimit, mipLevel, 0.0f)); + + // We only have up to 6 mip levels + float mipLevel = Mathf.Min(6, Mathf.Ceil(Mathf.Log(cocLimit, 2))); + GetMipMapDimensions(fullresCoC, (int)mipLevel, out var mipMapWidth, out var mipMapHeight); + cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(sampleCount, cocLimit, 0.0f, 0.0f)); + cmd.SetComputeVectorParam(cs, HDShaderIDs._Params2, new Vector4(mipLevel, mipMapWidth, mipMapHeight, 0.0f)); cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputTexture, source); cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputCoCTexture, fullresCoC); cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._OutputTexture, destination); @@ -3180,7 +3207,7 @@ ColorGradingParameters PrepareColorGradingParameters() // Setup lut builder compute & grab the kernel we need parameters.builderCS.shaderKeywords = null; - if (m_Tonemapping.IsActive()) + if (m_Tonemapping.IsActive() && m_TonemappingFS) { switch (parameters.tonemappingMode) { @@ -3297,7 +3324,7 @@ static void DoColorGrading(in ColorGradingParameters parameters, // Generate the lut // See the note about Metal & Intel in LutBuilder3D.compute - // GetKernelThreadGroupSizes is currently broken on some binary versions. + // GetKernelThreadGroupSizes is currently broken on some binary versions. //builderCS.GetKernelThreadGroupSizes(builderKernel, out uint threadX, out uint threadY, out uint threadZ); uint threadX = 4; uint threadY = 4; diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute index 16ad4aaa67f..f8a19cd3c2c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute @@ -11,11 +11,14 @@ CBUFFER_START(cb0) float4 _Params; +float4 _Params2; CBUFFER_END #define NumRings _Params.x #define MaxCoCRadius _Params.y -#define MaxCoCMipLevel _Params.z +#define MaxCoCMipLevel _Params2.x +#define MaxCoCMipWidth _Params2.y +#define MaxCoCMipHeight _Params2.z // Input textures TEXTURE2D_X(_InputTexture); @@ -86,20 +89,9 @@ float GetCoCMaxRadius(int2 positionSS) #ifndef ADAPTIVE_RADIUS return MaxCoCRadius; #else - // We only have up to 6 mip levels - int lod = min(6, MaxCoCMipLevel); - - // TODO FIXME - (Seb) I added this patch for metal as it was causing a - // Shader error in 'DoFGather': 'GetDimensions' : no matching 5 parameter intrinsic method; - // But overall I am even not this if this call work on Metal. -#if defined(SHADER_API_METAL) - uint3 size; - // Texture2D.GetDimensions(uint, out uint width, out uint height, out uint levels) - _InputCoCTexture.GetDimensions(lod, size.x, size.y, size.z); -#else - uint4 size; - _InputCoCTexture.GetDimensions(lod, size.x, size.y, size.z, size.w); -#endif + + int lod = MaxCoCMipLevel; + uint2 size = float2(MaxCoCMipWidth, MaxCoCMipHeight); // Take RTHandleScale into account and odd texture dimension sizes (it's not enough to do a positionSS >> lod) uint2 coords = positionSS * _ScreenSize.zw * size.xy * _RTHandleScale.xy; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDProfileId.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDProfileId.cs index e2bf627d4e6..ade14e2603c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDProfileId.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDProfileId.cs @@ -101,14 +101,20 @@ internal enum HDProfileId VolumetricLightingFiltering, PrepareVisibleDensityVolumeList, + // RT Cluster RaytracingBuildCluster, RaytracingCullLights, + // RTR RaytracingIntegrateReflection, RaytracingFilterReflection, + // RTAO RaytracingAmbientOcclusion, RaytracingFilterAmbientOcclusion, + RaytracingComposeAmbientOcclusion, + // RT Shadows RaytracingDirectionalLightShadow, RaytracingLightShadow, + // RTGI RaytracingIntegrateIndirectDiffuse, RaytracingFilterIndirectDiffuse, RaytracingDebugOverlay, diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs index efbcddc6137..3f4caee8c25 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs @@ -22,7 +22,7 @@ void RenderTransparencyOverdraw(RenderGraph renderGraph, TextureHandle depthBuff { if (m_CurrentDebugDisplaySettings.IsDebugDisplayEnabled() && m_CurrentDebugDisplaySettings.data.fullScreenDebugMode == FullScreenDebugMode.TransparencyOverdraw) { - TextureHandle transparencyOverdrawOutput = new TextureHandle(); + TextureHandle transparencyOverdrawOutput = TextureHandle.nullHandle; using (var builder = renderGraph.AddRenderPass("Transparency Overdraw", out var passData)) { passData.parameters = PrepareTransparencyOverdrawParameters(hdCamera, cull); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs index a0ea0620acb..1987286b21e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs @@ -18,6 +18,7 @@ struct LightingBuffers public TextureHandle ambientOcclusionBuffer; public TextureHandle ssrLightingBuffer; public TextureHandle contactShadowsBuffer; + public TextureHandle screenspaceShadowBuffer; } static LightingBuffers ReadLightingBuffers(in LightingBuffers buffers, RenderGraphBuilder builder) @@ -27,6 +28,7 @@ static LightingBuffers ReadLightingBuffers(in LightingBuffers buffers, RenderGra result.ambientOcclusionBuffer = builder.ReadTexture(buffers.ambientOcclusionBuffer); result.ssrLightingBuffer = builder.ReadTexture(buffers.ssrLightingBuffer); result.contactShadowsBuffer = builder.ReadTexture(buffers.contactShadowsBuffer); + result.screenspaceShadowBuffer = builder.ReadTexture(buffers.screenspaceShadowBuffer); return result; } @@ -36,6 +38,7 @@ static void BindGlobalLightingBuffers(in LightingBuffers buffers, CommandBuffer cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, buffers.ambientOcclusionBuffer); cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, buffers.ssrLightingBuffer); cmd.SetGlobalTexture(HDShaderIDs._ContactShadowTexture, buffers.contactShadowsBuffer); + cmd.SetGlobalTexture(HDShaderIDs._ScreenSpaceShadowsTexture, buffers.screenspaceShadowBuffer); } class BuildGPULightListPassData @@ -570,7 +573,7 @@ TextureHandle VolumeVoxelizationPass( RenderGraph renderGraph, return passData.densityBuffer; } } - return new TextureHandle(); + return TextureHandle.nullHandle; } class VolumetricLightingPassData diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LookDev.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LookDev.cs index 1d3aa84ec17..a2d41634420 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LookDev.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LookDev.cs @@ -33,6 +33,7 @@ bool UpdateVolumeProfile(Volume volume, out VisualEnvironment visualEnvironment, m_LookDevVolumeProfileHash = newHashCode; VolumeProfile profile = ScriptableObject.Instantiate(hdrpAsset.defaultLookDevProfile); + profile.hideFlags = HideFlags.HideAndDontSave; volume.sharedProfile = profile; // Remove potentially existing components in the user profile. @@ -238,5 +239,11 @@ void IDataProvider.GetShadowMask(ref RenderTexture output, StageRuntimeInterface data.additionalCameraData.backgroundColorHDR = oldBackgroundColor; data.additionalCameraData.clearColorMode = oldClearMode; } + + void IDataProvider.Cleanup(StageRuntimeInterface SRI) + { + LookDevDataForHDRP data = (LookDevDataForHDRP)SRI.SRPData; + CoreUtils.Destroy(data.volume.sharedProfile); + } } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Prepass.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Prepass.cs index 402c2be2dbf..adde65907f0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Prepass.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Prepass.cs @@ -114,8 +114,6 @@ TextureHandle CreateMotionVectorBuffer(RenderGraph renderGraph, bool msaa, bool return renderGraph.CreateTexture(motionVectorDesc); } - // TODO RENDERGRAPH: in someplaces we auto bind and in others we have to generate MRT because of discrepancy with non render graph path. - // Clean this once we only have one path. void BindPrepassColorBuffers(in RenderGraphBuilder builder, in PrepassOutput prepassOutput, HDCamera hdCamera) { int index = 0; @@ -677,7 +675,7 @@ class RenderDBufferPassData public TextureHandle depthStencilBuffer; public TextureHandle depthTexture; public ComputeBufferHandle propertyMaskBuffer; - public TextureHandle decalBuffer; + public TextureHandle decalBuffer; } struct DBufferOutput @@ -786,7 +784,7 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec data.meshDecalsRendererList, data.propertyMaskBuffer, data.decalBuffer, - context.renderContext, + context.renderContext, context.cmd); }); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 3fca931cd83..81f54e91a81 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -140,7 +140,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, // Temporary workaround otherwise the texture is not bound when executing directly with rendergraph using (var builder = m_RenderGraph.AddRenderPass("TempPass", out var passData)) { - builder.AllowPassPruning(false); + builder.AllowPassCulling(false); builder.SetRenderFunc( (TempPassData data, RenderGraphContext context) => { @@ -150,7 +150,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, // TODO RENDERGRAPH - //RenderScreenSpaceShadows(hdCamera, cmd); + lightingBuffers.screenspaceShadowBuffer = RenderScreenSpaceShadows(m_RenderGraph, hdCamera); var volumetricLighting = VolumetricLightingPass(m_RenderGraph, hdCamera, prepassOutput.depthPyramidTexture, volumetricDensityBuffer, gpuLightListOutput.bigTileLightList, shadowResult, m_FrameCount); @@ -158,7 +158,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, RenderForwardOpaque(m_RenderGraph, hdCamera, colorBuffer, lightingBuffers, gpuLightListOutput, prepassOutput.depthBuffer, shadowResult, prepassOutput.dbuffer, cullingResults); - // TODO RENDERGRAPH : Move this to the end after we do move semantic and graph pruning to avoid doing the rest of the frame for nothing + // TODO RENDERGRAPH : Move this to the end after we do move semantic and graph culling to avoid doing the rest of the frame for nothing aovRequest.PushCameraTexture(m_RenderGraph, AOVBuffers.Normals, hdCamera, prepassOutput.resolvedNormalBuffer, aovBuffers); lightingBuffers.diffuseLightingBuffer = ResolveMSAAColor(m_RenderGraph, hdCamera, lightingBuffers.diffuseLightingBuffer); @@ -190,7 +190,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, if (m_Asset.currentPlatformRenderPipelineSettings.supportMotionVectors) PushFullScreenDebugTexture(m_RenderGraph, prepassOutput.motionVectorsBuffer, FullScreenDebugMode.MotionVectors); - // TODO RENDERGRAPH : Move this to the end after we do move semantic and graph pruning to avoid doing the rest of the frame for nothing + // TODO RENDERGRAPH : Move this to the end after we do move semantic and graph culling to avoid doing the rest of the frame for nothing // Transparent objects may write to the depth and motion vectors buffers. aovRequest.PushCameraTexture(m_RenderGraph, AOVBuffers.DepthStencil, hdCamera, prepassOutput.resolvedDepthBuffer, aovBuffers); if (m_Asset.currentPlatformRenderPipelineSettings.supportMotionVectors) @@ -234,24 +234,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, RenderCustomPass(m_RenderGraph, hdCamera, postProcessDest, prepassOutput.depthBuffer, prepassOutput.normalBuffer, customPassCullingResults, CustomPassInjectionPoint.AfterPostProcess, aovRequest, aovBuffers); - // TODO RENDERGRAPH - //// Copy and rescale depth buffer for XR devices - //if (hdCamera.xr.enabled && hdCamera.xr.copyDepth) - //{ - // using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.XRDepthCopy))) - // { - // var depthBuffer = m_SharedRTManager.GetDepthStencilBuffer(); - // var rtScale = depthBuffer.rtHandleProperties.rtHandleScale / DynamicResolutionHandler.instance.GetCurrentScale(); - - // m_CopyDepthPropertyBlock.SetTexture(HDShaderIDs._InputDepth, depthBuffer); - // m_CopyDepthPropertyBlock.SetVector(HDShaderIDs._BlitScaleBias, rtScale); - // m_CopyDepthPropertyBlock.SetInt("_FlipY", 1); - - // cmd.SetRenderTarget(target.id, 0, CubemapFace.Unknown, -1); - // cmd.SetViewport(hdCamera.finalViewport); - // CoreUtils.DrawFullScreen(cmd, m_CopyDepth, m_CopyDepthPropertyBlock); - // } - //} + CopyXRDepth(m_RenderGraph, hdCamera, prepassOutput.depthBuffer, backBuffer); // In developer build, we always render post process in m_AfterPostProcessBuffer at (0,0) in which we will then render debug. // Because of this, we need another blit here to the final render target at the right viewport. @@ -391,6 +374,44 @@ void SetFinalTarget(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle de } } + class CopyXRDepthPassData + { + public Material copyDepth; + public Rect viewport; + public TextureHandle depthBuffer; + public TextureHandle output; + } + + void CopyXRDepth(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle depthBuffer, TextureHandle output) + { + // Copy and rescale depth buffer for XR devices + if (hdCamera.xr.enabled && hdCamera.xr.copyDepth) + { + using (var builder = renderGraph.AddRenderPass("Copy XR Depth", out var passData, ProfilingSampler.Get(HDProfileId.XRDepthCopy))) + { + passData.copyDepth = m_CopyDepth; + passData.viewport = hdCamera.finalViewport; + passData.depthBuffer = builder.ReadTexture(depthBuffer); + passData.output = builder.WriteTexture(output); + + builder.SetRenderFunc( + (CopyXRDepthPassData data, RenderGraphContext ctx) => + { + var mpb = ctx.renderGraphPool.GetTempMaterialPropertyBlock(); + RTHandle depthRT = data.depthBuffer; + + mpb.SetTexture(HDShaderIDs._InputDepth, data.depthBuffer); + mpb.SetVector(HDShaderIDs._BlitScaleBias, depthRT.rtHandleProperties.rtHandleScale / DynamicResolutionHandler.instance.GetCurrentScale()); + mpb.SetInt("_FlipY", 1); + + ctx.cmd.SetRenderTarget(data.output, 0, CubemapFace.Unknown, -1); + ctx.cmd.SetViewport(data.viewport); + CoreUtils.DrawFullScreen(ctx.cmd, data.copyDepth, mpb); + }); + } + } + } + class ForwardPassData { public RendererListHandle rendererList; @@ -708,7 +729,7 @@ TextureHandle RenderLowResTransparent(RenderGraph renderGraph, HDCamera hdCamera class UpsampleTransparentPassData { - public Material upsampleMaterial; + public Material upsampleMaterial; public TextureHandle colorBuffer; public TextureHandle lowResTransparentBuffer; public TextureHandle downsampledDepthBuffer; @@ -743,6 +764,25 @@ void UpsampleTransparent(RenderGraph renderGraph, HDCamera hdCamera, TextureHand } } + class SetGlobalColorPassData + { + public TextureHandle colorBuffer; + } + + void SetGlobalColorForCustomPass(RenderGraph renderGraph, TextureHandle colorBuffer) + { + using (var builder = renderGraph.AddRenderPass("SetGlobalColorForCustomPass", out var passData)) + { + passData.colorBuffer = builder.ReadTexture(colorBuffer); + builder.SetRenderFunc( (SetGlobalColorPassData data, RenderGraphContext context) => + { + RTHandle colorPyramid = data.colorBuffer; + if (colorPyramid != null) + context.cmd.SetGlobalTexture(HDShaderIDs._ColorPyramidTexture, data.colorBuffer); + }); + } + } + TextureHandle RenderTransparency( RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colorBuffer, @@ -763,9 +803,9 @@ TextureHandle RenderTransparency( RenderGraph renderGraph, //RenderRayTracingPrepass(cullingResults, hdCamera, renderContext, cmd, true); //RaytracingRecursiveRender(hdCamera, cmd, renderContext, cullingResults); - // TODO RENDERGRAPH - //// To allow users to fetch the current color buffer, we temporarily bind the camera color buffer - //cmd.SetGlobalTexture(HDShaderIDs._ColorPyramidTexture, m_CameraColorBuffer); + // TODO RENDERGRAPH: Remove this when we properly convert custom passes to full render graph with explicit color buffer reads. + // To allow users to fetch the current color buffer, we temporarily bind the camera color buffer + SetGlobalColorForCustomPass(renderGraph, currentColorPyramid); RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, prepassOutput.normalBuffer, customPassCullingResults, CustomPassInjectionPoint.BeforePreRefraction, aovRequest, aovBuffers); @@ -872,7 +912,7 @@ void SendGeometryGraphicsBuffers(RenderGraph renderGraph, TextureHandle normalBu using (var builder = renderGraph.AddRenderPass("Send Geometry Buffers", out var passData)) { - builder.AllowPassPruning(false); + builder.AllowPassCulling(false); passData.parameters = parameters; passData.normalBuffer = builder.ReadTexture(normalBuffer); @@ -895,7 +935,7 @@ void SendColorGraphicsBuffer(RenderGraph renderGraph, HDCamera hdCamera) { using (var builder = renderGraph.AddRenderPass("Send Color Buffers", out var passData)) { - builder.AllowPassPruning(false); + builder.AllowPassCulling(false); passData.hdCamera = hdCamera; @@ -1032,9 +1072,9 @@ class GenerateColorPyramidData void GenerateColorPyramid(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle inputColor, TextureHandle output, bool isPreRefraction) { - // Here we cannot rely on automatic pass pruning if the result is not read + // Here we cannot rely on automatic pass culling if the result is not read // because the output texture is imported from outside of render graph (as it is persistent) - // and in this case the pass is considered as having side effect and cannot be pruned. + // and in this case the pass is considered as having side effect and cannot be culled. if (isPreRefraction) { if (!hdCamera.frameSettings.IsEnabled(FrameSettingsField.Refraction)) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs index 9116489090a..c9a5e217967 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -541,9 +541,6 @@ public HDRenderPipeline(HDRenderPipelineAsset asset, HDRenderPipelineAsset defau // TODO : Bind this directly to the debug menu instead of having an intermediate value m_MSAASamples = m_Asset ? m_Asset.currentPlatformRenderPipelineSettings.msaaSampleCount : MSAASamples.None; - // Propagate it to the debug menu - m_DebugDisplaySettings.data.msaaSamples = m_MSAASamples; - #if ENABLE_VIRTUALTEXTURES // Debug.Log("Scriptable renderpipeline VT enabled"); m_MRTTransparentMotionVec = new RenderTargetIdentifier[2 + VTBufferManager.AdditionalForwardRT]; @@ -2292,7 +2289,10 @@ AOVRequestData aovRequest else { // Make sure we are in sync with the debug menu for the msaa count - m_MSAASamples = m_DebugDisplaySettings.data.msaaSamples; + m_MSAASamples = (m_DebugDisplaySettings.data.msaaSamples != MSAASamples.None) ? + m_DebugDisplaySettings.data.msaaSamples : + m_Asset.currentPlatformRenderPipelineSettings.msaaSampleCount; + m_SharedRTManager.SetNumMSAASamples(m_MSAASamples); m_DebugDisplaySettings.UpdateCameraFreezeOptions(); @@ -2632,7 +2632,7 @@ void Callback(CommandBuffer c, HDGPUAsyncTaskParams a) { var depthTexture = m_SharedRTManager.GetDepthTexture(); var normalBuffer = m_SharedRTManager.GetNormalBuffer(); - var motionVectors = m_SharedRTManager.GetMotionVectorsBuffer(); + var motionVectors = m_Asset.currentPlatformRenderPipelineSettings.supportMotionVectors ? m_SharedRTManager.GetMotionVectorsBuffer() : TextureXR.GetBlackTextureArray(); SSAOTask.Start(cmd, asyncParams, AsyncSSAODispatch, !haveAsyncTaskWithShadows); haveAsyncTaskWithShadows = true; @@ -2702,7 +2702,10 @@ void Callback(CommandBuffer c, HDCamera cam) } if (!hdCamera.frameSettings.SSAORunsAsync()) - m_AmbientOcclusionSystem.Render(cmd, hdCamera, renderContext, m_SharedRTManager.GetDepthTexture(), m_SharedRTManager.GetNormalBuffer(), m_SharedRTManager.GetMotionVectorsBuffer(), m_ShaderVariablesRayTracingCB, m_FrameCount); + { + var motionVectors = m_Asset.currentPlatformRenderPipelineSettings.supportMotionVectors ? m_SharedRTManager.GetMotionVectorsBuffer() : TextureXR.GetBlackTextureArray(); + m_AmbientOcclusionSystem.Render(cmd, hdCamera, renderContext, m_SharedRTManager.GetDepthTexture(), m_SharedRTManager.GetNormalBuffer(), motionVectors, m_ShaderVariablesRayTracingCB, m_FrameCount); + } // Run the contact shadows here as they need the light list HDUtils.CheckRTCreated(m_ContactShadowBuffer); @@ -5481,6 +5484,7 @@ void RenderPostProcess(CullingResults cullResults, HDCamera hdCamera, RenderTarg cmd.SetGlobalTexture(HDShaderIDs._CameraDepthTexture, m_SharedRTManager.GetDepthStencilBuffer()); // Post-processes output straight to the backbuffer + var motionVectors = m_Asset.currentPlatformRenderPipelineSettings.supportMotionVectors ? m_SharedRTManager.GetMotionVectorsBuffer() : TextureXR.GetBlackTextureArray(); m_PostProcessSystem.Render( cmd: cmd, camera: hdCamera, @@ -5490,7 +5494,7 @@ void RenderPostProcess(CullingResults cullResults, HDCamera hdCamera, RenderTarg finalRT: destination, depthBuffer: m_SharedRTManager.GetDepthStencilBuffer(), depthMipChain: m_SharedRTManager.GetDepthTexture(), - motionVecTexture: m_SharedRTManager.GetMotionVectorsBuffer(), + motionVecTexture: motionVectors, flipY: parameters.flipYInPostProcess ); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingAmbientOcclusion.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingAmbientOcclusion.cs index 92817728576..410d9adf598 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingAmbientOcclusion.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingAmbientOcclusion.cs @@ -5,14 +5,11 @@ namespace UnityEngine.Rendering.HighDefinition internal class HDRaytracingAmbientOcclusion { // External structures - RenderPipelineResources m_PipelineResources = null; HDRenderPipelineRayTracingResources m_PipelineRayTracingResources = null; - RenderPipelineSettings m_PipelineSettings; HDRenderPipeline m_RenderPipeline = null; // The target denoising kernel - static int m_KernelFilter; - static int m_RTAOApplyIntensityKernel; + int m_RTAOApplyIntensityKernel; // Intermediate buffer that stores the ambient occlusion pre-denoising RTHandle m_AOIntermediateBuffer0 = null; @@ -30,8 +27,6 @@ public HDRaytracingAmbientOcclusion() public void Init(HDRenderPipeline renderPipeline) { // Keep track of the pipeline asset - m_PipelineSettings = renderPipeline.currentPlatformRenderPipelineSettings; - m_PipelineResources = renderPipeline.asset.renderPipelineResources; m_PipelineRayTracingResources = renderPipeline.asset.renderPipelineRayTracingResources; // keep track of the render pipeline @@ -59,97 +54,244 @@ static RTHandle AmbientOcclusionHistoryBufferAllocatorFunction(string viewName, } - public void SetDefaultAmbientOcclusionTexture(CommandBuffer cmd) + static public void SetDefaultAmbientOcclusionTexture(CommandBuffer cmd) { cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, TextureXR.GetBlackTexture()); } - public void RenderAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTexture, ShaderVariablesRaytracing globalCB, ScriptableRenderContext renderContext, int frameCount) + // The set of parameters that are used to trace the ambient occlusion + public struct AmbientOcclusionTraceParameters + { + // Generic attributes + public float rayLength; + public int sampleCount; + + // Camera data + public int actualWidth; + public int actualHeight; + public int viewCount; + + // Shaders + public RayTracingShader aoShaderRT; + + // Constant buffer + public ShaderVariablesRaytracing raytracingCB; + } + + public struct AmbientOcclusionTraceResources + { + // Input Buffer + public RayTracingAccelerationStructure rayTracingAccelerationStructure; + public RTHandle depthStencilBuffer; + public RTHandle normalBuffer; + public BlueNoise.DitheredTextureSet ditheredTextureSet; + + // Debug textures + public RTHandle rayCountTexture; + + // Output Buffer + public RTHandle outputTexture; + } + + AmbientOcclusionTraceParameters PrepareAmbientOcclusionTraceParameters(HDCamera hdCamera, ShaderVariablesRaytracing raytracingCB) + { + AmbientOcclusionTraceParameters rtAOParameters = new AmbientOcclusionTraceParameters(); + var aoSettings = hdCamera.volumeStack.GetComponent(); + rtAOParameters.rayLength = aoSettings.rayLength; + rtAOParameters.sampleCount = aoSettings.sampleCount; + rtAOParameters.actualWidth = hdCamera.actualWidth; + rtAOParameters.actualHeight = hdCamera.actualHeight; + rtAOParameters.viewCount = hdCamera.viewCount; + rtAOParameters.raytracingCB = raytracingCB; + rtAOParameters.aoShaderRT = m_PipelineRayTracingResources.aoRaytracingRT; + return rtAOParameters; + } + + AmbientOcclusionTraceResources PrepareAmbientOcclusionTraceResources(HDCamera hdCamera, RTHandle outputTexture) + { + AmbientOcclusionTraceResources rtAOResources = new AmbientOcclusionTraceResources(); + rtAOResources.rayTracingAccelerationStructure = m_RenderPipeline.RequestAccelerationStructure(); + rtAOResources.depthStencilBuffer = m_RenderPipeline.sharedRTManager.GetDepthStencilBuffer(); + rtAOResources.normalBuffer = m_RenderPipeline.sharedRTManager.GetNormalBuffer(); + rtAOResources.rayCountTexture = m_RenderPipeline.GetRayCountManager().GetRayCountTexture(); + BlueNoise blueNoise = m_RenderPipeline.GetBlueNoiseManager(); + rtAOResources.ditheredTextureSet = blueNoise.DitheredTextureSet8SPP(); + rtAOResources.outputTexture = outputTexture; + return rtAOResources; + } + + // The set of parameters that are used to trace the ambient occlusion + public struct AmbientOcclusionDenoiseParameters + { + // Generic attributes + public bool denoise; + public float denoiserRadius; + public float historyValidity; + + // Camera data + public int actualWidth; + public int actualHeight; + public int viewCount; + } + + public struct AmbientOcclusionDenoiseResources + { + // Temporary buffers + public RTHandle intermediateBuffer; + + // Output Buffer + public RTHandle ambientOcclusionHistory; + public RTHandle inputTexture; + public RTHandle outputTexture; + } + + AmbientOcclusionDenoiseParameters PrepareAmbientOcclusionDenoiseParameters(HDCamera hdCamera, ShaderVariablesRaytracing raytracingCB) + { + AmbientOcclusionDenoiseParameters rtAOParameters = new AmbientOcclusionDenoiseParameters(); + var aoSettings = hdCamera.volumeStack.GetComponent(); + rtAOParameters.denoise = aoSettings.denoise; + rtAOParameters.denoiserRadius = aoSettings.denoiserRadius; + rtAOParameters.historyValidity = 1.0f; +#if UNITY_HDRP_DXR_TESTS_DEFINE + if (Application.isPlaying) + rtAOParameters.historyValidity = 0.0f; + else +#endif + // We need to check if something invalidated the history buffers + rtAOParameters.historyValidity = m_RenderPipeline.ValidRayTracingHistory(hdCamera) ? 1.0f : 0.0f; + rtAOParameters.actualWidth = hdCamera.actualWidth; + rtAOParameters.actualHeight = hdCamera.actualHeight; + rtAOParameters.viewCount = hdCamera.viewCount; + return rtAOParameters; + } + + AmbientOcclusionDenoiseResources PrepareAmbientOcclusionDenoiseResources(HDCamera hdCamera, RTHandle inputTexture, RTHandle intermediateTexture, RTHandle outputTexture) + { + AmbientOcclusionDenoiseResources rtAOResources = new AmbientOcclusionDenoiseResources(); + rtAOResources.ambientOcclusionHistory = hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.RaytracedAmbientOcclusion) + ?? hdCamera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.RaytracedAmbientOcclusion, AmbientOcclusionHistoryBufferAllocatorFunction, 1); + rtAOResources.inputTexture = inputTexture; + rtAOResources.intermediateBuffer = intermediateTexture; + rtAOResources.outputTexture = outputTexture; + return rtAOResources; + } + + // The set of parameters that are used to trace the ambient occlusion + public struct AmbientOcclusionComposeParameters + { + // Generic attributes + public float intensity; + + // Camera data + public int actualWidth; + public int actualHeight; + public int viewCount; + + // Kernels + public int intensityKernel; + + // Shaders + public ComputeShader aoShaderCS; + } + + AmbientOcclusionComposeParameters PrepareAmbientOcclusionComposeParameters(HDCamera hdCamera, ShaderVariablesRaytracing raytracingCB) + { + AmbientOcclusionComposeParameters aoComposeParameters = new AmbientOcclusionComposeParameters(); + var aoSettings = hdCamera.volumeStack.GetComponent(); + aoComposeParameters.intensity = aoSettings.intensity.value; + aoComposeParameters.actualWidth = hdCamera.actualWidth; + aoComposeParameters.actualHeight = hdCamera.actualHeight; + aoComposeParameters.viewCount = hdCamera.viewCount; + aoComposeParameters.aoShaderCS = m_PipelineRayTracingResources.aoRaytracingCS; + aoComposeParameters.intensityKernel = m_RTAOApplyIntensityKernel; + return aoComposeParameters; + } + + public void RenderRTAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTexture, ShaderVariablesRaytracing globalCB, ScriptableRenderContext renderContext, int frameCount) { - // If any of the previous requirements is missing, the effect is not requested or no acceleration structure, set the default one and leave right away if (!m_RenderPipeline.GetRayTracingState()) { SetDefaultAmbientOcclusionTexture(cmd); return; } + AmbientOcclusionTraceParameters aoTraceParameters = PrepareAmbientOcclusionTraceParameters(hdCamera, globalCB); + AmbientOcclusionTraceResources aoTraceResources = PrepareAmbientOcclusionTraceResources(hdCamera, m_AOIntermediateBuffer0); + // If any of the previous requirements is missing, the effect is not requested or no acceleration structure, set the default one and leave right away + using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingAmbientOcclusion))) + { + TraceAO(cmd, aoTraceParameters, aoTraceResources); + } - RayTracingShader aoShaderRT = m_PipelineRayTracingResources.aoRaytracingRT; - var aoSettings = hdCamera.volumeStack.GetComponent(); - RayCountManager rayCountManager = m_RenderPipeline.GetRayCountManager(); + AmbientOcclusionDenoiseParameters aoDenoiseParameters = PrepareAmbientOcclusionDenoiseParameters(hdCamera, globalCB); + AmbientOcclusionDenoiseResources aoDenoiserResources = PrepareAmbientOcclusionDenoiseResources(hdCamera, m_AOIntermediateBuffer0, m_AOIntermediateBuffer1, outputTexture); + using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingFilterAmbientOcclusion))) + { + DenoiseAO(cmd, hdCamera, aoDenoiseParameters, aoDenoiserResources); + } - using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingAmbientOcclusion))) + AmbientOcclusionComposeParameters aoComposeParameters = PrepareAmbientOcclusionComposeParameters(hdCamera, globalCB); + using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingComposeAmbientOcclusion))) { - // Grab the acceleration structure for the target camera - RayTracingAccelerationStructure accelerationStructure = m_RenderPipeline.RequestAccelerationStructure(); + ComposeAO(cmd, hdCamera, aoComposeParameters, outputTexture); + } + } + + static public void TraceAO(CommandBuffer cmd, AmbientOcclusionTraceParameters aoTraceParameters, AmbientOcclusionTraceResources aoTraceResources) + { + // Define the shader pass to use for the reflection pass + cmd.SetRayTracingShaderPass(aoTraceParameters.aoShaderRT, "VisibilityDXR"); - // Define the shader pass to use for the reflection pass - cmd.SetRayTracingShaderPass(aoShaderRT, "VisibilityDXR"); + // Set the acceleration structure for the pass + cmd.SetRayTracingAccelerationStructure(aoTraceParameters.aoShaderRT, HDShaderIDs._RaytracingAccelerationStructureName, aoTraceResources.rayTracingAccelerationStructure); - // Set the acceleration structure for the pass - cmd.SetRayTracingAccelerationStructure(aoShaderRT, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); + // Inject the ray generation data (be careful of the global constant buffer limitation) + aoTraceParameters.raytracingCB._RaytracingRayMaxLength = aoTraceParameters.rayLength; + aoTraceParameters.raytracingCB._RaytracingNumSamples = aoTraceParameters.sampleCount; + ConstantBuffer.PushGlobal(cmd, aoTraceParameters.raytracingCB, HDShaderIDs._ShaderVariablesRaytracing); - // Inject the ray generation data (be careful of the global constant buffer limitation) - globalCB._RaytracingRayMaxLength = aoSettings.rayLength; - globalCB._RaytracingNumSamples = aoSettings.sampleCount; - ConstantBuffer.PushGlobal(cmd, globalCB, HDShaderIDs._ShaderVariablesRaytracing); + // Set the data for the ray generation + cmd.SetRayTracingTextureParam(aoTraceParameters.aoShaderRT, HDShaderIDs._DepthTexture, aoTraceResources.depthStencilBuffer); + cmd.SetRayTracingTextureParam(aoTraceParameters.aoShaderRT, HDShaderIDs._NormalBufferTexture, aoTraceResources.normalBuffer); - // Set the data for the ray generation - cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._DepthTexture, m_RenderPipeline.sharedRTManager.GetDepthStencilBuffer()); - cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._NormalBufferTexture, m_RenderPipeline.sharedRTManager.GetNormalBuffer()); + // Inject the ray-tracing sampling data + BlueNoise.BindDitheredTextureSet(cmd, aoTraceResources.ditheredTextureSet); - // Inject the ray-tracing sampling data - BlueNoise blueNoise = m_RenderPipeline.GetBlueNoiseManager(); - blueNoise.BindDitheredRNGData8SPP(cmd); + // Set the output textures + cmd.SetRayTracingTextureParam(aoTraceParameters.aoShaderRT, HDShaderIDs._RayCountTexture, aoTraceResources.rayCountTexture); + cmd.SetRayTracingTextureParam(aoTraceParameters.aoShaderRT, HDShaderIDs._AmbientOcclusionTextureRW, aoTraceResources.outputTexture); + // Run the computation + cmd.DispatchRays(aoTraceParameters.aoShaderRT, m_RayGenShaderName, (uint)aoTraceParameters.actualWidth, (uint)aoTraceParameters.actualHeight, (uint)aoTraceParameters.viewCount); + } - // Set the output textures - cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._RayCountTexture, rayCountManager.GetRayCountTexture()); - cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._AmbientOcclusionTextureRW, m_AOIntermediateBuffer0); + public void DenoiseAO(CommandBuffer cmd, HDCamera hdCamera, AmbientOcclusionDenoiseParameters aoDenoiseParameters, AmbientOcclusionDenoiseResources aoDenoiseResources) + { + if (aoDenoiseParameters.denoise) + { + // Apply the temporal denoiser + HDTemporalFilter temporalFilter = m_RenderPipeline.GetTemporalFilter(); + temporalFilter.DenoiseBuffer(cmd, hdCamera, aoDenoiseResources.inputTexture, aoDenoiseResources.ambientOcclusionHistory, aoDenoiseResources.intermediateBuffer, historyValidity: aoDenoiseParameters.historyValidity); - // Run the computation - cmd.DispatchRays(aoShaderRT, m_RayGenShaderName, (uint)hdCamera.actualWidth, (uint)hdCamera.actualHeight, (uint)hdCamera.viewCount); + // Apply the diffuse denoiser + HDDiffuseDenoiser diffuseDenoiser = m_RenderPipeline.GetDiffuseDenoiser(); + diffuseDenoiser.DenoiseBuffer(cmd, hdCamera, aoDenoiseResources.intermediateBuffer, aoDenoiseResources.outputTexture, aoDenoiseParameters.denoiserRadius); } - - using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingFilterAmbientOcclusion))) + else { - if(aoSettings.denoise) - { - // Grab the history buffer - RTHandle ambientOcclusionHistory = hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.RaytracedAmbientOcclusion) - ?? hdCamera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.RaytracedAmbientOcclusion, AmbientOcclusionHistoryBufferAllocatorFunction, 1); - - float historyValidity = 1.0f; - #if UNITY_HDRP_DXR_TESTS_DEFINE - if (Application.isPlaying) - historyValidity = 0.0f; - else - #endif - // We need to check if something invalidated the history buffers - historyValidity = m_RenderPipeline.ValidRayTracingHistory(hdCamera) ? 1.0f : 0.0f; - - // Apply the temporal denoiser - HDTemporalFilter temporalFilter = m_RenderPipeline.GetTemporalFilter(); - temporalFilter.DenoiseBuffer(cmd, hdCamera, m_AOIntermediateBuffer0, ambientOcclusionHistory, m_AOIntermediateBuffer1, historyValidity: historyValidity); - - // Apply the diffuse denoiser - HDDiffuseDenoiser diffuseDenoiser = m_RenderPipeline.GetDiffuseDenoiser(); - diffuseDenoiser.DenoiseBuffer(cmd, hdCamera, m_AOIntermediateBuffer1, outputTexture, aoSettings.denoiserRadius); - } - else - { - HDUtils.BlitCameraTexture(cmd, m_AOIntermediateBuffer0, outputTexture); - } - - ComputeShader aoShaderCS = m_PipelineRayTracingResources.aoRaytracingCS; - cmd.SetComputeFloatParam(aoShaderCS, HDShaderIDs._RaytracingAOIntensity, aoSettings.intensity.value); - cmd.SetComputeTextureParam(aoShaderCS, m_RTAOApplyIntensityKernel, HDShaderIDs._AmbientOcclusionTextureRW, outputTexture); - int texWidth = hdCamera.actualWidth; - int texHeight = hdCamera.actualHeight; - int areaTileSize = 8; - int numTilesXHR = (texWidth + (areaTileSize - 1)) / areaTileSize; - int numTilesYHR = (texHeight + (areaTileSize - 1)) / areaTileSize; - cmd.DispatchCompute(aoShaderCS, m_RTAOApplyIntensityKernel, numTilesXHR, numTilesYHR, hdCamera.viewCount); + HDUtils.BlitCameraTexture(cmd, aoDenoiseResources.inputTexture, aoDenoiseResources.outputTexture); } + } + + static public void ComposeAO(CommandBuffer cmd, HDCamera hdCamera, AmbientOcclusionComposeParameters aoComposeParameters, RTHandle outputTexture) + { + cmd.SetComputeFloatParam(aoComposeParameters.aoShaderCS, HDShaderIDs._RaytracingAOIntensity, aoComposeParameters.intensity); + cmd.SetComputeTextureParam(aoComposeParameters.aoShaderCS, aoComposeParameters.intensityKernel, HDShaderIDs._AmbientOcclusionTextureRW, outputTexture); + int texWidth = aoComposeParameters.actualWidth; + int texHeight = aoComposeParameters.actualHeight; + int areaTileSize = 8; + int numTilesXHR = (texWidth + (areaTileSize - 1)) / areaTileSize; + int numTilesYHR = (texHeight + (areaTileSize - 1)) / areaTileSize; + cmd.DispatchCompute(aoComposeParameters.aoShaderCS, aoComposeParameters.intensityKernel, numTilesXHR, numTilesYHR, aoComposeParameters.viewCount); // Bind the textures and the params cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, outputTexture); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs index 3f2bf953156..1a85efe29e7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingLightCluster.cs @@ -58,7 +58,11 @@ internal class HDRaytracingLightCluster public static readonly int _ClusterCenterPosition = Shader.PropertyToID("_ClusterCenterPosition"); public static readonly int _ClusterDimension = Shader.PropertyToID("_ClusterDimension"); - // Temporary variables + // Temporary variables + // This value is now fixed for every HDRP asset + int m_NumLightsPerCell = 0; + + // These values are overriden for every light cluster that is built Vector3 minClusterPos = new Vector3(0.0f, 0.0f, 0.0f); Vector3 maxClusterPos = new Vector3(0.0f, 0.0f, 0.0f); Vector3 clusterCellSize = new Vector3(0.0f, 0.0f, 0.0f); @@ -68,7 +72,6 @@ internal class HDRaytracingLightCluster int areaLightCount = 0; int envLightCount = 0; int totalLightCount = 0; - int numLightsPerCell = 0; Bounds bounds = new Bounds(); Vector3 minBounds = new Vector3(float.MaxValue, float.MaxValue, float.MaxValue); Vector3 maxBounds = new Vector3(-float.MaxValue, -float.MaxValue, -float.MaxValue); @@ -98,6 +101,11 @@ public void Initialize(HDRenderPipeline renderPipeline) m_LightDataGPUArray = new ComputeBuffer(1, System.Runtime.InteropServices.Marshal.SizeOf(typeof(LightData))); m_EnvLightDataGPUArray = new ComputeBuffer(1, System.Runtime.InteropServices.Marshal.SizeOf(typeof(EnvLightData))); + // Allocate the light cluster buffer at the right size + m_NumLightsPerCell = renderPipeline.asset.currentPlatformRenderPipelineSettings.lightLoopSettings.maxLightsPerClusterCell; + int bufferSize = 64 * 64 * 32 * (renderPipeline.asset.currentPlatformRenderPipelineSettings.lightLoopSettings.maxLightsPerClusterCell + 4); + ResizeClusterBuffer(bufferSize); + // Create the material required for debug m_DebugMaterial = CoreUtils.CreateEngineMaterial(m_RenderPipelineRayTracingResources.lightClusterDebugS); } @@ -434,16 +442,6 @@ void BuildLightCluster(HDCamera hdCamera, CommandBuffer cmd) { using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingBuildCluster))) { - var lightClusterSettings = hdCamera.volumeStack.GetComponent(); - numLightsPerCell = lightClusterSettings.maxNumLightsPercell.value; - - // Make sure the Cluster buffer has the right size - int bufferSize = 64 * 64 * 32 * (numLightsPerCell + 4); - if (m_LightCluster.count != bufferSize) - { - ResizeClusterBuffer(bufferSize); - } - // Grab the kernel ComputeShader lightClusterCS = m_RenderPipelineRayTracingResources.lightClusterBuildCS; int lightClusterKernel = lightClusterCS.FindKernel(m_LightClusterKernelName); @@ -691,7 +689,7 @@ public int GetEnvLightCount() public int GetLightPerCellCount() { - return numLightsPerCell; + return m_NumLightsPerCell; } void InvalidateCluster() diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs index 59ec9f1f218..236d26614da 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs @@ -207,7 +207,7 @@ AccelerationStructureStatus AddInstanceToRAS(Renderer currentRenderer, for (int meshIdx = 0; meshIdx < numSubMeshes; ++meshIdx) { - // Intially we consider the potential mesh as invalid + // Initially we consider the potential mesh as invalid bool validMesh = false; if (materialArray.Count > meshIdx) { @@ -275,8 +275,9 @@ AccelerationStructureStatus AddInstanceToRAS(Renderer currentRenderer, } } - // Propagate the opacity mask only if all submaterials are opaque - if (!hasTransparentSubMaterial) + // Propagate the opacity mask only if all sub materials are opaque + bool isOpaque = !hasTransparentSubMaterial; + if (isOpaque) { instanceFlag |= (uint)(RayTracingRendererFlag.Opaque); } @@ -413,10 +414,22 @@ internal void BuildRayTracingAccelerationStructure(HDCamera hdCamera) + m_RayTracingLights.reflectionProbeArray.Count; AmbientOcclusion aoSettings = hdCamera.volumeStack.GetComponent(); + bool rtAOEnabled = aoSettings.rayTracing.value; ScreenSpaceReflection reflSettings = hdCamera.volumeStack.GetComponent(); + bool rtREnabled = reflSettings.enabled.value && reflSettings.rayTracing.value; GlobalIllumination giSettings = hdCamera.volumeStack.GetComponent(); + bool rtGIEnabled = giSettings.enable.value && giSettings.rayTracing.value; RecursiveRendering recursiveSettings = hdCamera.volumeStack.GetComponent(); + bool rrEnabled = recursiveSettings.enable.value; + SubSurfaceScattering sssSettings = hdCamera.volumeStack.GetComponent(); + bool rtSSSEnabled = sssSettings.rayTracing.value; PathTracing pathTracingSettings = hdCamera.volumeStack.GetComponent(); + bool ptEnabled = pathTracingSettings.enable.value; + + // We need to check if we should be building the ray tracing acceleration structure (if required by any effect) + bool rayTracingRequired = rtAOEnabled || rtREnabled || rtGIEnabled || rrEnabled || rtSSSEnabled || ptEnabled || rayTracedShadow; + if (!rayTracingRequired) + return; // We need to process the emissive meshes of the rectangular area lights for (var i = 0; i < m_RayTracingLights.hdRectLightArray.Count; i++) @@ -430,11 +443,11 @@ internal void BuildRayTracingAccelerationStructure(HDCamera hdCamera) // This objects should be included into the RAS AddInstanceToRAS(currentRenderer, rayTracedShadow, - aoSettings.rayTracing.value, aoSettings.layerMask.value, - reflSettings.rayTracing.value, reflSettings.layerMask.value, - giSettings.rayTracing.value, giSettings.layerMask.value, - recursiveSettings.enable.value, recursiveSettings.layerMask.value, - pathTracingSettings.enable.value, pathTracingSettings.layerMask.value); + rtAOEnabled, aoSettings.layerMask.value, + rtREnabled, reflSettings.layerMask.value, + rtGIEnabled, giSettings.layerMask.value, + rrEnabled, recursiveSettings.layerMask.value, + ptEnabled, pathTracingSettings.layerMask.value); } int matCount = m_MaterialCRCs.Count; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs index bd5c5bd63b6..81ec4d72ab2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs @@ -8,12 +8,6 @@ namespace UnityEngine.Rendering.HighDefinition [Serializable, VolumeComponentMenu("Ray Tracing/Light Cluster (Preview)")] public sealed class LightCluster : VolumeComponent { - /// - /// Controls the maximal number lights in a cell. - /// - [Tooltip("Controls the maximal number lights in a cell.")] - public ClampedIntParameter maxNumLightsPercell = new ClampedIntParameter(10, 0, 24); - /// /// Controls the range of the cluster around the camera. /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingDeferred.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingDeferred.compute index 9e77ffee38b..d493f5a3758 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingDeferred.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Deferred/RaytracingDeferred.compute @@ -93,7 +93,7 @@ void RAYTRACING_DEFERRED(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 gro // Evaluate the complete lighting LightLoopOutput lightLoopOutput; - LightLoop(V, posInput, preLightData, bsdfData, builtinData, 0.0, 0.0, float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), lightLoopOutput); + LightLoop(V, posInput, preLightData, bsdfData, builtinData, 0.0, 1.0, float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), lightLoopOutput); // Alias float3 diffuseLighting = lightLoopOutput.diffuseLighting; @@ -183,7 +183,7 @@ void RaytracingDiffuseDeferred(uint3 dispatchThreadId : SV_DispatchThreadID, uin // Evaluate lighting LightLoopOutput lightLoopOutput; - LightLoop(viewWS, posInput, preLightData, bsdfData, builtinData, 0.0, 0.0, float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), lightLoopOutput); + LightLoop(viewWS, posInput, preLightData, bsdfData, builtinData, 0.0, 1.0, float3(0.0, 0.0, 0.0), float3(0.0, 0.0, 0.0), lightLoopOutput); // Alias float3 diffuseLighting = lightLoopOutput.diffuseLighting; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl index ee4571c145f..745d5075edc 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingLightLoop.hlsl @@ -119,7 +119,6 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS #else EnvLightData envLightData = _EnvLightDatasRT[envLightIdx]; #endif - envLightData.multiplier = _EnvLightDatas[envLightIdx].multiplier; if (reflectionHierarchyWeight < 1.0) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/BlueNoise.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/BlueNoise.cs index 5567db564fa..d2a3f18450a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/BlueNoise.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/BlueNoise.cs @@ -106,6 +106,15 @@ static void InitTextures(int size, TextureFormat format, Texture2D[] sourceTextu } } + // Structure that holds all the dithered sampling texture that shall be binded at dispatch time. + public struct DitheredTextureSet + { + public Texture2D owenScrambled256Tex; + public Texture2D scramblingTile; + public Texture2D rankingTile; + public Texture2D scramblingTex; + } + internal void BindDitheredRNGData1SPP(CommandBuffer cmd) { cmd.SetGlobalTexture(HDShaderIDs._OwenScrambledTexture, m_RenderPipelineResources.textures.owenScrambled256Tex); @@ -122,6 +131,17 @@ internal void BindDitheredRNGData8SPP(CommandBuffer cmd) cmd.SetGlobalTexture(HDShaderIDs._ScramblingTexture, m_RenderPipelineResources.textures.scramblingTex); } + internal DitheredTextureSet DitheredTextureSet8SPP() + { + // This is a structure, so the new shouldn't be a problem. + DitheredTextureSet ditheredTextureSet = new DitheredTextureSet(); + ditheredTextureSet.owenScrambled256Tex = m_RenderPipelineResources.textures.owenScrambled256Tex; + ditheredTextureSet.scramblingTile = m_RenderPipelineResources.textures.scramblingTile8SPP; + ditheredTextureSet.rankingTile = m_RenderPipelineResources.textures.rankingTile8SPP; + ditheredTextureSet.scramblingTex = m_RenderPipelineResources.textures.scramblingTex; + return ditheredTextureSet; + } + internal void BindDitheredRNGData256SPP(CommandBuffer cmd) { cmd.SetGlobalTexture(HDShaderIDs._OwenScrambledTexture, m_RenderPipelineResources.textures.owenScrambled256Tex); @@ -129,5 +149,13 @@ internal void BindDitheredRNGData256SPP(CommandBuffer cmd) cmd.SetGlobalTexture(HDShaderIDs._RankingTileXSPP, m_RenderPipelineResources.textures.rankingTile256SPP); cmd.SetGlobalTexture(HDShaderIDs._ScramblingTexture, m_RenderPipelineResources.textures.scramblingTex); } + + internal static void BindDitheredTextureSet(CommandBuffer cmd, DitheredTextureSet ditheredTextureSet) + { + cmd.SetGlobalTexture(HDShaderIDs._OwenScrambledTexture, ditheredTextureSet.owenScrambled256Tex); + cmd.SetGlobalTexture(HDShaderIDs._ScramblingTileXSPP, ditheredTextureSet.scramblingTile); + cmd.SetGlobalTexture(HDShaderIDs._RankingTileXSPP, ditheredTextureSet.rankingTile); + cmd.SetGlobalTexture(HDShaderIDs._ScramblingTexture, ditheredTextureSet.scramblingTex); + } } } diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Aluminium_Satin.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Aluminium_Satin.mat index 2b44869cc61..ac1fdea7e1a 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Aluminium_Satin.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Aluminium_Satin.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Aluminium_Satin m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _ENABLE_GEOMETRIC_SPECULAR_AA _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _ENABLE_GEOMETRIC_SPECULAR_AA + _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +35,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +136,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -199,13 +203,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -271,3 +278,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Anodized Metal.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Anodized Metal.mat index ffb590e160b..53c5f0118f1 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Anodized Metal.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Anodized Metal.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Anodized Metal m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _MASKMAP _MATERIAL_FEATURE_CLEAR_COAT _MATERIAL_FEATURE_IRIDESCENCE - _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _MATERIAL_FEATURE_CLEAR_COAT + _MATERIAL_FEATURE_IRIDESCENCE _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0.5 @@ -186,13 +189,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 3 - _PPDMaxSamples: 5 - _PPDMinSamples: 2 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &8369081654343969183 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/BlueGlass.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/BlueGlass.mat index 5932ab7b7ce..12967e9ed88 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/BlueGlass.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/BlueGlass.mat @@ -10,8 +10,8 @@ Material: m_Name: BlueGlass m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} m_ShaderKeywords: _ALPHATEST_ON _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING - _ENABLE_FOG_ON_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE _REFRACTION_THIN - _SURFACE_TYPE_TRANSPARENT _TRANSPARENT_WRITES_MOTION_VEC + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE + _REFRACTION_THIN _SURFACE_TYPE_TRANSPARENT _TRANSPARENT_WRITES_MOTION_VEC m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -25,6 +25,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -166,6 +167,8 @@ Material: - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 - _AlphaTestRef: 0.5 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _BumpScale: 1 @@ -243,6 +246,7 @@ Material: - _NormalMapSpace: 0 - _NormalScale: 1 - _OcclusionStrength: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -250,7 +254,9 @@ Material: - _PPDPrimitiveWidth: 1 - _Parallax: 0.02 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 1 - _RefractionModel: 3 - _SSRefractionProjectionModel: 1 @@ -267,10 +273,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 @@ -326,6 +332,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6863551618953177472 MonoBehaviour: m_ObjectHideFlags: 11 @@ -338,4 +345,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Bricks.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Bricks.mat index ff93e82b533..a8fe4b06672 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Bricks.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Bricks.mat @@ -14,7 +14,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -122,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,6 +188,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -266,6 +269,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &3296553768279207297 MonoBehaviour: m_ObjectHideFlags: 11 @@ -278,4 +282,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/CarbonFiber.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/CarbonFiber.mat index bf0990a1b02..681e5ef1100 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/CarbonFiber.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/CarbonFiber.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: CarbonFiber m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _MASKMAP _MATERIAL_FEATURE_ANISOTROPY _MATERIAL_FEATURE_CLEAR_COAT - _NORMALMAP _NORMALMAP_TANGENT_SPACE _TANGENTMAP + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _MATERIAL_FEATURE_ANISOTROPY + _MATERIAL_FEATURE_CLEAR_COAT _NORMALMAP _NORMALMAP_TANGENT_SPACE _TANGENTMAP m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -23,6 +23,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -127,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0.508 - _BlendMode: 0 - _CoatCoverage: 1 @@ -194,13 +197,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 0.114 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -271,6 +277,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2860636894306438194 MonoBehaviour: m_ObjectHideFlags: 11 @@ -283,4 +290,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Cotton.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Cotton.mat index 1f07f88cb8d..c300d96798f 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Cotton.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Cotton.mat @@ -13,12 +13,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -118,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -126,6 +129,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -193,6 +198,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -201,6 +207,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 1 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -240,6 +247,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -257,7 +265,8 @@ Material: - _BaseColor: {r: 0.638, g: 0.638, b: 0.638, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 0.63799995, g: 0.63799995, b: 0.63799995, a: 1} - - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, a: -2.918011e-34} + - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, + a: -2.918011e-34} - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} @@ -287,4 +296,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/DC_WaterPuddle.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/DC_WaterPuddle.mat index 441236eb297..41081277630 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/DC_WaterPuddle.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/DC_WaterPuddle.mat @@ -14,7 +14,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 1 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2000 stringTagMap: {} disabledShaderPasses: [] m_SavedProperties: @@ -259,6 +259,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2844310349847455516 MonoBehaviour: m_ObjectHideFlags: 11 @@ -271,4 +272,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Denim.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Denim.mat index 12e0dc0b7f7..3fe46e86059 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Denim.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Denim.mat @@ -13,12 +13,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -118,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -126,6 +129,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -193,6 +198,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -201,6 +207,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 1 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -240,6 +247,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -287,4 +295,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Fern.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Fern.mat index dae95e954c9..b1d3351acc3 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Fern.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Fern.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,8 +22,9 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Fern m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _ALPHATEST_ON _DISABLE_DECALS _DISABLE_SSR _DOUBLESIDED_ON _MASKMAP - _MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE _THICKNESSMAP + m_ShaderKeywords: _ALPHATEST_ON _DISABLE_DECALS _DISABLE_SSR _DISABLE_SSR_TRANSPARENT + _DOUBLESIDED_ON _MASKMAP _MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE + _THICKNESSMAP m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 @@ -37,6 +38,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -177,6 +179,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _BumpScale: 1 @@ -255,6 +259,7 @@ Material: - _NormalMapSpace: 0 - _NormalScale: 1 - _OcclusionStrength: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 8.6 @@ -262,7 +267,9 @@ Material: - _PPDPrimitiveWidth: 1 - _Parallax: 0.02 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 0 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -348,3 +355,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GlassThin.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GlassThin.mat index 7d880c0a6ac..0ed1874ba22 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GlassThin.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GlassThin.mat @@ -10,8 +10,8 @@ Material: m_Name: GlassThin m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} m_ShaderKeywords: _ALPHATEST_ON _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING - _ENABLE_FOG_ON_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE _REFRACTION_THIN - _SURFACE_TYPE_TRANSPARENT + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _MASKMAP _NORMALMAP_TANGENT_SPACE + _REFRACTION_THIN _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -25,6 +25,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -166,6 +167,8 @@ Material: - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 - _AlphaTestRef: 0.5 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _BumpScale: 1 @@ -243,6 +246,7 @@ Material: - _NormalMapSpace: 0 - _NormalScale: 1 - _OcclusionStrength: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -250,7 +254,9 @@ Material: - _PPDPrimitiveWidth: 1 - _Parallax: 0.02 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 1 - _RefractionModel: 3 - _SSRefractionProjectionModel: 1 @@ -267,10 +273,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 @@ -326,6 +332,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6863551618953177472 MonoBehaviour: m_ObjectHideFlags: 11 @@ -338,4 +345,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor 2.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor 2.mat index e324c5bbe13..fd589d6ee8b 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor 2.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor 2.mat @@ -13,7 +13,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -126,6 +127,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatCoverage: 1 @@ -196,12 +199,14 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 @@ -287,4 +292,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor.mat index 77ba3add6b9..f5ac5375e38 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/GreyFloor.mat @@ -13,7 +13,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -126,6 +127,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatCoverage: 1 @@ -196,12 +199,14 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 @@ -287,4 +292,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Lower_Layer.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Lower_Layer.mat index 205eb8e6d44..8a9a00ad046 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Lower_Layer.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Lower_Layer.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -21,18 +21,21 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Hair_Lower_Layer - m_Shader: {fileID: -6465566751694194690, guid: 101a796373a94404faec2ab2055d5d4b, type: 3} + m_Shader: {fileID: -6465566751694194690, guid: 101a796373a94404faec2ab2055d5d4b, + type: 3} m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2450 + m_CustomRenderQueue: 2475 stringTagMap: MotionVector: User RenderType: TransparentCutout disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -140,6 +143,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.35 - _AlphaCutoffEnable: 1 @@ -149,6 +153,8 @@ Material: - _AlphaCutoffShadows: 0.6 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,7 +192,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableMotionVectorForVertexAnimation: 0 @@ -213,6 +219,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -221,6 +228,7 @@ Material: - _ReceivesSSR: 1 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 3 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _SecondarySpecularMultiplier: 0.5 @@ -259,7 +267,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 + - _TransparentWritingMotionVec: 1 - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Upper_Layer.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Upper_Layer.mat index a09f1d2c8f7..32b4936d647 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Upper_Layer.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Hair_Upper_Layer.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -21,9 +21,10 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: Hair_Upper_Layer - m_Shader: {fileID: -6465566751694194690, guid: 101a796373a94404faec2ab2055d5d4b, type: 3} + m_Shader: {fileID: -6465566751694194690, guid: 101a796373a94404faec2ab2055d5d4b, + type: 3} m_ShaderKeywords: _ALPHATEST_ON _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON - _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT + _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT _TRANSPARENT_WRITES_MOTION_VEC m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 @@ -34,6 +35,8 @@ Material: disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -141,6 +144,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.35 - _AlphaCutoffEnable: 1 @@ -150,6 +154,8 @@ Material: - _AlphaCutoffShadows: 0.6 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -187,7 +193,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableMotionVectorForVertexAnimation: 0 @@ -214,6 +220,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -222,6 +229,7 @@ Material: - _ReceivesSSR: 1 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 3 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _SecondarySpecularMultiplier: 1 @@ -237,10 +245,10 @@ Material: - _SpecularShift: 0.12 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 @@ -260,7 +268,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - - _TransparentWritingMotionVec: 0 + - _TransparentWritingMotionVec: 1 - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Leather.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Leather.mat index 8d18e278cac..67f5d53ac32 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Leather.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Leather.mat @@ -9,11 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Leather m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _MASKMAP _MATERIAL_FEATURE_IRIDESCENCE _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _MATERIAL_FEATURE_IRIDESCENCE + _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -180,12 +184,15 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -246,6 +253,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &657263134776264741 MonoBehaviour: m_ObjectHideFlags: 11 @@ -258,4 +266,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Linen.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Linen.mat index 2a7d3f3c5f7..87403cd8c0a 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Linen.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Linen.mat @@ -13,12 +13,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -118,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -126,6 +129,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -193,6 +198,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -201,6 +207,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 1 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -240,6 +247,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -257,7 +265,8 @@ Material: - _BaseColor: {r: 0.688, g: 0.6365376, b: 0.57104003, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 0.688, g: 0.6365376, b: 0.57104003, a: 1} - - _DiffusionProfileAsset: {r: -1.415065e+35, g: 8.5898663e-17, b: -5.2136603e+35, a: 8.070834e-22} + - _DiffusionProfileAsset: {r: -1.415065e+35, g: 8.5898663e-17, b: -5.2136603e+35, + a: 8.070834e-22} - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} @@ -287,4 +296,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Anisotropy Circles.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Anisotropy Circles.mat index 77978525774..5edda3978c8 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Anisotropy Circles.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Anisotropy Circles.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Metal Anisotropy Circles m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _MATERIAL_FEATURE_ANISOTROPY _MATERIAL_FEATURE_CLEAR_COAT _NORMALMAP_TANGENT_SPACE - _TANGENTMAP + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_ANISOTROPY _MATERIAL_FEATURE_CLEAR_COAT + _NORMALMAP_TANGENT_SPACE _TANGENTMAP m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -23,6 +23,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -127,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0.832 - _BlendMode: 0 - _CoatCoverage: 1 @@ -196,13 +199,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -273,6 +279,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &5726548062238927871 MonoBehaviour: m_ObjectHideFlags: 11 @@ -285,4 +292,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Brushed.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Brushed.mat index a1ed6fcfabd..8c9f123081e 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Brushed.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Brushed.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Metal Brushed m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _MATERIAL_FEATURE_ANISOTROPY _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_ANISOTROPY + _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -35,6 +36,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -139,6 +141,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: -0.6 - _BlendMode: 0 - _CoatCoverage: 1 @@ -208,13 +212,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -284,3 +291,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Foil.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Foil.mat index 228c1d36011..df81e57bd02 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Foil.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal Foil.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Metal Foil m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -126,6 +127,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: -0.342 - _BlendMode: 0 - _CoatCoverage: 1 @@ -195,13 +198,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -272,6 +278,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &4153346992469327675 MonoBehaviour: m_ObjectHideFlags: 11 @@ -284,4 +291,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal.mat index e79d38ffa0b..c0eabd0010a 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Metal.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 3 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -27,7 +27,7 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -137,6 +137,7 @@ Material: - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -201,6 +202,7 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nickel.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nickel.mat index 4c0b5a250d8..3b2a2259ac4 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nickel.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nickel.mat @@ -9,13 +9,13 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Nickel m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DISPLACEMENT_LOCK_TILING_SCALE _MASKMAP _MATERIAL_FEATURE_CLEAR_COAT - _MATERIAL_FEATURE_IRIDESCENCE _NORMALMAP _NORMALMAP_TANGENT_SPACE _PIXEL_DISPLACEMENT - _PIXEL_DISPLACEMENT_LOCK_OBJECT_SCALE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DISPLACEMENT_LOCK_TILING_SCALE _MASKMAP + _MATERIAL_FEATURE_CLEAR_COAT _MATERIAL_FEATURE_IRIDESCENCE _NORMALMAP _NORMALMAP_TANGENT_SPACE + _PIXEL_DISPLACEMENT _PIXEL_DISPLACEMENT_LOCK_OBJECT_SCALE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -23,6 +23,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -123,6 +124,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0.5 @@ -187,13 +190,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 3 - _PPDMaxSamples: 5 - _PPDMinSamples: 2 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -259,6 +265,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &8369081654343969183 MonoBehaviour: m_ObjectHideFlags: 11 @@ -271,4 +278,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nylon.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nylon.mat index a85d4b2ca3e..eaa96f7cfbb 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nylon.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Nylon.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -26,12 +26,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -131,6 +133,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -139,6 +142,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: -0.7 - _BlendMode: 0 - _CoatMask: 0 @@ -206,6 +211,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -214,6 +220,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -253,6 +260,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -270,7 +278,8 @@ Material: - _BaseColor: {r: 0.15065883, g: 0.1610689, b: 0.22352941, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 0.15065879, g: 0.16106886, b: 0.22352937, a: 1} - - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, a: -2.918011e-34} + - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, + a: -2.918011e-34} - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/OrangeSphereGlass.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/OrangeSphereGlass.mat index 5a3846eb4d7..5d6c37e150f 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/OrangeSphereGlass.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/OrangeSphereGlass.mat @@ -10,8 +10,8 @@ Material: m_Name: OrangeSphereGlass m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} m_ShaderKeywords: _ALPHATEST_ON _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING - _ENABLE_FOG_ON_TRANSPARENT _NORMALMAP_TANGENT_SPACE _REFRACTION_SPHERE _SURFACE_TYPE_TRANSPARENT - _TRANSPARENT_WRITES_MOTION_VEC + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _NORMALMAP_TANGENT_SPACE + _REFRACTION_SPHERE _SURFACE_TYPE_TRANSPARENT _TRANSPARENT_WRITES_MOTION_VEC m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -25,6 +25,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -166,6 +167,8 @@ Material: - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 - _AlphaTestRef: 0.5 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _BumpScale: 1 @@ -243,6 +246,7 @@ Material: - _NormalMapSpace: 0 - _NormalScale: 1 - _OcclusionStrength: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -250,7 +254,9 @@ Material: - _PPDPrimitiveWidth: 1 - _Parallax: 0.02 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 1 - _RefractionModel: 2 - _SSRefractionProjectionModel: 1 @@ -267,10 +273,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 @@ -326,6 +332,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6863551618953177472 MonoBehaviour: m_ObjectHideFlags: 11 @@ -338,4 +345,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PlasterWall.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PlasterWall.mat index 3ea25629d1b..8b5e816f199 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PlasterWall.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PlasterWall.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: PlasterWall m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2509280433437203154 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PolishedConcrete.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PolishedConcrete.mat index 12c25684826..bb1e88537fb 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PolishedConcrete.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/PolishedConcrete.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: PolishedConcrete m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 0.655 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6616672979888534687 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialRough.mat index fdbf665bef0..a09d838438b 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialRough.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceBlackArtificialRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -257,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &8614628782770535942 MonoBehaviour: m_ObjectHideFlags: 11 @@ -269,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialSmooth.mat index 9db44b906cc..2714fcea6af 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackArtificialSmooth.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceBlackArtificialSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -257,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &4952296671261197449 MonoBehaviour: m_ObjectHideFlags: 11 @@ -269,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalRough.mat index cbf7dd8f15d..28b8c979c0d 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalRough.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceBlackNaturalRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalSmooth.mat index 35990dc8f6b..413d73d24a4 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceBlackNaturalSmooth.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceBlackNaturalSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperRough.mat index 867b71af0b0..9807ed8e5b1 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperRough.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceCopperRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &7045394627523663158 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperSmooth.mat index 75a62c88206..1461abddc67 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceCopperSmooth.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceCopperSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -271,3 +277,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldRough.mat index 31e44c64712..1ba01dec400 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldRough.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceGoldRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _RefractionSSRayModel: 0 @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &8715092081197689339 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldSmooth.mat index a7e7d314cca..0b1f695cb76 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGoldSmooth.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceGoldSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -257,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2270836375945865403 MonoBehaviour: m_ObjectHideFlags: 11 @@ -269,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreyRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreyRough.mat index 72f5d37d566..78ea852f5ab 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreyRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreyRough.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceGreyRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreySmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreySmooth.mat index 71d3e42c476..93cc772238d 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreySmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceGreySmooth.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceGreySmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverRough.mat index 8acc168f55a..f484aea9127 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverRough.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceSilverRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -257,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &5280426776245594806 MonoBehaviour: m_ObjectHideFlags: 11 @@ -269,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverSmooth.mat index 43efcf32671..e266c0725e8 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceSilverSmooth.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceSilverSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 1 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteRough.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteRough.mat index 43894692e60..6f2f7696c27 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteRough.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteRough.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceWhiteRough m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteSmooth.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteSmooth.mat index eb4ef1f730a..e630e470fc1 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteSmooth.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ReferenceWhiteSmooth.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: ReferenceWhiteSmooth m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -121,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,13 +188,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -257,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &9220938521761519751 MonoBehaviour: m_ObjectHideFlags: 11 @@ -269,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ShotSilk.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ShotSilk.mat index e89b91caa56..154a4a5edf4 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ShotSilk.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/ShotSilk.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -26,12 +26,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -131,6 +133,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -139,6 +142,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: -0.729 - _BlendMode: 0 - _CoatMask: 0 @@ -206,6 +211,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -214,6 +220,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -253,6 +260,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -270,7 +278,8 @@ Material: - _BaseColor: {r: 0.45098042, g: 0.15294118, b: 0.38823533, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 0.45098042, g: 0.15294114, b: 0.3882353, a: 1} - - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, a: -2.918011e-34} + - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, + a: -2.918011e-34} - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Silk.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Silk.mat index 6c45cd446a1..eb6c61e2a5a 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Silk.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Silk.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -26,12 +26,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -131,6 +133,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -139,6 +142,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: -0.729 - _BlendMode: 0 - _CoatMask: 0 @@ -206,6 +211,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -214,6 +220,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -253,6 +260,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -270,7 +278,8 @@ Material: - _BaseColor: {r: 0.6313726, g: 0.5852338, b: 0.44196078, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} - _Color: {r: 0.6313726, g: 0.5852338, b: 0.44196075, a: 1} - - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, a: -2.918011e-34} + - _DiffusionProfileAsset: {r: -8.851371e-34, g: 1.2241986e+22, b: -2.5962676e-29, + a: -2.918011e-34} - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Bright.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Bright.mat index c102195105b..df46f84c028 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Bright.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Bright.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Skin Bright m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _MATERIAL_FEATURE_SUBSURFACE_SCATTERING _MATERIAL_FEATURE_TRANSMISSION - _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_SUBSURFACE_SCATTERING + _MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,13 +189,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -260,6 +266,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2509280433437203154 MonoBehaviour: m_ObjectHideFlags: 11 @@ -272,4 +279,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Dark.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Dark.mat index 88a9e7bd62c..52f72e98fb1 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Dark.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Skin Dark.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Skin Dark m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _MATERIAL_FEATURE_SUBSURFACE_SCATTERING _MATERIAL_FEATURE_TRANSMISSION - _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_SUBSURFACE_SCATTERING + _MATERIAL_FEATURE_TRANSMISSION _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,13 +189,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -260,6 +266,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2509280433437203154 MonoBehaviour: m_ObjectHideFlags: 11 @@ -272,4 +279,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/SoapBubble.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/SoapBubble.mat index 424b52d2e34..b32ae81e2a8 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/SoapBubble.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/SoapBubble.mat @@ -10,8 +10,8 @@ Material: m_Name: SoapBubble m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} m_ShaderKeywords: _ALPHATEST_ON _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING - _ENABLE_FOG_ON_TRANSPARENT _IRIDESCENCE_THICKNESSMAP _MATERIAL_FEATURE_IRIDESCENCE - _NORMALMAP_TANGENT_SPACE _REFRACTION_THIN _SURFACE_TYPE_TRANSPARENT + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _IRIDESCENCE_THICKNESSMAP + _MATERIAL_FEATURE_IRIDESCENCE _NORMALMAP_TANGENT_SPACE _REFRACTION_THIN _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -25,6 +25,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -166,6 +167,8 @@ Material: - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 - _AlphaTestRef: 0.5 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _BumpScale: 1 @@ -243,6 +246,7 @@ Material: - _NormalMapSpace: 0 - _NormalScale: 1 - _OcclusionStrength: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -250,7 +254,9 @@ Material: - _PPDPrimitiveWidth: 1 - _Parallax: 0.02 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 1 - _RefractionModel: 3 - _SSRefractionProjectionModel: 1 @@ -267,10 +273,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 @@ -326,6 +332,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6863551618953177472 MonoBehaviour: m_ObjectHideFlags: 11 @@ -338,4 +345,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Unlit.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Unlit.mat index 087da25d0e8..e07f316986c 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Unlit.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Unlit.mat @@ -122,6 +122,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -183,6 +185,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -209,7 +212,6 @@ Material: - _StencilWriteMaskGBuffer: 3 - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 0 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -250,6 +252,8 @@ Material: - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - _UnlitColor: {r: 0.1792453, g: 0.1792453, b: 0.1792453, a: 1} + - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &5972286049159532608 MonoBehaviour: m_ObjectHideFlags: 11 @@ -262,4 +266,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Velvet.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Velvet.mat index a6d2246295e..37da5864f71 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Velvet.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Velvet.mat @@ -13,12 +13,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -118,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -126,6 +129,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -193,6 +198,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1.41 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -201,6 +207,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 1 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -240,6 +247,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -287,4 +295,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WallTiles.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WallTiles.mat index b32332e5e52..f7625763820 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WallTiles.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WallTiles.mat @@ -9,12 +9,12 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: WallTiles m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DEPTHOFFSET_ON _HEIGHTMAP _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE - _PIXEL_DISPLACEMENT + m_ShaderKeywords: _DEPTHOFFSET_ON _DISABLE_SSR_TRANSPARENT _HEIGHTMAP _MASKMAP + _NORMALMAP _NORMALMAP_TANGENT_SPACE _PIXEL_DISPLACEMENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -22,6 +22,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,13 +189,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 4 - _PPDMaxSamples: 5 - _PPDMinSamples: 2 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 @@ -259,6 +265,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &5326661739013046160 MonoBehaviour: m_ObjectHideFlags: 11 @@ -271,4 +278,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WoodClean.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WoodClean.mat index d31f3ce3228..dcdbd9741fe 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WoodClean.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/WoodClean.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: WoodClean m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -134,6 +135,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -198,13 +201,16 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Wool.mat b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Wool.mat index fe659e1531b..993c744c5de 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Wool.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Materials/Wool.mat @@ -13,12 +13,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - MOTIONVECTORS - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -118,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 - _AlphaCutoffEnable: 0 @@ -126,6 +129,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -193,6 +198,7 @@ Material: - _NormalMapSpace: 0 - _NormalMapStrength: 1 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -201,6 +207,7 @@ Material: - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 + - _RenderQueueType: 1 - _RequireSplitLighting: 1 - _SSRefractionProjectionModel: 0 - _ShiverDirectionality: 0.5 @@ -240,6 +247,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 - _TransparentWritingVelocity: 0 - _TransparentZWrite: 0 - _UVBase: 0 @@ -287,4 +295,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 2 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Shadergraphs/SG_Eye.shadergraph.meta b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Shadergraphs/SG_Eye.shadergraph.meta new file mode 100644 index 00000000000..71dbb729b94 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Samples~/MaterialSamples/Shadergraphs/SG_Eye.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 144c83fb9066da94ca2be7e4cb41665f +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Background.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Background.mat index cc322dff0b6..2f86dabdd0e 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Background.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Background.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -22,11 +22,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Background m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -34,6 +34,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -135,6 +136,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -195,12 +198,15 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1.088 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.576 @@ -208,17 +214,18 @@ Material: - _SmoothnessRemapMin: 0 - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - - _StencilRef: 2 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 - - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 0 @@ -233,6 +240,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -260,3 +268,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Blocker.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Blocker.mat index 1dd588b6d40..8d6e0873752 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Blocker.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Blocker.mat @@ -9,11 +9,11 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Blocker m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: 2000 + m_CustomRenderQueue: 2225 stringTagMap: {} disabledShaderPasses: - DistortionVectors @@ -21,6 +21,7 @@ Material: - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +123,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -182,12 +185,15 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -195,17 +201,18 @@ Material: - _SmoothnessRemapMin: 0 - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - - _StencilRef: 2 - - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 - - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 0 @@ -220,6 +227,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -247,6 +255,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &1792761406252724072 MonoBehaviour: m_ObjectHideFlags: 11 @@ -259,4 +268,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Lit.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Lit.mat index 394acb0d7bf..402cf2ff068 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Lit.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Lit.mat @@ -10,7 +10,8 @@ Material: m_Name: Lit m_Shader: {fileID: -6465566751694194690, guid: 6fabb132d3e307c4c97becb08f822dbf, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +22,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +130,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -161,7 +168,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -185,14 +192,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -201,16 +211,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -225,6 +235,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -252,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &5208856917876274508 MonoBehaviour: m_ObjectHideFlags: 11 @@ -264,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitCameraFading.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitCameraFading.mat index 442fb9a9515..f77b00968b6 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitCameraFading.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitCameraFading.mat @@ -10,7 +10,8 @@ Material: m_Name: LitCameraFading m_Shader: {fileID: -6465566751694194690, guid: 999e9a6a32748e649802372a36c3ab34, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +22,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +130,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -161,7 +168,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -185,14 +192,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -201,16 +211,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -225,6 +235,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -253,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &8817897029447308795 MonoBehaviour: m_ObjectHideFlags: 11 @@ -265,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitDistortion.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitDistortion.mat index 008efd988cd..8ba295f0122 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitDistortion.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitDistortion.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -23,7 +23,8 @@ Material: m_Name: LitDistortion m_Shader: {fileID: -6465566751694194690, guid: 2bec6c6e24499314b9d7a91e2e69178f, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -34,6 +35,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -141,6 +145,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -150,6 +155,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -186,7 +193,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -210,14 +217,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -226,16 +236,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -250,6 +260,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -277,3 +288,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbook.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbook.mat index 6239e70a60e..734813a80d2 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbook.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbook.mat @@ -10,7 +10,8 @@ Material: m_Name: LitFlipbook m_Shader: {fileID: -6465566751694194690, guid: 8de8ce5257c2d2b4d9cabbce06c7b608, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +22,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +120,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +130,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -161,7 +168,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -185,14 +192,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -201,16 +211,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -225,6 +235,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -252,6 +263,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &6371018977168027889 MonoBehaviour: m_ObjectHideFlags: 11 @@ -264,4 +276,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbookCameraFading.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbookCameraFading.mat index 7a3b4415973..080c5d005a8 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbookCameraFading.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitFlipbookCameraFading.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -23,7 +23,8 @@ Material: m_Name: LitFlipbookCameraFading m_Shader: {fileID: -6465566751694194690, guid: 2f967a2fb532dab47b7aa2adfec11422, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -34,6 +35,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -129,6 +133,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -138,6 +143,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -174,7 +181,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -198,14 +205,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -214,16 +224,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -238,6 +248,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -266,3 +277,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitSoft.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitSoft.mat index 90616745941..6d4d54fc159 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitSoft.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/LitSoft.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -23,7 +23,8 @@ Material: m_Name: LitSoft m_Shader: {fileID: -6465566751694194690, guid: 4c6361cb5d4144944a9f857229576f4c, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT + _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -34,6 +35,9 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -133,6 +137,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -142,6 +147,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -178,7 +185,7 @@ Material: - _EmissiveExposureWeight: 1 - _EmissiveIntensity: 1 - _EmissiveIntensityUnit: 0 - - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableBlendModePreserveSpecularLighting: 0 - _EnableFogOnTransparent: 1 - _EnableGeometricSpecularAA: 0 - _EnableSpecularOcclusion: 0 @@ -202,14 +209,17 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 - _PPDPrimitiveLength: 1 - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -218,16 +228,16 @@ Material: - _SpecularAAScreenSpaceVariance: 0.1 - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - - _StencilRef: 2 + - _StencilRef: 0 - _StencilRefDepth: 0 - - _StencilRefDistortionVec: 64 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 128 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 51 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - _SupportDecals: 1 - _SurfaceType: 1 @@ -242,6 +252,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -271,3 +282,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Unlit.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Unlit.mat index 5693a24f9ed..e0b9b2e54b0 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Unlit.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/Unlit.mat @@ -10,7 +10,7 @@ Material: m_Name: Unlit m_Shader: {fileID: -6465566751694194690, guid: ddf0c0e603eae9b429928da8cc3b814f, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +21,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +118,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,6 +190,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -192,7 +198,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -202,17 +208,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -225,6 +230,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -252,6 +258,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &2526857487445996698 MonoBehaviour: m_ObjectHideFlags: 11 @@ -264,4 +271,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitCameraFading.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitCameraFading.mat index f38fd5e8684..9b6c6eca78a 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitCameraFading.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitCameraFading.mat @@ -10,7 +10,7 @@ Material: m_Name: UnlitCameraFading m_Shader: {fileID: -6465566751694194690, guid: c2b394c8a48c1b64cb9f454b0efbba04, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +21,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +118,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,6 +190,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -192,7 +198,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -202,17 +208,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -225,6 +230,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -253,6 +259,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &1808939453017161583 MonoBehaviour: m_ObjectHideFlags: 11 @@ -265,4 +272,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitDistortion.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitDistortion.mat index 2ed9e32cbe4..01f4e7b538c 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitDistortion.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitDistortion.mat @@ -10,7 +10,7 @@ Material: m_Name: UnlitDistortion m_Shader: {fileID: -6465566751694194690, guid: 6b93e3d6d8a4e2d43854c02033c9f7b4, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +21,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -122,6 +124,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -131,6 +134,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -191,6 +196,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -198,7 +204,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -208,17 +214,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -231,6 +236,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 1 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -240,7 +246,7 @@ Material: - _ZTestGBuffer: 4 - _ZTestModeDistortion: 8 - _ZTestTransparent: 4 - - _ZWrite: 0 + - _ZWrite: 1 m_Colors: - _BaseColor: {r: 1, g: 1, b: 1, a: 1} - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} @@ -258,6 +264,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &7202321383416439055 MonoBehaviour: m_ObjectHideFlags: 11 @@ -270,4 +277,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbook.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbook.mat index e901164fdce..cb27eeed985 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbook.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbook.mat @@ -10,7 +10,7 @@ Material: m_Name: UnlitFlipbook m_Shader: {fileID: -6465566751694194690, guid: e4fb8508536c9d84cbc541955739557b, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +21,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +118,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,6 +190,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -192,7 +198,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -202,17 +208,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -225,6 +230,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -252,6 +258,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &7193599388882549696 MonoBehaviour: m_ObjectHideFlags: 11 @@ -264,4 +271,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbookCameraFading.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbookCameraFading.mat index 9a5a79b8a06..b1ddb3b6c0c 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbookCameraFading.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitFlipbookCameraFading.mat @@ -10,7 +10,7 @@ Material: m_Name: UnlitFlipbookCameraFading m_Shader: {fileID: -6465566751694194690, guid: f960fb491dd48f34e961ed0453217b35, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -21,6 +21,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -116,6 +118,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -125,6 +128,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -185,6 +190,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -192,7 +198,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -202,17 +208,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -225,6 +230,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -253,6 +259,7 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!114 &1912457855555408207 MonoBehaviour: m_ObjectHideFlags: 11 @@ -265,4 +272,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 diff --git a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitSoft.mat b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitSoft.mat index 79b39c4770f..a2e95202d97 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitSoft.mat +++ b/com.unity.render-pipelines.high-definition/Samples~/ParticleSystemShaderSamples/Materials/UnlitSoft.mat @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} m_Name: m_EditorClassIdentifier: - version: 0 + version: 7 --- !u!21 &2100000 Material: serializedVersion: 6 @@ -23,7 +23,7 @@ Material: m_Name: UnlitSoft m_Shader: {fileID: -6465566751694194690, guid: c3a61f64d7d331841869d2f76d090226, type: 3} - m_ShaderKeywords: _BLENDMODE_ALPHA _SURFACE_TYPE_TRANSPARENT + m_ShaderKeywords: _BLENDMODE_ALPHA _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -34,6 +34,8 @@ Material: disabledShaderPasses: - TransparentBackface - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -133,6 +135,7 @@ Material: - _AORemapMax: 1 - _AORemapMin: 0 - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 - _AddVelocityChange: 0 - _AlbedoAffectEmissive: 0 - _AlphaCutoff: 0.5 @@ -142,6 +145,8 @@ Material: - _AlphaCutoffShadow: 0.5 - _AlphaDstBlend: 10 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -202,6 +207,7 @@ Material: - _Metallic: 0 - _NormalMapSpace: 0 - _NormalScale: 1 + - _OpaqueCullMode: 2 - _PPDLodThreshold: 5 - _PPDMaxSamples: 15 - _PPDMinSamples: 5 @@ -209,7 +215,7 @@ Material: - _PPDPrimitiveWidth: 1 - _ReceivesSSR: 0 - _RefractionModel: 0 - - _RenderQueueType: 5 + - _RenderQueueType: 4 - _RequireSplitLighting: 0 - _SSRefractionProjectionModel: 0 - _Smoothness: 0.5 @@ -219,17 +225,16 @@ Material: - _SpecularAAThreshold: 0.2 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 32 - - _StencilRefDistortionVec: 64 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 - _StencilRefGBuffer: 2 - - _StencilRefMV: 160 - - _StencilWriteMask: 3 - - _StencilWriteMaskDepth: 48 - - _StencilWriteMaskDistortionVec: 64 - - _StencilWriteMaskGBuffer: 3 - - _StencilWriteMaskMV: 176 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 - _SubsurfaceMask: 1 - - _SupportDecals: 1 - _SurfaceType: 1 - _TexWorldScale: 1 - _TexWorldScaleEmissive: 1 @@ -242,6 +247,7 @@ Material: - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -270,3 +276,4 @@ Material: - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs.meta index 40c8c47865e..b23a97308cc 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: b7f1f3d4abea48d4f8dbdb2f67b3dc1b +guid: b1241384753b87a498da4233ecd00e8b folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to Unity Log r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to Unity Log r1.cube.meta index 4060db6701e..8e6b8423214 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to Unity Log r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to Unity Log r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 5ab49979717c5094d9df03d3034c98c2 +guid: ff6ec364abb861f43a1185b1dd6cc634 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to sRGB r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to sRGB r1.cube.meta index 6c4b50aecb0..b6c75ec99ec 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to sRGB r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Linear to sRGB r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 069576500f976dd48852065fc209c922 +guid: 9a0ebd371dac6ff45a881ae31fd76706 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to Linear r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to Linear r1.cube.meta index bb51db1492d..5c7ddba4470 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to Linear r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to Linear r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0ac833d5b2bb2c04fb9b7eeffee2cb4a +guid: 961081aed26a23e4aac3723d580bfa3b ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to sRGB r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to sRGB r1.cube.meta index ba2dbcc9be4..19e6af2924b 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to sRGB r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/Unity Log to sRGB r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 2ce5dd6333530b94bac13b94e5a8822e +guid: e8d6b9cb86d060a428327418c0eafcb7 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Linear r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Linear r1.cube.meta index c03da50de6c..fbe474e4c12 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Linear r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Linear r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 56e425b8847f1754f987473def55f0a1 +guid: 2d530a50c990e4944acdcbc32c3d1cc4 ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Unity Log r1.cube.meta b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Unity Log r1.cube.meta index 4d000b62092..3966f1ce420 100644 --- a/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Unity Log r1.cube.meta +++ b/com.unity.render-pipelines.high-definition/Samples~/PostProcessingData/Cube LUTs/sRGB to Unity Log r1.cube.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 3bfc8b7233021d94584dce3f3205f788 +guid: daa12b1ade736f74b8d8c72333bb808d ScriptedImporter: internalIDToNameTable: [] externalObjects: {}