diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/204_LocalAmbientOcclusionDenoised.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/204_LocalAmbientOcclusionDenoised.png index 01f4e915152..00141814c3f 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/204_LocalAmbientOcclusionDenoised.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/204_LocalAmbientOcclusionDenoised.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c43cc43455a10d225759bfa8cc23884f8931d73b099c7f6ea9a182af925927c9 -size 514626 +oid sha256:43584696aff82c54a97062e1c192e64743257153567ed0da25796fe455e18bda +size 467284 diff --git a/TestProjects/HDRP_DXR_Tests/ProjectSettings/PresetManager.asset b/TestProjects/HDRP_DXR_Tests/ProjectSettings/PresetManager.asset index 30d391f6792..fe6efb82140 100644 --- a/TestProjects/HDRP_DXR_Tests/ProjectSettings/PresetManager.asset +++ b/TestProjects/HDRP_DXR_Tests/ProjectSettings/PresetManager.asset @@ -3,11 +3,14 @@ --- !u!1386491679 &1 PresetManager: m_ObjectHideFlags: 0 - m_DefaultList: - - type: - m_NativeTypeID: 1020 + serializedVersion: 2 + m_DefaultPresets: + - first: + m_NativeTypeID: 1006 m_ManagedTypePPtr: {fileID: 0} m_ManagedTypeFallback: - defaultPresets: - - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, + second: + - m_Preset: {fileID: 2655988077585873504, guid: 5e6bade33f990fb4c9b0542510519b12, type: 2} + m_Filter: glob:"ActualImages/**" + m_Disabled: 0 diff --git a/TestProjects/HDRP_HybridTests/ProjectSettings/PresetManager.asset b/TestProjects/HDRP_HybridTests/ProjectSettings/PresetManager.asset index 30d391f6792..fe6efb82140 100644 --- a/TestProjects/HDRP_HybridTests/ProjectSettings/PresetManager.asset +++ b/TestProjects/HDRP_HybridTests/ProjectSettings/PresetManager.asset @@ -3,11 +3,14 @@ --- !u!1386491679 &1 PresetManager: m_ObjectHideFlags: 0 - m_DefaultList: - - type: - m_NativeTypeID: 1020 + serializedVersion: 2 + m_DefaultPresets: + - first: + m_NativeTypeID: 1006 m_ManagedTypePPtr: {fileID: 0} m_ManagedTypeFallback: - defaultPresets: - - m_Preset: {fileID: 2655988077585873504, guid: 0cd792cc87e492d43b4e95b205fc5cc6, + second: + - m_Preset: {fileID: 2655988077585873504, guid: 5e6bade33f990fb4c9b0542510519b12, type: 2} + m_Filter: glob:"ActualImages/**" + m_Disabled: 0 diff --git a/TestProjects/HDRP_RuntimeTests/ProjectSettings/PresetManager.asset b/TestProjects/HDRP_RuntimeTests/ProjectSettings/PresetManager.asset index 67a94daefe2..fe6efb82140 100644 --- a/TestProjects/HDRP_RuntimeTests/ProjectSettings/PresetManager.asset +++ b/TestProjects/HDRP_RuntimeTests/ProjectSettings/PresetManager.asset @@ -4,4 +4,13 @@ PresetManager: m_ObjectHideFlags: 0 serializedVersion: 2 - m_DefaultPresets: {} + m_DefaultPresets: + - first: + m_NativeTypeID: 1006 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + second: + - m_Preset: {fileID: 2655988077585873504, guid: 5e6bade33f990fb4c9b0542510519b12, + type: 2} + m_Filter: glob:"ActualImages/**" + m_Disabled: 0 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png new file mode 100644 index 00000000000..a6b7888d3ae --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:dc30a23c30d6f9b016b18c2cc6e9e9616de9078ebad237c8ce0ed0c7f1e0279d +size 181521 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png.meta new file mode 100644 index 00000000000..c27d8275117 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/4038_Bloom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: a75c9828a53ab87408052d33b8bcc950 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 0 + 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: 1 + 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: 1 + 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_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/4038_Bloom.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/4038_Bloom.png index 6470e5f52d6..bf77e3e66fe 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/4038_Bloom.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/4038_Bloom.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c0475a7564e7700f2e36269fbd0928d56689b12c41eee2e0f648c678d7a262a -size 240009 +oid sha256:cc015f9ee7de3608fc17e475a1b86223c15dd0785c4912f313d9fe720451ed92 +size 158751 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/4038_Bloom.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/4038_Bloom.png index 6470e5f52d6..7597744c30f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/4038_Bloom.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/4038_Bloom.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c0475a7564e7700f2e36269fbd0928d56689b12c41eee2e0f648c678d7a262a -size 240009 +oid sha256:e969f788680f67c92e9c91d732399db516ad9393f7e2d52a3ab6d10614eb910d +size 158681 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png new file mode 100644 index 00000000000..f1cbe47ae10 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:809f675f2ecb245e93036650546f5a35a2f12e8fd1ad60681bed001e2b09fdfc +size 181822 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png.meta new file mode 100644 index 00000000000..87a4391ba2f --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/4038_Bloom.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: d5127bd8f812a5b42bbcfac558952b9d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 1 + 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: 0 + 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: 1 + 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: 1 + 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_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/4038_Bloom.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/4038_Bloom.png index 6470e5f52d6..f3051b5a241 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/4038_Bloom.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/4038_Bloom.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c0475a7564e7700f2e36269fbd0928d56689b12c41eee2e0f648c678d7a262a -size 240009 +oid sha256:69ca5b7e4cc06cf20a19c33954b5d720da3f874aad24e717a5f8cb36c9829917 +size 158265 diff --git a/TestProjects/HDRP_Tests/ProjectSettings/PresetManager.asset b/TestProjects/HDRP_Tests/ProjectSettings/PresetManager.asset index 636a595b32b..fe6efb82140 100644 --- a/TestProjects/HDRP_Tests/ProjectSettings/PresetManager.asset +++ b/TestProjects/HDRP_Tests/ProjectSettings/PresetManager.asset @@ -3,4 +3,14 @@ --- !u!1386491679 &1 PresetManager: m_ObjectHideFlags: 0 - m_DefaultList: [] + serializedVersion: 2 + m_DefaultPresets: + - first: + m_NativeTypeID: 1006 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + second: + - m_Preset: {fileID: 2655988077585873504, guid: 5e6bade33f990fb4c9b0542510519b12, + type: 2} + m_Filter: glob:"ActualImages/**" + m_Disabled: 0 diff --git a/com.unity.render-pipelines.core/Editor/Volume/VolumeEditor.cs b/com.unity.render-pipelines.core/Editor/Volume/VolumeEditor.cs index 274016aa54a..b29db2c33b6 100644 --- a/com.unity.render-pipelines.core/Editor/Volume/VolumeEditor.cs +++ b/com.unity.render-pipelines.core/Editor/Volume/VolumeEditor.cs @@ -59,7 +59,7 @@ public override void OnInspectorGUI() EditorGUI.BeginProperty(lineRect, label, m_IsGlobal); { EditorGUI.BeginChangeCheck(); - isGlobal = EditorGUILayout.Popup(label, isGlobal, m_Modes); + isGlobal = EditorGUI.Popup(lineRect, label, isGlobal, m_Modes); if (EditorGUI.EndChangeCheck()) m_IsGlobal.boolValue = isGlobal == 0; } diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 101179d5f4d..f2976683c90 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -671,6 +671,10 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue where decals were duplicated in prefab isolation mode. - Fixed an issue where rendering preview with MSAA might generate render graph errors. - Fixed compile error in PS4 for planar reflection filtering. +- Fixed issue with blue line in prefabs for volume mode. +- Fixing the internsity being applied to RTAO too early leading to unexpected results (1254626). +- Fix issue that caused sky to incorrectly render when using a custom projection matrix. +- Fixed null reference exception when using depth pre/post pass in shadergraph with alpha clip in the material. ### Changed - Improve MIP selection for decals on Transparents @@ -814,6 +818,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Increased path tracing BSDFs roughness range from [0.001, 0.999] to [0.00001, 0.99999]. - Changing the default SSGI radius for the all configurations. - Changed the default parameters for quality RTGI to match expected behavior. +- Add color clear pass while rendering XR occlusion mesh to avoid leaks. ## [7.1.1] - 2019-09-05 diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs index 91f5a923888..954a0ea8bc8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/CreateEyeShaderGraph.cs @@ -18,7 +18,7 @@ public static void CreateEyeGraph() BlockFields.VertexDescription.Tangent, BlockFields.SurfaceDescription.BaseColor, BlockFields.SurfaceDescription.NormalTS, - HDBlockFields.SurfaceDescription.IrisNormal, + HDBlockFields.SurfaceDescription.IrisNormalTS, HDBlockFields.SurfaceDescription.BentNormal, BlockFields.SurfaceDescription.Smoothness, HDBlockFields.SurfaceDescription.IOR, diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeData.cs index c8db2ed1406..e249bdbeb66 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeData.cs @@ -27,5 +27,13 @@ public bool subsurfaceScattering get => m_SubsurfaceScattering; set => m_SubsurfaceScattering = value; } + + [SerializeField] + bool m_IrisNormal = false; + public bool irisNormal + { + get => m_IrisNormal; + set => m_IrisNormal = value; + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyePass.template b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyePass.template index 1cc6e8fbd65..ed71fbb46ac 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyePass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyePass.template @@ -182,18 +182,15 @@ Pass $SurfaceDescription.SubsurfaceMask: surfaceData.subsurfaceMask = surfaceDescription.SubsurfaceMask; - // tangent-space normal - float3 normalTS = float3(0.0f, 0.0f, 1.0f); - $SurfaceDescription.NormalTS: normalTS = surfaceDescription.NormalTS; - - // compute world space normal - GetNormalWS(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants); - - float3 irisNormalTS = normalTS; // By default Iris normal is same as normal - $SurfaceDescription.IrisNormal: irisNormalTS = surfaceDescription.IrisNormal; - - // compute world space normal - GetNormalWS(fragInputs, irisNormalTS, surfaceData.irisNormalWS, doubleSidedConstants); + // normal delivered to master node + $SurfaceDescription.NormalOS: surfaceData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); + $SurfaceDescription.NormalTS: GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants); + $SurfaceDescription.NormalWS: surfaceData.normalWS = surfaceDescription.NormalWS; + + surfaceData.irisNormalWS = surfaceData.normalWS; + $SurfaceDescription.IrisNormalOS: surfaceData.irisNormalWS = TransformObjectToWorldNormal(surfaceDescription.IrisNormalOS); + $SurfaceDescription.IrisNormalTS: GetNormalWS(fragInputs, surfaceDescription.IrisNormalTS, surfaceData.irisNormalWS, doubleSidedConstants); + $SurfaceDescription.IrisNormalWS: surfaceData.irisNormalWS = surfaceDescription.IrisNormalWS; surfaceData.geomNormalWS = fragInputs.tangentToWorld[2]; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs index 5427da12051..d39bfdd48e8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs @@ -63,7 +63,7 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary eyeData.subsurfaceScattering, (newValue) => eyeData.subsurfaceScattering = newValue); + AddProperty(Styles.irisNormalType, () => eyeData.irisNormal, (newValue) => eyeData.irisNormal = newValue); } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricPass.template index d9b8648834b..abdab374d70 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricPass.template @@ -195,12 +195,10 @@ Pass float3 doubleSidedConstants = float3(1.0, 1.0, 1.0); #endif - // tangent-space normal - float3 normalTS = float3(0.0f, 0.0f, 1.0f); - $SurfaceDescription.NormalTS: normalTS = surfaceDescription.NormalTS; - - // compute world space normal - GetNormalWS(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants); + // normal delivered to master node + $SurfaceDescription.NormalOS: surfaceData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); + $SurfaceDescription.NormalTS: GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants); + $SurfaceDescription.NormalWS: surfaceData.normalWS = surfaceDescription.NormalWS; surfaceData.geomNormalWS = fragInputs.tangentToWorld[2]; surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // The tangent is not normalize in tangentToWorld for mikkt. TODO: Check if it expected that we normalize with Morten. Tag: SURFACE_GRADIENT diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/HairPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/HairPass.template index 01dccf50d14..c4353c0c351 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/HairPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/HairPass.template @@ -219,12 +219,10 @@ Pass surfaceData.geomNormalWS = fragInputs.tangentToWorld[2]; - // tangent-space normal - float3 normalTS = float3(0.0f, 0.0f, 1.0f); - $SurfaceDescription.NormalTS: normalTS = surfaceDescription.NormalTS; - - // compute world space (user-provided) normal - GetNormalWS(fragInputs, normalTS, surfaceData.normalWS, doubleSidedConstants); + // normal delivered to master node + $SurfaceDescription.NormalOS: surfaceData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); + $SurfaceDescription.NormalTS: GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants); + $SurfaceDescription.NormalWS: surfaceData.normalWS = surfaceDescription.NormalWS; #if HAVE_DECALS if (_EnableDecals) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/LitPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/LitPass.template index fd69ae98c17..be111279479 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/LitPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/LitPass.template @@ -48,9 +48,6 @@ Pass $TransparentWritesMotionVec: #define _WRITE_TRANSPARENT_MOTION_VECTOR 1 $DepthOffset: #define _DEPTHOFFSET_ON 1 $BlendMode.PreserveSpecular: #define _BLENDMODE_PRESERVE_SPECULAR_LIGHTING 1 - $NormalDropOffTS: #define _NORMAL_DROPOFF_TS 1 - $NormalDropOffOS: #define _NORMAL_DROPOFF_OS 1 - $NormalDropOffWS: #define _NORMAL_DROPOFF_WS 1 $AttributesMesh.normalOS: #define ATTRIBUTES_NEED_NORMAL $AttributesMesh.tangentOS: #define ATTRIBUTES_NEED_TANGENT $AttributesMesh.uv0: #define ATTRIBUTES_NEED_TEXCOORD0 @@ -225,19 +222,9 @@ Pass #endif // normal delivered to master node - float3 normalSrc = float3(0.0f, 0.0f, 1.0f); - $SurfaceDescription.NormalOS: normalSrc = surfaceDescription.NormalOS; - $SurfaceDescription.NormalTS: normalSrc = surfaceDescription.NormalTS; - $SurfaceDescription.NormalWS: normalSrc = surfaceDescription.NormalWS; - - // compute world space normal - #if _NORMAL_DROPOFF_TS - GetNormalWS(fragInputs, normalSrc, surfaceData.normalWS, doubleSidedConstants); - #elif _NORMAL_DROPOFF_OS - surfaceData.normalWS = TransformObjectToWorldNormal(normalSrc); - #elif _NORMAL_DROPOFF_WS - surfaceData.normalWS = normalSrc; - #endif + $SurfaceDescription.NormalOS: surfaceData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); + $SurfaceDescription.NormalTS: GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants); + $SurfaceDescription.NormalWS: surfaceData.normalWS = surfaceDescription.NormalWS; surfaceData.geomNormalWS = fragInputs.tangentToWorld[2]; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs index dd2f1689081..987b301904c 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs @@ -71,11 +71,6 @@ public override void GetFields(ref TargetFieldContext context) // Common properties to all Lit master nodes var descs = context.blocks.Select(x => x.descriptor); - // Normal dropoff space - context.AddField(Fields.NormalDropOffOS, lightingData.normalDropOffSpace == NormalDropOffSpace.Object); - context.AddField(Fields.NormalDropOffTS, lightingData.normalDropOffSpace == NormalDropOffSpace.Tangent); - context.AddField(Fields.NormalDropOffWS, lightingData.normalDropOffSpace == NormalDropOffSpace.World); - // Misc context.AddField(HDFields.BlendPreserveSpecular, systemData.surfaceType != SurfaceType.Opaque && lightingData.blendPreserveSpecular); context.AddField(HDFields.DisableDecals, !lightingData.receiveDecals); diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitPass.template index 3f9b8f0c73a..b8f15d6f920 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitPass.template @@ -139,9 +139,6 @@ Pass $StackLitDebug: #define _STACKLIT_DEBUG $DepthOffset: #define _DEPTHOFFSET_ON 1 $BlendMode.PreserveSpecular: #define _BLENDMODE_PRESERVE_SPECULAR_LIGHTING 1 - $NormalDropOffTS: #define _NORMAL_DROPOFF_TS 1 - $NormalDropOffOS: #define _NORMAL_DROPOFF_OS 1 - $NormalDropOffWS: #define _NORMAL_DROPOFF_WS 1 // StackLit.hlsl config defines (direct, no feature keywords): // _SCREENSPACE_SPECULAROCCLUSION_METHOD, _SCREENSPACE_SPECULAROCCLUSION_VISIBILITY_FROM_AO_WEIGHT, _SCREENSPACE_SPECULAROCCLUSION_VISIBILITY_DIR @@ -391,22 +388,14 @@ Pass surfaceData.geomNormalWS = fragInputs.tangentToWorld[2]; // normal delivered to master node - float3 normalSrc = float3(0.0f, 0.0f, 1.0f); - $SurfaceDescription.NormalOS: normalSrc = surfaceDescription.NormalOS; - $SurfaceDescription.NormalTS: normalSrc = surfaceDescription.NormalTS; - $SurfaceDescription.NormalWS: normalSrc = surfaceDescription.NormalWS; - - // compute world space normal - #if _NORMAL_DROPOFF_TS - GetNormalWS(fragInputs, normalSrc, surfaceData.normalWS, doubleSidedConstants); - #elif _NORMAL_DROPOFF_OS - surfaceData.normalWS = TransformObjectToWorldNormal(normalSrc); - #elif _NORMAL_DROPOFF_WS - surfaceData.normalWS = normalSrc; - #endif + $SurfaceDescription.NormalOS: surfaceData.normalWS = TransformObjectToWorldNormal(surfaceDescription.NormalOS); + $SurfaceDescription.NormalTS: GetNormalWS(fragInputs, surfaceDescription.NormalTS, surfaceData.normalWS, doubleSidedConstants); + $SurfaceDescription.NormalWS: surfaceData.normalWS = surfaceDescription.NormalWS; surfaceData.coatNormalWS = surfaceData.geomNormalWS; - $Material.CoatNormal: GetNormalWS(fragInputs, surfaceDescription.CoatNormal, surfaceData.coatNormalWS, doubleSidedConstants); + $SurfaceDescription.CoatNormalOS: surfaceData.coatNormalWS = TransformObjectToWorldNormal(surfaceDescription.CoatNormalOS); + $SurfaceDescription.CoatNormalTS: GetNormalWS(fragInputs, surfaceDescription.CoatNormalTS, surfaceData.coatNormalWS, doubleSidedConstants); + $SurfaceDescription.CoatNormalWS: surfaceData.coatNormalWS = surfaceDescription.CoatNormalWS; // surfaceData.tangentWS = normalize(fragInputs.tangentToWorld[0].xyz); // ...We don't need to normalize if we're going to call Orthonormalize anyways as long as diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs index a091f9b8ad9..e3beab194e2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs @@ -148,7 +148,7 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary(CoatMaskSlotId).value == 0.0f), // context.AddField(HDFields.CoatMaskOne, coat.isOn && pass.pixelBlocks.Contains(CoatMaskSlotId) && // FindSlot(CoatMaskSlotId).value == 1.0f), - context.AddField(HDFields.CoatNormal, stackLitData.coatNormal && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.CoatNormal)); + context.AddField(HDFields.CoatNormal, stackLitData.coatNormal + && (context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.CoatNormalOS) + || context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.CoatNormalTS) + || context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.CoatNormalWS))); context.AddField(HDFields.Iridescence, stackLitData.iridescence); context.AddField(HDFields.SubsurfaceScattering, stackLitData.subsurfaceScattering && systemData.surfaceType != SurfaceType.Transparent); context.AddField(HDFields.Transmission, stackLitData.transmission); @@ -215,7 +218,9 @@ public override void GetActiveBlocks(ref TargetActiveBlockContext context) context.AddBlock(HDBlockFields.SurfaceDescription.CoatIor, stackLitData.coat); context.AddBlock(HDBlockFields.SurfaceDescription.CoatThickness, stackLitData.coat); context.AddBlock(HDBlockFields.SurfaceDescription.CoatExtinction, stackLitData.coat); - context.AddBlock(HDBlockFields.SurfaceDescription.CoatNormal, stackLitData.coat && stackLitData.coatNormal); + context.AddBlock(HDBlockFields.SurfaceDescription.CoatNormalOS, stackLitData.coat && stackLitData.coatNormal && lightingData.normalDropOffSpace == NormalDropOffSpace.Object); + context.AddBlock(HDBlockFields.SurfaceDescription.CoatNormalTS, stackLitData.coat && stackLitData.coatNormal && lightingData.normalDropOffSpace == NormalDropOffSpace.Tangent); + context.AddBlock(HDBlockFields.SurfaceDescription.CoatNormalWS, stackLitData.coat && stackLitData.coatNormal && lightingData.normalDropOffSpace == NormalDropOffSpace.World); context.AddBlock(HDBlockFields.SurfaceDescription.CoatMask, stackLitData.coat); // Dual Specular Lobe diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/DecalSurfaceInputsUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/DecalSurfaceInputsUIBlock.cs index 2ea7ac2be49..422363b5b78 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/DecalSurfaceInputsUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/DecalSurfaceInputsUIBlock.cs @@ -324,11 +324,12 @@ void DrawDecalGUI() materialEditor.ShaderProperty(emissiveExposureWeight, Styles.emissiveExposureWeightText); } - EditorGUILayout.HelpBox( - "Enable 'Metal and AO properties' in your HDRP Asset if you want to control the Metal and AO properties of decals.\nThere is a performance cost of enabling this option.", - MessageType.Info); + if (!perChannelMask) + { + EditorGUILayout.HelpBox("Enable 'Metal and AO properties' in your HDRP Asset if you want to control the Metal and AO properties of decals.\nThere is a performance cost of enabling this option.", + MessageType.Info); + } } - } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs index 9cbc2afbd6e..317785bf7f5 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs @@ -422,12 +422,14 @@ void DrawAlphaCutoffGUI() { if (transparentDepthPrepassEnable != null && transparentDepthPrepassEnable.floatValue == 1.0f) { - materialEditor.ShaderProperty(alphaCutoffPrepass, Styles.alphaCutoffPrepassText); + if (alphaCutoffPrepass != null) + materialEditor.ShaderProperty(alphaCutoffPrepass, Styles.alphaCutoffPrepassText); } if (transparentDepthPostpassEnable != null && transparentDepthPostpassEnable.floatValue == 1.0f) { - materialEditor.ShaderProperty(alphaCutoffPostpass, Styles.alphaCutoffPostpassText); + if (alphaCutoffPostpass != null) + materialEditor.ShaderProperty(alphaCutoffPostpass, Styles.alphaCutoffPostpassText); } } EditorGUI.indentLevel--; diff --git a/com.unity.render-pipelines.high-definition/Editor/ShaderGraph/HDBlockFields.cs b/com.unity.render-pipelines.high-definition/Editor/ShaderGraph/HDBlockFields.cs index 3e47e0e08f8..7ef497bbec0 100644 --- a/com.unity.render-pipelines.high-definition/Editor/ShaderGraph/HDBlockFields.cs +++ b/com.unity.render-pipelines.high-definition/Editor/ShaderGraph/HDBlockFields.cs @@ -78,8 +78,12 @@ public struct SurfaceDescription // -------------------------------------------------- // Eye - public static BlockFieldDescriptor IrisNormal = new BlockFieldDescriptor(SurfaceDescription.name, "IrisNormal", "Iris Normal", "SURFACEDESCRIPTION_IRISNORMAL", + public static BlockFieldDescriptor IrisNormalTS = new BlockFieldDescriptor(SurfaceDescription.name, "IrisNormalTS", "Iris Normal (Tangent Space)", "SURFACEDESCRIPTION_IRISNORMALTS", new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); + public static BlockFieldDescriptor IrisNormalOS = new BlockFieldDescriptor(SurfaceDescription.name, "IrisNormalOS", "Iris Normal (Object Space)", "SURFACEDESCRIPTION_IRISNORMALOS", + new NormalControl(CoordinateSpace.Object), ShaderStage.Fragment); + public static BlockFieldDescriptor IrisNormalWS = new BlockFieldDescriptor(SurfaceDescription.name, "IrisNormalWS", "Iris Normal (World Space)", "SURFACEDESCRIPTION_IRISNORMALWS", + new NormalControl(CoordinateSpace.World), ShaderStage.Fragment); public static BlockFieldDescriptor IOR = new BlockFieldDescriptor(SurfaceDescription.name, "IOR", "SURFACEDESCRIPTION_IOR", new FloatControl(1.4f), ShaderStage.Fragment); public static BlockFieldDescriptor Mask = new BlockFieldDescriptor(SurfaceDescription.name, "Mask", "SURFACEDESCRIPTION_MASK", @@ -108,7 +112,11 @@ public struct SurfaceDescription // -------------------------------------------------- // StackLit - public static BlockFieldDescriptor CoatNormal = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormal", "Coat Normal", "SURFACEDESCRIPTION_COATNORMAL", + public static BlockFieldDescriptor CoatNormalOS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalOS", "Coat Normal (Object Space)", "SURFACEDESCRIPTION_COATNORMALOS", + new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); + public static BlockFieldDescriptor CoatNormalTS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalTS", "Coat Normal (Tangent Space)", "SURFACEDESCRIPTION_COATNORMALTS", + new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); + public static BlockFieldDescriptor CoatNormalWS = new BlockFieldDescriptor(SurfaceDescription.name, "CoatNormalWS", "Coat Normal (World Space)", "SURFACEDESCRIPTION_COATNORMALWS", new NormalControl(CoordinateSpace.Tangent), ShaderStage.Fragment); public static BlockFieldDescriptor DielectricIor = new BlockFieldDescriptor(SurfaceDescription.name, "DielectricIor", "Dielectric IOR", "SURFACEDESCRIPTION_DIELECTRICIOR", new FloatControl(1.5f), ShaderStage.Fragment); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs index e75b23d663c..e7fb67e6ed7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCamera.cs @@ -1275,6 +1275,10 @@ Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewCon } float verticalFoV = camera.GetGateFittedFieldOfView() * Mathf.Deg2Rad; + if (!camera.usePhysicalProperties) + { + verticalFoV = Mathf.Atan(-1.0f / viewConstants.projMatrix[1, 1]) * 2; + } Vector2 lensShift = camera.GetGateFittedLensShift(); return HDUtils.ComputePixelCoordToWorldSpaceViewDirectionMatrix(verticalFoV, lensShift, resolution, viewConstants.viewMatrix, false, aspect); 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 240e0087e09..ebaed2ee4da 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 @@ -115,7 +115,8 @@ PrepassOutput RenderPrepass(RenderGraph renderGraph, TextureHandle sssBuffer, Cu result.motionVectorsBuffer = CreateMotionVectorBuffer(renderGraph, msaa, clearMotionVectors); result.depthBuffer = CreateDepthBuffer(renderGraph, msaa); - RenderXROcclusionMeshes(renderGraph, hdCamera, result.depthBuffer); + // TODO RENDERGRAPH : XR occlusion mesh also need to write to color buffer + //RenderXROcclusionMeshes(renderGraph, hdCamera, result.depthBuffer); using (new XRSinglePassScope(renderGraph, hdCamera)) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs index 1b351d1df5b..61d7461365c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs @@ -143,7 +143,8 @@ void RenderXROcclusionMeshes(RenderGraph renderGraph, HDCamera hdCamera, Texture builder.SetRenderFunc( (RenderOcclusionMeshesPassData data, RenderGraphContext ctx) => { - data.hdCamera.xr.RenderOcclusionMeshes(ctx.cmd, ctx.resources.GetTexture(data.depthBuffer)); + // TODO RENDERGRAPH : XR occlusion mesh also need to write to color buffer + //data.hdCamera.xr.RenderOcclusionMeshes(ctx.cmd, ctx.resources.GetTexture(data.depthBuffer)); }); } } 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 cf2c640bb94..bda111fe718 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2350,8 +2350,11 @@ AOVRequestData aovRequest // Render XR occlusion mesh to depth buffer early in the frame to improve performance if (hdCamera.xr.enabled && m_Asset.currentPlatformRenderPipelineSettings.xrSettings.occlusionMesh) { + bool msaa = hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA); + Color clearColor = GetColorBufferClearColor(hdCamera); + hdCamera.xr.StopSinglePass(cmd); - hdCamera.xr.RenderOcclusionMeshes(cmd, m_SharedRTManager.GetDepthStencilBuffer(hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA))); + hdCamera.xr.RenderOcclusionMeshes(cmd, clearColor, msaa ? m_CameraColorMSAABuffer : m_CameraColorBuffer, m_SharedRTManager.GetDepthStencilBuffer(msaa)); hdCamera.xr.StartSinglePass(cmd); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipelineRayTracingResources.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipelineRayTracingResources.cs index 5fa002e7482..e5ec0812a6f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipelineRayTracingResources.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipelineRayTracingResources.cs @@ -43,7 +43,9 @@ partial class HDRenderPipelineRayTracingResources : ScriptableObject // Ambient Occlusion [Reload("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace")] - public RayTracingShader aoRaytracing; + public RayTracingShader aoRaytracingRT; + [Reload("Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.compute")] + public ComputeShader aoRaytracingCS; // Sub-Surface Scattering [Reload("Runtime/RenderPipeline/Raytracing/Shaders/RayTracingSubSurface.raytrace")] diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs index 4dc572eb898..92e11856518 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -186,6 +186,7 @@ static class HDShaderIDs public static readonly int _InputDepth = Shader.PropertyToID("_InputDepthTexture"); + public static readonly int _ClearColor = Shader.PropertyToID("_ClearColor"); public static readonly int _SrcBlend = Shader.PropertyToID("_SrcBlend"); public static readonly int _DstBlend = Shader.PropertyToID("_DstBlend"); 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 e1f4b22aa01..9cc1dce3a09 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 @@ -12,6 +12,7 @@ internal class HDRaytracingAmbientOcclusion // The target denoising kernel static int m_KernelFilter; + static int m_RTAOApplyIntensityKernel; // Intermediate buffer that stores the ambient occlusion pre-denoising RTHandle m_AOIntermediateBuffer0 = null; @@ -36,6 +37,9 @@ public void Init(HDRenderPipeline renderPipeline) // keep track of the render pipeline m_RenderPipeline = renderPipeline; + // Grab the kernels we need + m_RTAOApplyIntensityKernel = m_PipelineRayTracingResources.aoRaytracingCS.FindKernel("RTAOApplyIntensity"); + // Allocate the intermediate textures m_AOIntermediateBuffer0 = RTHandles.Alloc(Vector2.one, TextureXR.slices, colorFormat: GraphicsFormat.R16G16B16A16_SFloat, dimension: TextureXR.dimension, enableRandomWrite: true, useDynamicScale: true, useMipMap: false, autoGenerateMips: false, name: "AOIntermediateBuffer0"); m_AOIntermediateBuffer1 = RTHandles.Alloc(Vector2.one, TextureXR.slices, colorFormat: GraphicsFormat.R16G16B16A16_SFloat, dimension: TextureXR.dimension, enableRandomWrite: true, useDynamicScale: true, useMipMap: false, autoGenerateMips: false, name: "AOIntermediateBuffer1"); @@ -69,7 +73,7 @@ public void RenderAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTextur return; } - RayTracingShader aoShader = m_PipelineRayTracingResources.aoRaytracing; + RayTracingShader aoShaderRT = m_PipelineRayTracingResources.aoRaytracingRT; var aoSettings = hdCamera.volumeStack.GetComponent(); RayCountManager rayCountManager = m_RenderPipeline.GetRayCountManager(); @@ -79,10 +83,10 @@ public void RenderAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTextur RayTracingAccelerationStructure accelerationStructure = m_RenderPipeline.RequestAccelerationStructure(); // Define the shader pass to use for the reflection pass - cmd.SetRayTracingShaderPass(aoShader, "VisibilityDXR"); + cmd.SetRayTracingShaderPass(aoShaderRT, "VisibilityDXR"); // Set the acceleration structure for the pass - cmd.SetRayTracingAccelerationStructure(aoShader, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); + cmd.SetRayTracingAccelerationStructure(aoShaderRT, HDShaderIDs._RaytracingAccelerationStructureName, accelerationStructure); // Inject the ray generation data (be careful of the global constant buffer limitation) globalCB._RaytracingRayMaxLength = aoSettings.rayLength; @@ -90,22 +94,20 @@ public void RenderAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTextur ConstantBuffer.PushGlobal(cmd, globalCB, HDShaderIDs._ShaderVariablesRaytracing); // Set the data for the ray generation - cmd.SetRayTracingTextureParam(aoShader, HDShaderIDs._DepthTexture, m_RenderPipeline.sharedRTManager.GetDepthStencilBuffer()); - cmd.SetRayTracingTextureParam(aoShader, HDShaderIDs._NormalBufferTexture, m_RenderPipeline.sharedRTManager.GetNormalBuffer()); + 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 blueNoise = m_RenderPipeline.GetBlueNoiseManager(); blueNoise.BindDitheredRNGData8SPP(cmd); - // Value used to scale the ao intensity - cmd.SetRayTracingFloatParam(aoShader, HDShaderIDs._RaytracingAOIntensity, aoSettings.intensity.value); // Set the output textures - cmd.SetRayTracingTextureParam(aoShader, HDShaderIDs._RayCountTexture, rayCountManager.GetRayCountTexture()); - cmd.SetRayTracingTextureParam(aoShader, HDShaderIDs._AmbientOcclusionTextureRW, m_AOIntermediateBuffer0); + cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._RayCountTexture, rayCountManager.GetRayCountTexture()); + cmd.SetRayTracingTextureParam(aoShaderRT, HDShaderIDs._AmbientOcclusionTextureRW, m_AOIntermediateBuffer0); // Run the computation - cmd.DispatchRays(aoShader, m_RayGenShaderName, (uint)hdCamera.actualWidth, (uint)hdCamera.actualHeight, (uint)hdCamera.viewCount); + cmd.DispatchRays(aoShaderRT, m_RayGenShaderName, (uint)hdCamera.actualWidth, (uint)hdCamera.actualHeight, (uint)hdCamera.viewCount); } using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RaytracingFilterAmbientOcclusion))) @@ -137,6 +139,16 @@ public void RenderAO(HDCamera hdCamera, CommandBuffer cmd, RTHandle outputTextur { 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); } // Bind the textures and the params diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute new file mode 100644 index 00000000000..39f232d6b37 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute @@ -0,0 +1,30 @@ +#pragma kernel RTAOApplyIntensity + +#pragma only_renderers d3d11 + +// HDRP generic includes +#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl" +#include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Color.hlsl" +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl" + +#pragma only_renderers d3d11 +// #pragma enable_d3d11_debug_symbols + +// Tile size of this compute +#define RAYTRACING_AMBIENT_OCCLUSION_TILE_SIZE 8 + +float4 _RaytracingAOIntensity; +RW_TEXTURE2D_X(float, _AmbientOcclusionTextureRW); + +[numthreads(RAYTRACING_AMBIENT_OCCLUSION_TILE_SIZE, RAYTRACING_AMBIENT_OCCLUSION_TILE_SIZE, 1)] +void RTAOApplyIntensity(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID, uint2 groupId : SV_GroupID) +{ + UNITY_XR_ASSIGN_VIEW_INDEX(dispatchThreadId.z); + + // Compute the pixel position to process + uint2 currentCoord = groupId * RAYTRACING_AMBIENT_OCCLUSION_TILE_SIZE + groupThreadId; + + // Grab the AO value without the intensity + float value = _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentCoord)]; + _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentCoord)] = 1.0 - pow(value, _RaytracingAOIntensity); +} diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute.meta b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute.meta new file mode 100644 index 00000000000..23c428125cf --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RayTracingAmbientOcclusion.compute.meta @@ -0,0 +1,9 @@ +fileFormatVersion: 2 +guid: 10c05366baf9b0a44a827f3ef890b9e6 +ComputeShaderImporter: + externalObjects: {} + currentAPIMask: 262148 + preprocessorOverride: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace index 6b9251ecba8..eb28657c786 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingAmbientOcclusion.raytrace @@ -20,8 +20,7 @@ TEXTURE2D_X(_DepthTexture); // Output structure of the reflection raytrace shader -float _RaytracingAOIntensity; -RW_TEXTURE2D_X(float4, _AmbientOcclusionTextureRW); +RW_TEXTURE2D_X(float, _AmbientOcclusionTextureRW); [shader("miss")] void MissShaderAmbientOcclusion(inout RayIntersection rayIntersection : SV_RayPayload) @@ -41,7 +40,7 @@ void RayGenAmbientOcclusion() uint2 currentPixelCoord = uint2(LaunchIndex.x, LaunchIndex.y); // Reset the value of this pixel - _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = float4(0.0f, 0.0f, 0.0f, 0.0f); + _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = 0.0f; // Read the depth value float depthValue = LOAD_TEXTURE2D_X(_DepthTexture, currentPixelCoord).r; @@ -67,7 +66,7 @@ void RayGenAmbientOcclusion() } // Variable that accumulate the radiance - float3 finalColor = float3(0.0, 0.0, 0.0); + float finalColor = 0.0; // Let's loop through th e samples for (int i = 0; i < numSamples; ++i) @@ -102,17 +101,14 @@ void RayGenAmbientOcclusion() TraceRay(_RaytracingAccelerationStructure, RAY_FLAG_CULL_BACK_FACING_TRIANGLES, RAYTRACINGRENDERERFLAG_AMBIENT_OCCLUSION, 0, 1, 0, rayDescriptor, rayIntersection); // Accumulate this value - finalColor += rayIntersection.color; + finalColor += rayIntersection.color.x; } // Normalize the radiance finalColor /= (float)numSamples; - // Apply our intensity modifier - finalColor = pow(finalColor, _RaytracingAOIntensity); - // Alright we are done - _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = float4(1.0 - finalColor, 1.0f); + _AmbientOcclusionTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = finalColor; } // Fallback default any hit shader for this raytrace shader diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/XR/XRPass.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/XR/XRPass.cs index 40a635b4a39..c6d53e39e57 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/XR/XRPass.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/XR/XRPass.cs @@ -255,7 +255,7 @@ internal void EndCamera(CommandBuffer cmd, HDCamera hdCamera) } } - internal void RenderOcclusionMeshes(CommandBuffer cmd, RTHandle depthBuffer) + internal void RenderOcclusionMeshes(CommandBuffer cmd, Color clearColor, RTHandle colorBuffer, RTHandle depthBuffer) { if (enabled && xrSdkEnabled && occlusionMeshMaterial != null) { @@ -267,7 +267,8 @@ internal void RenderOcclusionMeshes(CommandBuffer cmd, RTHandle depthBuffer) { if (views[viewId].occlusionMesh != null) { - CoreUtils.SetRenderTarget(cmd, depthBuffer, ClearFlag.None, 0, CubemapFace.Unknown, viewId); + CoreUtils.SetRenderTarget(cmd, colorBuffer, depthBuffer, ClearFlag.None, clearColor, 0, CubemapFace.Unknown, viewId); + cmd.SetGlobalVector(HDShaderIDs._ClearColor, clearColor); cmd.DrawMesh(views[viewId].occlusionMesh, m, occlusionMeshMaterial); } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/HDRenderPipelineRayTracingResources.asset b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/HDRenderPipelineRayTracingResources.asset index 79825bec07c..6b1f4c98f31 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/HDRenderPipelineRayTracingResources.asset +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/HDRenderPipelineRayTracingResources.asset @@ -26,7 +26,6 @@ MonoBehaviour: shadowFilterCS: {fileID: 7200000, guid: f71fd853a538bf74e9e5a7228fc14dae, type: 3} forwardRaytracing: {fileID: 4807578003741378534, guid: d3a89a2d3f73b3e4da6f191e844fe68c, type: 3} - raytracingFlagMask: {fileID: 4800000, guid: 7822c8a69a1f21144a20cf6d84e5e706, type: 3} lightClusterBuildCS: {fileID: 7200000, guid: c0625ea908b52854bbf1d456e34026e4, type: 3} lightClusterDebugS: {fileID: 4800000, guid: c4d81c6e573560444bb1ea11ae4acfcb, type: 3} lightClusterDebugCS: {fileID: 7200000, guid: d48a3a5496d98a44c89f335934805d10, type: 3} @@ -34,8 +33,9 @@ MonoBehaviour: type: 3} indirectDiffuseRaytracingCS: {fileID: 7200000, guid: c5ad968b7cd39114d85dd860b3809087, type: 3} - aoRaytracing: {fileID: 4807578003741378534, guid: 82dc8cd069971d2488c502b0f32b94fb, + aoRaytracingRT: {fileID: 4807578003741378534, guid: 82dc8cd069971d2488c502b0f32b94fb, type: 3} + aoRaytracingCS: {fileID: 7200000, guid: 10c05366baf9b0a44a827f3ef890b9e6, type: 3} subSurfaceRayTracing: {fileID: 4807578003741378534, guid: b29a18f967c92364492508dddf78cff7, type: 3} subSurfaceRayTracingCS: {fileID: 7200000, guid: 4e5684a8dba46fe42a47642f9b0a6b89, diff --git a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/XROcclusionMesh.shader b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/XROcclusionMesh.shader index 05730dc8889..e6f68e75096 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/XROcclusionMesh.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/XROcclusionMesh.shader @@ -23,8 +23,11 @@ Shader "Hidden/HDRP/XROcclusionMesh" return output; } - void Frag(out float outputDepth : SV_Depth) + float4 _ClearColor; + + void Frag(out float4 outputColor : SV_Target, out float outputDepth : SV_Depth) { + outputColor = _ClearColor; outputDepth = UNITY_NEAR_CLIP_VALUE; } ENDHLSL @@ -36,7 +39,6 @@ Shader "Hidden/HDRP/XROcclusionMesh" Pass { ZWrite On ZTest Always Blend Off Cull Off - ColorMask 0 HLSLPROGRAM #pragma vertex Vert diff --git a/com.unity.testing.hdrp/Presets.meta b/com.unity.testing.hdrp/Presets.meta new file mode 100644 index 00000000000..56ee331c165 --- /dev/null +++ b/com.unity.testing.hdrp/Presets.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3195158907106f149974e7ae7ddbd2de +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.testing.hdrp/Presets/Test Images Preset.preset b/com.unity.testing.hdrp/Presets/Test Images Preset.preset new file mode 100644 index 00000000000..baad8af3375 --- /dev/null +++ b/com.unity.testing.hdrp/Presets/Test Images Preset.preset @@ -0,0 +1,411 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!181963792 &2655988077585873504 +Preset: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Test Images Preset + m_TargetType: + m_NativeTypeID: 1006 + m_ManagedTypePPtr: {fileID: 0} + m_ManagedTypeFallback: + m_Properties: + - target: {fileID: 0} + propertyPath: m_ExternalObjects.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MipMapMode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_EnableMipMap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_sRGBTexture + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_LinearTexture + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FadeOut + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_BorderMipMap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MipMapsPreserveCoverage + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AlphaTestReferenceValue + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MipMapFadeDistanceStart + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MipMapFadeDistanceEnd + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ConvertToNormalMap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ExternalNormalMap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_HeightScale + value: 0.25 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NormalMapFilter + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_IsReadable + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_StreamingMipmaps + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_StreamingMipmapsPriority + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_VTOnly + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GrayScaleToAlpha + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_GenerateCubemap + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_CubemapConvolution + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SeamlessCubemap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureFormat + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MaxTextureSize + value: 2048 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_FilterMode + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_Aniso + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_MipBias + value: -100 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_WrapU + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_WrapV + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureSettings.m_WrapW + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_NPOTScale + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Lightmap + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_CompressionQuality + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteMode + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteExtrude + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteMeshType + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_Alignment + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpritePivot.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpritePivot.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpritePixelsToUnits + value: 100 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteBorder.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteBorder.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteBorder.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteBorder.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteGenerateFallbackPhysicsShape + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AlphaUsage + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AlphaIsTransparency + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteTessellationDetail + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureType + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureShape + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SingleChannelComponent + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FlipbookRows + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_FlipbookColumns + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_MaxTextureSizeSet + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_CompressionQualitySet + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_TextureFormatSet + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_IgnorePngGamma + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_ApplyGammaDecoding + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.size + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_BuildTarget + value: DefaultTexturePlatform + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_MaxTextureSize + value: 2048 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_ResizeAlgorithm + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_TextureFormat + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_TextureCompression + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_CompressionQuality + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_CrunchedCompression + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_AllowsAlphaSplitting + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_Overridden + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_AndroidETC2FallbackOverride + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[0].m_ForceMaximumCompressionQuality_BC6H_BC7 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_BuildTarget + value: Standalone + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_MaxTextureSize + value: 2048 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_ResizeAlgorithm + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_TextureFormat + value: -1 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_TextureCompression + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_CompressionQuality + value: 50 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_CrunchedCompression + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_AllowsAlphaSplitting + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_Overridden + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_AndroidETC2FallbackOverride + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PlatformSettings.Array.data[1].m_ForceMaximumCompressionQuality_BC6H_BC7 + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Sprites.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Outline.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_PhysicsShape.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Bones.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_SpriteID + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_InternalID + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Vertices.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Indices.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Edges.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_Weights.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpriteSheet.m_SecondaryTextures.Array.size + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_SpritePackingTag + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PSDRemoveMatte + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_PSDShowRemoveMatteOption + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_UserData + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AssetBundleName + value: + objectReference: {fileID: 0} + - target: {fileID: 0} + propertyPath: m_AssetBundleVariant + value: + objectReference: {fileID: 0} + m_ExcludedProperties: [] diff --git a/com.unity.testing.hdrp/Presets/Test Images Preset.preset.meta b/com.unity.testing.hdrp/Presets/Test Images Preset.preset.meta new file mode 100644 index 00000000000..2b6cdf47aad --- /dev/null +++ b/com.unity.testing.hdrp/Presets/Test Images Preset.preset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5e6bade33f990fb4c9b0542510519b12 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: