diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1204_Lit_Fog.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1204_Lit_Fog.unity index cd4d367cbe2..280c0837558 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1204_Lit_Fog.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1204_Lit_Fog.unity @@ -38,12 +38,12 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.31014416, g: 0.3259645, b: 0.36057484, a: 1} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,8 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 4890085278179872738, guid: 14d25c33fbbd9b3469a9cbefabb7928d, + type: 2} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +119,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -128,11 +131,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 813037893} m_Modifications: - - target: {fileID: 23096287020260212, guid: e6be141ec19d3554489da286b19b90b2, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f9835533aa92013488f2a21c45d51b54, type: 2} - target: {fileID: 1889603277501166, guid: e6be141ec19d3554489da286b19b90b2, type: 3} propertyPath: m_Name value: Quad (1) @@ -185,6 +183,11 @@ PrefabInstance: propertyPath: m_LocalScale.y value: 1.06 objectReference: {fileID: 0} + - target: {fileID: 23096287020260212, guid: e6be141ec19d3554489da286b19b90b2, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f9835533aa92013488f2a21c45d51b54, type: 2} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e6be141ec19d3554489da286b19b90b2, type: 3} --- !u!4 &35372743 stripped @@ -281,6 +284,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -305,6 +309,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &75710778 GameObject: m_ObjectHideFlags: 0 @@ -393,6 +398,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -417,6 +423,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &78661625 GameObject: m_ObjectHideFlags: 0 @@ -612,6 +619,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -636,6 +644,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &179359369 MonoBehaviour: m_ObjectHideFlags: 0 @@ -1026,26 +1035,6 @@ PrefabInstance: propertyPath: m_RootOrder value: 0 objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: fullscreenPassthrough - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: volumeLayerMask.m_Bits - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: m_Version - value: 6 - objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 - value: 69456063102749 - objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_ClearFlags @@ -1086,16 +1075,6 @@ PrefabInstance: propertyPath: orthographic size value: 1.5 objectReference: {fileID: 0} - - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: ImageComparisonSettings.TargetWidth - value: 375 - objectReference: {fileID: 0} - - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: ImageComparisonSettings.TargetHeight - value: 300 - objectReference: {fileID: 0} - target: {fileID: 114110876577682668, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_SkySettings @@ -1122,6 +1101,41 @@ PrefabInstance: propertyPath: height value: 480 objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: fullscreenPassthrough + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: volumeLayerMask.m_Bits + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetWidth + value: 375 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetHeight + value: 300 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: xrThresholdMultiplier + value: 1.3 + objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} --- !u!4 &749245065 stripped @@ -1377,6 +1391,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -1401,6 +1416,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1014219534 GameObject: m_ObjectHideFlags: 0 @@ -1431,7 +1447,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 6 + m_Version: 7 m_ObsoleteRenderingPath: 0 m_ObsoleteFrameSettings: overrides: 0 @@ -1489,6 +1505,12 @@ MonoBehaviour: SMAAQuality: 2 dithering: 0 stopNaNs: 0 + taaSharpenStrength: 0.5 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -1498,6 +1520,7 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 + xrRendering: 1 fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 @@ -1505,14 +1528,22 @@ MonoBehaviour: probeLayerMask: serializedVersion: 2 m_Bits: 4294967295 + hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: - data1: 69456054714141 + data1: 70005810528093 data2: 4539628424389459968 lodBias: 1 lodBiasMode: 0 + lodBiasQualityLevel: 0 maximumLODLevel: 0 maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: data1: 0 @@ -1731,9 +1762,9 @@ MeshCollider: m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 4 m_Convex: 0 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &1080022648 MeshRenderer: @@ -1750,6 +1781,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1774,6 +1806,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1080022649 MeshFilter: m_ObjectHideFlags: 0 @@ -1870,6 +1903,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -1894,6 +1928,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1353535386 GameObject: m_ObjectHideFlags: 0 @@ -1982,6 +2017,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -2006,6 +2042,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1485682870 GameObject: m_ObjectHideFlags: 0 @@ -2094,6 +2131,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -2118,6 +2156,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1001 &1510716462 PrefabInstance: m_ObjectHideFlags: 0 @@ -2214,11 +2253,6 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 813037893} m_Modifications: - - target: {fileID: 23096287020260212, guid: e6be141ec19d3554489da286b19b90b2, - type: 3} - propertyPath: m_Materials.Array.data[0] - value: - objectReference: {fileID: 2100000, guid: f9835533aa92013488f2a21c45d51b54, type: 2} - target: {fileID: 1889603277501166, guid: e6be141ec19d3554489da286b19b90b2, type: 3} propertyPath: m_Name value: Quad @@ -2271,6 +2305,11 @@ PrefabInstance: propertyPath: m_LocalScale.y value: 1.06 objectReference: {fileID: 0} + - target: {fileID: 23096287020260212, guid: e6be141ec19d3554489da286b19b90b2, + type: 3} + propertyPath: m_Materials.Array.data[0] + value: + objectReference: {fileID: 2100000, guid: f9835533aa92013488f2a21c45d51b54, type: 2} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: e6be141ec19d3554489da286b19b90b2, type: 3} --- !u!4 &1651065140 stripped @@ -2381,6 +2420,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: @@ -2405,6 +2445,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!114 &1839966553 MonoBehaviour: m_ObjectHideFlags: 0 @@ -2423,55 +2464,6 @@ MonoBehaviour: forceTargetDimensions: {x: 375, y: 150} overrideTestSettings: 1 textMesh: {fileID: 1839966551} ---- !u!114 &1865880217 -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: 59b6606ef2548734bb6d11b9d160bc7e, type: 3} - m_Name: - m_EditorClassIdentifier: - active: 1 - m_AdvancedMode: 0 - rotation: - m_OverrideState: 0 - m_Value: 200 - min: 0 - max: 360 - skyIntensityMode: - m_OverrideState: 0 - m_Value: 0 - exposure: - m_OverrideState: 0 - m_Value: 0 - multiplier: - m_OverrideState: 0 - m_Value: 1 - min: 0 - upperHemisphereLuxValue: - m_OverrideState: 0 - m_Value: 1 - min: 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: 0 - m_Value: {fileID: 8900000, guid: fb0bf2eac2381484187ba8a68cdca165, type: 3} --- !u!1001 &2049222487 PrefabInstance: m_ObjectHideFlags: 0 @@ -2558,7 +2550,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 6 + m_Version: 7 m_ObsoleteRenderingPath: 0 m_ObsoleteFrameSettings: overrides: 0 @@ -2616,6 +2608,12 @@ MonoBehaviour: SMAAQuality: 2 dithering: 0 stopNaNs: 0 + taaSharpenStrength: 0.5 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -2625,6 +2623,7 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 + xrRendering: 1 fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 @@ -2632,14 +2631,22 @@ MonoBehaviour: probeLayerMask: serializedVersion: 2 m_Bits: 4294967295 + hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: - data1: 69456054714141 + data1: 70005810528093 data2: 4539628424389459968 lodBias: 1 lodBiasMode: 0 + lodBiasQualityLevel: 0 maximumLODLevel: 0 maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: data1: 0 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity index 4c039f24350..495753c4348 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/5x_SkyAndFog/5001_Fog_FogFallback.unity @@ -43,7 +43,7 @@ RenderSettings: --- !u!157 &3 LightmapSettings: m_ObjectHideFlags: 0 - serializedVersion: 11 + serializedVersion: 12 m_GIWorkflowMode: 1 m_GISettings: serializedVersion: 2 @@ -98,7 +98,8 @@ LightmapSettings: m_TrainingDataDestination: TrainingData m_LightProbeSampleCountMultiplier: 4 m_LightingDataAsset: {fileID: 0} - m_UseShadowmask: 1 + m_LightingSettings: {fileID: 4890085278179872738, guid: 657c369c26fc997479984e989ded6642, + type: 2} --- !u!196 &4 NavMeshSettings: serializedVersion: 2 @@ -118,6 +119,8 @@ NavMeshSettings: manualTileSize: 0 tileSize: 256 accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 debug: m_Flags: 0 m_NavMeshData: {fileID: 0} @@ -168,6 +171,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -192,6 +196,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &6483357 MeshFilter: m_ObjectHideFlags: 0 @@ -207,11 +212,41 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 267301596} m_Modifications: - - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Name - value: Text (2) + propertyPath: m_CharacterSize + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_RichText + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Color.rgba + value: 4278190080 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Text + value: 'Sky: Procedural' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 objectReference: {fileID: 0} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 1146205447} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -282,41 +317,11 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 0.027777778 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_CharacterSize - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RichText - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Color.rgba - value: 4278190080 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Text - value: 'Sky: Procedural' - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 + propertyPath: m_Name + value: Text (2) objectReference: {fileID: 0} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: testSettings - value: - objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} --- !u!4 &10840953 stripped @@ -372,6 +377,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -396,6 +402,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &62660488 MeshFilter: m_ObjectHideFlags: 0 @@ -481,6 +488,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -505,6 +513,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &88588214 MeshFilter: m_ObjectHideFlags: 0 @@ -545,8 +554,6 @@ MonoBehaviour: m_EditorClassIdentifier: m_Profile: {fileID: 0} m_StaticLightingSkyUniqueID: 2 - m_SkySettings: {fileID: 0} - m_SkySettingsFromProfile: {fileID: 0} --- !u!114 &162017340 MonoBehaviour: m_ObjectHideFlags: 0 @@ -625,6 +632,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -649,6 +657,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &192333847 MeshFilter: m_ObjectHideFlags: 0 @@ -786,6 +795,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -810,6 +820,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &301263208 MeshFilter: m_ObjectHideFlags: 0 @@ -865,6 +876,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -889,6 +901,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &420431091 MeshFilter: m_ObjectHideFlags: 0 @@ -944,6 +957,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -968,6 +982,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &430321418 MeshFilter: m_ObjectHideFlags: 0 @@ -1118,6 +1133,11 @@ MonoBehaviour: dithering: 0 stopNaNs: 0 taaSharpenStrength: 0.6 + TAAQuality: 1 + taaHistorySharpening: 0.35 + taaAntiFlicker: 0.5 + taaMotionVectorRejection: 0 + taaAntiHistoryRinging: 0 physicalParameters: m_Iso: 200 m_ShutterSpeed: 0.005 @@ -1127,6 +1147,7 @@ MonoBehaviour: m_BarrelClipping: 0.25 m_Anamorphism: 0 flipYMode: 0 + xrRendering: 1 fullscreenPassthrough: 0 allowDynamicResolution: 0 customRenderingSettings: 0 @@ -1135,6 +1156,7 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: data1: 70005810528093 @@ -1145,6 +1167,9 @@ MonoBehaviour: maximumLODLevel: 0 maximumLODLevelMode: 0 maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 materialQuality: 0 renderingPathCustomFrameSettingsOverrideMask: mask: @@ -1255,6 +1280,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1279,6 +1305,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &573656867 MeshFilter: m_ObjectHideFlags: 0 @@ -1334,6 +1361,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1358,6 +1386,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &612885602 MeshFilter: m_ObjectHideFlags: 0 @@ -1413,6 +1442,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1437,6 +1467,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &722404313 MeshFilter: m_ObjectHideFlags: 0 @@ -1474,9 +1505,9 @@ MeshCollider: m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 4 m_Convex: 0 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} --- !u!23 &733292397 MeshRenderer: @@ -1493,6 +1524,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1517,6 +1549,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &733292398 MeshFilter: m_ObjectHideFlags: 0 @@ -1619,6 +1652,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1643,6 +1677,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &765878088 MeshFilter: m_ObjectHideFlags: 0 @@ -1698,6 +1733,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1722,6 +1758,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &766680940 MeshFilter: m_ObjectHideFlags: 0 @@ -1777,6 +1814,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1801,6 +1839,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &827168651 MeshFilter: m_ObjectHideFlags: 0 @@ -1809,6 +1848,42 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 827168648} m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!84 &829383082 +RenderTexture: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + m_ImageContentsHash: + serializedVersion: 2 + Hash: 00000000000000000000000000000000 + m_ForcedFallbackFormat: 4 + m_DownscaleFallback: 0 + m_IsAlphaChannelOptional: 0 + serializedVersion: 3 + m_Width: 640 + m_Height: 360 + m_AntiAliasing: 1 + m_MipCount: -1 + m_DepthFormat: 2 + m_ColorFormat: 4 + m_MipMap: 0 + m_GenerateMips: 0 + m_SRGB: 1 + m_UseDynamicScale: 0 + m_BindMS: 0 + m_EnableCompatibleFormat: 1 + m_TextureSettings: + serializedVersion: 2 + m_FilterMode: 1 + m_Aniso: 1 + m_MipBias: 0 + m_WrapU: 1 + m_WrapV: 1 + m_WrapW: 1 + m_Dimension: 2 + m_VolumeDepth: 1 --- !u!1 &841110273 GameObject: m_ObjectHideFlags: 0 @@ -1922,6 +1997,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -1946,6 +2022,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &911626680 MeshFilter: m_ObjectHideFlags: 0 @@ -1961,11 +2038,41 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 267301596} m_Modifications: - - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Name - value: Text (3) + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_RichText + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Color.rgba + value: 4278190080 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Text + value: 'Sky: HDRI' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 1146205447} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -2036,41 +2143,11 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 0.027777778 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_CharacterSize - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RichText - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Color.rgba - value: 4278190080 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Text - value: 'Sky: HDRI' - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 + propertyPath: m_Name + value: Text (3) objectReference: {fileID: 0} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: testSettings - value: - objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} --- !u!4 &957269148 stripped @@ -2109,7 +2186,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 8 + m_Version: 11 m_ObsoleteShadowResolutionTier: 1 m_ObsoleteUseShadowQualitySettings: 0 m_ObsoleteCustomShadowResolution: 512 @@ -2132,6 +2209,7 @@ MonoBehaviour: m_ShapeHeight: 0.5 m_AspectRatio: 1 m_ShapeRadius: 0 + m_SoftnessScale: 1 m_UseCustomSpotLightShadowCone: 0 m_CustomSpotLightShadowCone: 30 m_MaxSmoothness: 0.99 @@ -2142,6 +2220,11 @@ MonoBehaviour: m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 m_AngularDiameter: 0 + 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: 150000000 m_UseRayTracedShadows: 0 m_NumRayTracingSamples: 4 @@ -2149,6 +2232,9 @@ MonoBehaviour: 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 @@ -2156,10 +2242,9 @@ MonoBehaviour: m_LightlayersMask: 1 m_LinkShadowLayers: 1 m_ShadowNearPlane: 0.1 - m_ShadowSoftness: 0.5 m_BlockerSampleCount: 24 m_FilterSampleCount: 16 - m_MinFilterSize: 0.00001 + m_MinFilterSize: 0.01 m_KernelSize: 5 m_LightAngle: 1 m_MaxDepthBias: 0.001 @@ -2176,9 +2261,13 @@ MonoBehaviour: 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 @@ -2195,6 +2284,9 @@ MonoBehaviour: useVolumetric: 1 featuresFoldout: 1 showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 --- !u!108 &1034738649 Light: m_ObjectHideFlags: 0 @@ -2254,6 +2346,7 @@ Light: 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 &1034738650 @@ -2309,11 +2402,41 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 267301596} m_Modifications: - - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Name - value: Text (1) + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_RichText + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Color.rgba + value: 4278190080 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Text + value: Color + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 1146205447} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -2384,41 +2507,11 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 0.027777778 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_CharacterSize - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RichText - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Color.rgba - value: 4278190080 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Text - value: Color - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 + propertyPath: m_Name + value: Text (1) objectReference: {fileID: 0} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: testSettings - value: - objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} --- !u!4 &1099601778 stripped @@ -2528,6 +2621,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2552,6 +2646,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1167677230 MeshFilter: m_ObjectHideFlags: 0 @@ -2594,6 +2689,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2618,6 +2714,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!64 &1491991958 MeshCollider: m_ObjectHideFlags: 0 @@ -2628,9 +2725,9 @@ MeshCollider: m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 - serializedVersion: 3 + serializedVersion: 4 m_Convex: 0 - m_CookingOptions: 14 + m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!33 &1491991959 MeshFilter: @@ -2761,7 +2858,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _UnlitColorMap: - m_Texture: {fileID: 2101011034} + m_Texture: {fileID: 829383082} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} m_Floats: @@ -2776,6 +2873,7 @@ Material: - _AlphaCutoffPrepass: 0.5 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 - _Anisotropy: 0 - _BlendMode: 0 - _CoatMask: 0 @@ -2880,6 +2978,7 @@ Material: - _TransparentDepthPostpassEnable: 0 - _TransparentDepthPrepassEnable: 0 - _TransparentSortPriority: 0 + - _TransparentZWrite: 0 - _UVBase: 0 - _UVDetail: 0 - _UVEmissive: 0 @@ -2905,6 +3004,8 @@ Material: - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} - _UnlitColor: {r: 1, g: 1, b: 1, a: 1} + - _UnlitColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] --- !u!1 &1606477416 GameObject: m_ObjectHideFlags: 0 @@ -2952,6 +3053,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -2976,6 +3078,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1606477419 MeshFilter: m_ObjectHideFlags: 0 @@ -2991,11 +3094,41 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 267301596} m_Modifications: - - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Name - value: Text (4) + propertyPath: m_CharacterSize + value: 1 objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_RichText + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Color.rgba + value: 4278190080 + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Text + value: 'Sky: Gradient' + objectReference: {fileID: 0} + - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: m_Anchor + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 1146205447} + - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 1146205449} - target: {fileID: 5489785850083597078, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} propertyPath: m_LocalPosition.x @@ -3066,41 +3199,11 @@ PrefabInstance: propertyPath: m_LocalScale.z value: 0.027777778 objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_CharacterSize - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_RichText - value: 0 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Color.rgba - value: 4278190080 - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: m_Text - value: 'Sky: Gradient' - objectReference: {fileID: 0} - - target: {fileID: 198941061589059314, guid: 7340be8cd4dd8d34d808e2c6090d869f, + - target: {fileID: 6004892619064504655, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} - propertyPath: m_Anchor - value: 0 + propertyPath: m_Name + value: Text (4) objectReference: {fileID: 0} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: testSettings - value: - objectReference: {fileID: 1146205447} - - target: {fileID: 2366749451762349873, guid: 7340be8cd4dd8d34d808e2c6090d869f, - type: 3} - propertyPath: targetCamera - value: - objectReference: {fileID: 1146205449} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 7340be8cd4dd8d34d808e2c6090d869f, type: 3} --- !u!4 &1666161704 stripped @@ -3156,6 +3259,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3180,6 +3284,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1783446447 MeshFilter: m_ObjectHideFlags: 0 @@ -3283,6 +3388,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3307,6 +3413,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1817326002 MeshFilter: m_ObjectHideFlags: 0 @@ -3398,6 +3505,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3422,6 +3530,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1961305762 MeshFilter: m_ObjectHideFlags: 0 @@ -3477,6 +3586,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3501,6 +3611,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &1964420306 MeshFilter: m_ObjectHideFlags: 0 @@ -3556,6 +3667,7 @@ MeshRenderer: m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 + m_RayTraceProcedural: 0 m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: @@ -3580,6 +3692,7 @@ MeshRenderer: m_SortingLayerID: 0 m_SortingLayer: 0 m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!33 &2018221331 MeshFilter: m_ObjectHideFlags: 0 @@ -3696,6 +3809,16 @@ PrefabInstance: propertyPath: m_Enabled value: 1 objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 + objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: ImageComparisonSettings.TargetHeight @@ -3706,15 +3829,10 @@ PrefabInstance: propertyPath: ImageComparisonSettings.TargetWidth value: 640 objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: m_Version - value: 7 - objectReference: {fileID: 0} - - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 - value: 70005818916701 + propertyPath: xrThresholdMultiplier + value: 1.3 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -3772,38 +3890,3 @@ MonoBehaviour: blendDistance: 0 weight: 1 sharedProfile: {fileID: 11400000, guid: d5920ee18ee18f44c852621abac2d7bb, type: 2} ---- !u!84 &2101011034 -RenderTexture: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_Name: - m_ImageContentsHash: - serializedVersion: 2 - Hash: 00000000000000000000000000000000 - m_ForcedFallbackFormat: 4 - m_DownscaleFallback: 0 - serializedVersion: 3 - m_Width: 640 - m_Height: 360 - m_AntiAliasing: 1 - m_MipCount: -1 - m_DepthFormat: 2 - m_ColorFormat: 4 - m_MipMap: 0 - m_GenerateMips: 0 - m_SRGB: 1 - m_UseDynamicScale: 0 - m_BindMS: 0 - m_EnableCompatibleFormat: 1 - m_TextureSettings: - serializedVersion: 2 - m_FilterMode: 1 - m_Aniso: 1 - m_MipBias: 0 - m_WrapU: 1 - m_WrapV: 1 - m_WrapW: 1 - m_Dimension: 2 - m_VolumeDepth: 1 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/5008_FogFiltering.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/5008_FogFiltering.png index 5d0afa619f3..b287e5edb01 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/5008_FogFiltering.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/5008_FogFiltering.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a9e2ab64262fe8b62673f00101b3771745287b1765632f15450f54c5619373ba -size 135960 +oid sha256:a71d3660c4bb62cb84418b98474bf8bf82ed5803ebb43e7b081b8bddf5e076f7 +size 127491 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5003_Fog_DensityVolumesShadows.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5003_Fog_DensityVolumesShadows.png index 95b515251a6..65d931a7ad2 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5003_Fog_DensityVolumesShadows.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5003_Fog_DensityVolumesShadows.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9d0441230c5e311785d99c0500b7e6115eff3f513dd954602a642e60dd4e366a -size 130629 +oid sha256:4ef53321ad141a3119b97db8af49e51d4960afbfeeb89fbd971527c537d3fa8a +size 110219 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_FogFiltering.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_FogFiltering.png index 68c40c7d251..aa8cdc32900 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_FogFiltering.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_FogFiltering.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:6fe252163e1eff6b4e0f7757e6b7fa1f744ae875c349acb0cf166a0060f2162b -size 154711 +oid sha256:3aeb1224113d31d041a8ac8f629f87117efa56df9ee73dbe3df16f75f1b7948a +size 132378 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d0015a03368..08b3bc385dd 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -661,6 +661,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an exception happening when using RTSSS without using RTShadows. - Fix inconsistencies with transparent motion vectors and opaque by allowing camera only transparent motion vectors. - Fix reflection probe frame settings override +- Fixed certain shadow bias artifacts present in volumetric lighting (case 1231885). ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl index cf180fdf729..82ed08476d1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/AtmosphericScattering.hlsl @@ -279,13 +279,13 @@ void EvaluateAtmosphericScattering(PositionInputs posInput, float3 V, out float3 { float4 value = SampleVBuffer(TEXTURE3D_ARGS(_VBufferLighting, s_linear_clamp_sampler), posInput.positionNDC, - fogFragDist, + fogFragDist, _VBufferViewportSize, _VBufferLightingViewportScale.xyz, _VBufferLightingViewportLimit.xyz, _VBufferDistanceEncodingParams, _VBufferDistanceDecodingParams, - true, false); + true, true, false); // TODO: add some slowly animated noise (dither?) to the reconstructed value. // TODO: re-enable tone mapping after implementing pre-exposure. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl index 3734e9e0704..2800a261dfa 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadow.hlsl @@ -3,8 +3,12 @@ #define SHADOW_OPTIMIZE_REGISTER_USAGE 1 -#ifndef SHADOW_USE_DEPTH_BIAS -#define SHADOW_USE_DEPTH_BIAS 1 // Enable clip space z biasing +#ifndef SHADOW_AUTO_FLIP_NORMAL // If (NdotL < 0), we flip the normal to correctly bias lit back-faces (used for transmission) +#define SHADOW_AUTO_FLIP_NORMAL 1 // Externally define as 0 to disable +#endif + +#ifndef SHADOW_USE_DEPTH_BIAS // Enable clip space z biasing +#define SHADOW_USE_DEPTH_BIAS 1 // Externally define as 0 to disable #endif #if SHADOW_OPTIMIZE_REGISTER_USAGE == 1 @@ -16,8 +20,9 @@ // normalWS is the vertex normal if available or shading normal use to bias the shadow position float GetDirectionalShadowAttenuation(HDShadowContext shadowContext, float2 positionSS, float3 positionWS, float3 normalWS, int shadowDataIndex, float3 L) { - // If NdotL < 0, we flip the normal in case it is used for the transmission to correctly bias shadow position +#if SHADOW_AUTO_FLIP_NORMAL normalWS *= FastSign(dot(normalWS, L)); +#endif #if defined(SHADOW_LOW) || defined(SHADOW_MEDIUM) return EvalShadow_CascadedDepth_Dither(shadowContext, _ShadowmapCascadeAtlas, s_linear_clamp_compare_sampler, positionSS, positionWS, normalWS, shadowDataIndex, L); #else @@ -31,8 +36,9 @@ float GetPunctualShadowAttenuation(HDShadowContext shadowContext, float2 positio shadowDataIndex = WaveReadLaneFirst(shadowDataIndex); #endif - // If NdotL < 0, we flip the normal in case it is used for the transmission to correctly bias shadow position +#if SHADOW_AUTO_FLIP_NORMAL normalWS *= FastSign(dot(normalWS, L)); +#endif // Note: Here we assume that all the shadow map cube faces have been added contiguously in the buffer to retreive the shadow information HDShadowData sd = shadowContext.shadowDatas[shadowDataIndex]; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VBuffer.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VBuffer.hlsl index 8db97933abf..ece252c8462 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VBuffer.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VBuffer.hlsl @@ -12,6 +12,8 @@ // if (clampToBorder), samples outside of the buffer return 0 (border color). // Otherwise, the sampler simply clamps the texture coordinate to the edge of the texture. // Warning: clamping to border may not work as expected with the quadratic filter due to its extent. +// +// if (biasLookup), we apply a constant bias to the look-up to avoid light leaks through geometry. float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), float2 positionNDC, float linearDistance, @@ -20,6 +22,7 @@ float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), float3 VBufferViewportLimit, float4 VBufferDistanceEncodingParams, float4 VBufferDistanceDecodingParams, + bool biasLookup, bool quadraticFilterXY, bool clampToBorder) { @@ -27,6 +30,14 @@ float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), float2 uv = positionNDC; float w = EncodeLogarithmicDepthGeneralized(linearDistance, VBufferDistanceEncodingParams); + if (biasLookup) + { + // The value is higher than 0.5 (we use half of the length the diagonal of a unit cube). + // to account for varying angles of incidence. + // TODO: XR? + w -= (sqrt(3)/2) * _VBufferRcpSliceCount; + } + bool coordIsInsideFrustum; if (clampToBorder) @@ -79,6 +90,7 @@ float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), // The sampler clamps to the edge (so UVWs < 0 are OK). // TODO: perform per-sample (4, in this case) bilateral filtering, rather than per-pixel. This should reduce leaking. + // Currently we don't do it, since it is expensive and doesn't appear to be helpful/necessary in practice. result = (weights[0].x * weights[0].y) * SAMPLE_TEXTURE3D_LOD(VBuffer, clampSampler, min(float3(texUv0, texW), VBufferViewportLimit), 0) + (weights[1].x * weights[0].y) * SAMPLE_TEXTURE3D_LOD(VBuffer, clampSampler, min(float3(texUv1, texW), VBufferViewportLimit), 0) + (weights[0].x * weights[1].y) * SAMPLE_TEXTURE3D_LOD(VBuffer, clampSampler, min(float3(texUv2, texW), VBufferViewportLimit), 0) @@ -105,6 +117,7 @@ float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), float3 VBufferViewportLimit, float4 VBufferDistanceEncodingParams, float4 VBufferDistanceDecodingParams, + bool biasLookup, bool quadraticFilterXY, bool clampToBorder) { @@ -119,6 +132,7 @@ float4 SampleVBuffer(TEXTURE3D_PARAM(VBuffer, clampSampler), VBufferViewportLimit, VBufferDistanceEncodingParams, VBufferDistanceDecodingParams, + biasLookup, quadraticFilterXY, clampToBorder); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.compute index c2fc3b77ed5..7c36569d84d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/VolumetricLighting.compute @@ -28,10 +28,14 @@ #define VBUFFER_VOXEL_SIZE 8 #endif -#define GROUP_SIZE_1D 8 -#define SUPPORT_LOCAL_LIGHTS 1 // Local lights contribute to fog lighting -#define SHADOW_USE_DEPTH_BIAS 0 -#define PREFER_HALF 0 +#define PREFER_HALF 0 +#define GROUP_SIZE_1D 8 +#define SUPPORT_LOCAL_LIGHTS 1 // Local lights contribute to fog lighting +#define SHADOW_USE_DEPTH_BIAS 0 // Too expensive, not particularly effective +#define SHADOW_LOW // Too expensive +#define SHADOW_AUTO_FLIP_NORMAL 0 // No normal information, so no need to flip +#define SHADOW_VIEW_BIAS 1 // Prevents light leaking through thin geometry. Not as good as normal bias at grazing angles, but cheaper and independent from the geometry. +#define USE_DEPTH_BUFFER 1 // Accounts for opaque geometry along the camera ray //-------------------------------------------------------------------------------------------------- // Included headers @@ -56,8 +60,6 @@ #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Sky/PhysicallyBasedSky/PhysicallyBasedSkyCommon.hlsl" -// Use low quality shadow when doing volumetric -#define SHADOW_LOW #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Lighting.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoopDef.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightEvaluation.hlsl" @@ -83,6 +85,7 @@ struct JitteredRay float3 jitterDirWS; float3 xDirDerivWS; float3 yDirDerivWS; + float geomDist; }; struct VoxelLighting @@ -91,6 +94,11 @@ struct VoxelLighting float3 radianceNoPhase; }; +bool IsInRange(float x, float2 range) +{ + return clamp(x, range.x, range.y) == x; +} + float ComputeHistoryWeight() { // Compute the exponential moving average over 'n' frames: @@ -149,9 +157,13 @@ VoxelLighting EvaluateVoxelLightingDirectional(LightLoopContext context, uint fe // Is it worth sampling the shadow map? if ((light.volumetricLightDimmer > 0) && (light.volumetricShadowDimmer > 0)) { - // Pass the light direction as the normal to avoid issues with shadow biasing code. - // TODO: does it make sense? - float3 shadowN = L; + #if SHADOW_VIEW_BIAS + // Our shadows only support normal bias. Volumetrics has no access to the surface normal. + // We fake view bias by invoking the normal bias code with the view direction. + float3 shadowN = -ray.jitterDirWS; + #else + float3 shadowN = 0; // No bias + #endif // SHADOW_VIEW_BIAS context.shadowValue = GetDirectionalShadowAttenuation(context.shadowContext, posInput.positionSS, posInput.positionWS, shadowN, @@ -182,9 +194,13 @@ VoxelLighting EvaluateVoxelLightingDirectional(LightLoopContext context, uint fe lightColor.a *= light.volumetricLightDimmer; lightColor.rgb *= lightColor.a; // Composite - // Pass the light direction as the normal to avoid issues with shadow biasing code. - // TODO: does it make sense? - float3 shadowN = L; + #if SHADOW_VIEW_BIAS + // Our shadows only support normal bias. Volumetrics has no access to the surface normal. + // We fake view bias by invoking the normal bias code with the view direction. + float3 shadowN = -ray.jitterDirWS; + #else + float3 shadowN = 0; // No bias + #endif // SHADOW_VIEW_BIAS // This code works for both surface reflection and thin object transmission. DirectionalShadowType shadow = EvaluateShadow_Directional(context, posInput, light, unused, shadowN); @@ -298,9 +314,13 @@ VoxelLighting EvaluateVoxelLightingLocal(LightLoopContext context, uint featureF lightColor.a *= light.volumetricLightDimmer; lightColor.rgb *= lightColor.a; // Composite - // Pass the light direction as the normal to avoid issues with shadow biasing code. - // TODO: does it make sense? - float3 shadowN = L; + #if SHADOW_VIEW_BIAS + // Our shadows only support normal bias. Volumetrics has no access to the surface normal. + // We fake view bias by invoking the normal bias code with the view direction. + float3 shadowN = -ray.jitterDirWS; + #else + float3 shadowN = 0; // No bias + #endif // SHADOW_VIEW_BIAS float shadow = EvaluateShadow_Punctual(context, posInput, light, unused, shadowN, L, distances); lightColor.rgb *= ComputeShadowColor(shadow, light.shadowTint, light.penumbraTint); @@ -379,9 +399,13 @@ VoxelLighting EvaluateVoxelLightingLocal(LightLoopContext context, uint featureF lightColor.a *= light.volumetricLightDimmer; lightColor.rgb *= lightColor.a; // Composite - // Pass the light direction as the normal to avoid issues with shadow biasing code. - // TODO: does it make sense? - float3 shadowN = L; + #if SHADOW_VIEW_BIAS + // Our shadows only support normal bias. Volumetrics has no access to the surface normal. + // We fake view bias by invoking the normal bias code with the view direction. + float3 shadowN = -ray.jitterDirWS; + #else + float3 shadowN = 0; // No bias + #endif // SHADOW_VIEW_BIAS float shadow = EvaluateShadow_Punctual(context, posInput, light, unused, shadowN, L, distances); lightColor.rgb *= ComputeShadowColor(shadow, light.shadowTint, light.penumbraTint); @@ -474,7 +498,22 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, float e1 = slice * de + de; // (slice + 1) / sliceCount float t1 = DecodeLogarithmicDepthGeneralized(e1, _VBufferDistanceDecodingParams); - float dt = t1 - t0; + float tNext = t1; + + #if USE_DEPTH_BUFFER + bool containsOpaqueGeometry = IsInRange(ray.geomDist, float2(t0, t1)); + + if (containsOpaqueGeometry) + { + // Only integrate up to the opaque surface (make the voxel shorter, but not completely flat). + // Note that we can NOT completely stop integrating when the ray reaches geometry, since + // otherwise we get flickering at geometric discontinuities if reprojection is enabled. + // In this case, a temporally stable light leak is better than flickering. + t1 = max(t0 * 1.0001, ray.geomDist); + } + #endif + + float dt = t1 - t0; // Is geometry-aware // Accurately compute the center of the voxel in the log space. It's important to perform // the inversion exactly, since the accumulated value of the integral is stored at the center. @@ -553,7 +592,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, _VBufferHistoryViewportLimit.xyz, _VBufferPrevDistanceEncodingParams, _VBufferPrevDistanceDecodingParams, - false, true) * float4(GetInversePreviousExposureMultiplier().xxx, 1); + false, false, true) * float4(GetInversePreviousExposureMultiplier().xxx, 1); bool reprojSuccess = (_VBufferHistoryIsValid != 0) && (reprojValue.a != 0); @@ -592,7 +631,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, blendValue.rgb *= phaseCurrFrame; #endif // ENABLE_ANISOTROPY - #else // ENABLE_REPROJECTION + #else // NO REPROJECTION #ifdef ENABLE_ANISOTROPY float4 blendValue = float4(aggregateLighting.radianceComplete, extinction * dt); @@ -615,6 +654,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, // Integral{a, b}{Transmittance(0, t) * L_s(t) dt} = Transmittance(0, a) * Integral{a, b}{Transmittance(0, t - a) * L_s(t) dt}. float3 probeRadiance = probeInScatteredRadiance * TransmittanceIntegralHomogeneousMedium(extinction, dt); + // Accumulate radiance along the ray. totalRadiance += transmittance * scattering * (phase * blendValue.rgb + probeRadiance); // Compute the optical depth up to the center of the interval. @@ -630,7 +670,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, // Compute the optical depth up to the end of the interval. opticalDepth += 0.5 * blendValue.a; - t0 = t1; + t0 = tNext; } } @@ -643,17 +683,6 @@ void VolumetricLighting(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupOffset = groupId * GROUP_SIZE_1D; uint2 voxelCoord = groupOffset + groupThreadId; -#ifdef VL_PRESET_OPTIMAL - // The entire thread group is within the same light tile. - uint2 tileCoord = groupOffset * VBUFFER_VOXEL_SIZE / TILE_SIZE_BIG_TILE; -#else - // No compile-time optimizations, no scalarization. - // If _VBufferVoxelSize is not a power of 2 or > TILE_SIZE_BIG_TILE, a voxel may straddle - // a tile boundary. This means different voxel subsamples may belong to different tiles. - // We accept this error, and simply use the coordinates of the center of the voxel. - uint2 tileCoord = (uint2)((voxelCoord + 0.5) * _VBufferVoxelSize / TILE_SIZE_BIG_TILE); -#endif - uint tileIndex = tileCoord.x + _NumTileBigTileX * tileCoord.y; // Reminder: our voxels are sphere-capped right frustums (truncated right pyramids). // The curvature of the front and back faces is quite gentle, so we can use @@ -665,6 +694,7 @@ void VolumetricLighting(uint3 dispatchThreadId : SV_DispatchThreadID, float3 F = GetViewForwardDir(); float3 U = GetViewUpDir(); + float3 R = cross(F, U); float2 centerCoord = voxelCoord + float2(0.5, 0.5); @@ -685,14 +715,45 @@ void VolumetricLighting(uint3 dispatchThreadId : SV_DispatchThreadID, ray.yDirDerivWS = cross(ray.xDirDerivWS, ray.centerDirWS); // Will have the length of 'unitDistFaceSize' by construction #ifdef ENABLE_REPROJECTION - ray.jitterDirWS = normalize(ray.centerDirWS + _VBufferSampleOffset.x * ray.xDirDerivWS - + _VBufferSampleOffset.y * ray.yDirDerivWS); + float2 sampleOffset = _VBufferSampleOffset.xy; #else - ray.jitterDirWS = ray.centerDirWS; + float2 sampleOffset = 0; #endif + ray.jitterDirWS = normalize(ray.centerDirWS + sampleOffset.x * ray.xDirDerivWS + + sampleOffset.y * ray.yDirDerivWS); + + // We would like to determine the screen pixel (at the full resolution) which + // the jittered ray corresponds to. The exact solution can be obtained by intersecting + // the ray with the screen plane, e.i. (ViewSpace(jitterDirWS).z = 1). That's a little expensive. + // So, as an approximation, we ignore the curvature of the frustum. + uint2 pixelCoord = (uint2)((voxelCoord + 0.5 + sampleOffset) * _VBufferVoxelSize); + +#ifdef VL_PRESET_OPTIMAL + // The entire thread group is within the same light tile. + uint2 tileCoord = groupOffset * VBUFFER_VOXEL_SIZE / TILE_SIZE_BIG_TILE; +#else + // No compile-time optimizations, no scalarization. + uint2 tileCoord = pixelCoord / TILE_SIZE_BIG_TILE; +#endif + uint tileIndex = tileCoord.x + _NumTileBigTileX * tileCoord.y; + + // Do not jitter 'voxelCoord' else. It's expected to correspond to the center of the voxel. PositionInputs posInput = GetPositionInput(voxelCoord, _VBufferViewportSize.zw, tileCoord); + ray.geomDist = FLT_INF; + +#if USE_DEPTH_BUFFER + float deviceDepth = LoadCameraDepth(pixelCoord); + + if (deviceDepth > 0) // Skip the skybox + { + // Convert it to distance along the ray. Doesn't work with tilt shift, etc. + float linearDepth = LinearEyeDepth(deviceDepth, _ZBufferParams); + ray.geomDist = linearDepth * rcp(dot(ray.jitterDirWS, F)); + } +#endif + // TODO LightLoopContext context; context.shadowContext = InitShadowContext();