From b9da5fa496adb5bd473af2df6cabec31cf507450 Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Thu, 14 Jan 2021 06:52:46 -0500 Subject: [PATCH 001/148] Hd/fix 1299116 tesselation cull (#3057) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Fixing hull constant shader's tesselation cull algorithm. Before it was comparing edges being out of the frustum. This is wrong because the camera could be inside a triangle, in which case the edges could be out of at least 1 frustum plane. Correct fix is to check all three vertices if they are out of at least 1 plane. Result packed tightly into the functions w return component. * Renamed to a new function so we keep backwards compatibility. Restored the shadow shader pass path, accidentally changed it to bool4 and use near plane. * Fixing type back to bool, instead of bool4 * Merging changelog information from rebase. * Making sure scene declaration pass is a bool4 * Adding new test for tesselation culling, with a weird camera angle which fails previous setup. * Fixing formatting of code, rearranging order of test in editor build settings. * Adding reference images for test. * Missing meta file for new tests * Fix bad merge issue * fix bad merge issue * fix bad merge issue Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Adrien de Tocqueville Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> --- .../1224_Lit_Tesselation_Culling.meta | 8 + .../1224_Lit_Tesselation_Culling.unity | 345 ++++++++++++++++++ .../1224_Lit_Tesselation_Culling.unity.meta | 7 + .../TesselationPlaneMaterial.mat | 288 +++++++++++++++ .../TesselationPlaneMaterial.mat.meta | 8 + .../None/1224_Lit_Tesselation_Culling.png | 3 + .../1224_Lit_Tesselation_Culling.png.meta | 108 ++++++ .../None/1224_Lit_Tesselation_Culling.png | 3 + .../1224_Lit_Tesselation_Culling.png.meta | 108 ++++++ .../None/1224_Lit_Tesselation_Culling.png | 3 + .../1224_Lit_Tesselation_Culling.png.meta | 108 ++++++ .../None/1224_Lit_Tesselation_Culling.png | 3 + .../1224_Lit_Tesselation_Culling.png.meta | 108 ++++++ .../None/1224_Lit_Tesselation_Culling.png | 3 + .../1224_Lit_Tesselation_Culling.png.meta | 108 ++++++ .../ProjectSettings/EditorBuildSettings.asset | 3 + com.unity.render-pipelines.core/CHANGELOG.md | 4 + .../ShaderLibrary/GeometricTools.hlsl | 30 +- .../CHANGELOG.md | 1 + .../Material/Lit/LitDataMeshModification.hlsl | 6 +- 20 files changed, 1245 insertions(+), 10 deletions(-) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.meta new file mode 100644 index 00000000000..4c3b0f8c6ec --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3e15a4def182a184d9dafc2122db4c90 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity new file mode 100644 index 00000000000..f5d60bb85fb --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity @@ -0,0 +1,345 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.31006354, g: 0.3258909, b: 0.36047056, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &224682462 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1381370728658774, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_Name + value: HDRP_Default_Sky + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalPosition.x + value: -7.5937176 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalPosition.y + value: 8.722061 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalPosition.z + value: -16.973507 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4827451743472390, guid: e0446b620fbf66540b1b93f937834a01, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: e0446b620fbf66540b1b93f937834a01, type: 3} +--- !u!1 &1418940182 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1418940186} + - component: {fileID: 1418940185} + - component: {fileID: 1418940184} + - component: {fileID: 1418940183} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1418940183 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418940182} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1418940184 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418940182} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: e980b2b23fed9644f8ea87b1e2459a7b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1418940185 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418940182} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1418940186 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1418940182} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.86, y: 0, z: -4.57} + m_LocalScale: {x: 28.739809, y: 1, z: 29.833057} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &1795242445 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1132393308280272, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 14.25 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: 2.34 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -16.9 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0.8770103 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.x + value: 0.35872343 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.y + value: -0.30594522 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0.09256382 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 43.302 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: -40.251 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: -4.503 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Enabled + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: exposureTarget + value: + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity.meta new file mode 100644 index 00000000000..9d27300b422 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: e6dbeb027fe017c41839dd2fcfc728f3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat new file mode 100644 index 00000000000..9b498ad3b3f --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat @@ -0,0 +1,288 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-3012003138654363470 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 11 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: TesselationPlaneMaterial + m_Shader: {fileID: 4800000, guid: 756bac9090102564582875f4c7e30202, type: 3} + m_ShaderKeywords: _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TessellationBackFaceCullEpsilon: -0.25 + - _TessellationFactor: 4 + - _TessellationFactorMaxDistance: 50 + - _TessellationFactorMinDistance: 20 + - _TessellationFactorTriangleSize: 100 + - _TessellationMode: 0 + - _TessellationShapeFactor: 0.75 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _ThicknessMultiplier: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat.meta new file mode 100644 index 00000000000..8b63ddc25a4 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling/TesselationPlaneMaterial.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: e980b2b23fed9644f8ea87b1e2459a7b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png new file mode 100644 index 00000000000..3e535eb4402 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee2205b0afb3a6be0d59aaf739e4b56e063309802d4e2e412d89259d48d1312a +size 19660 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta new file mode 100644 index 00000000000..1ee2d25580d --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 28798005a1e3f20408983140563599a5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png new file mode 100644 index 00000000000..8a1899e3a13 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6cccca6544389077be9382ec3330fe138c614bded7f22acb8746e590ad70df5a +size 18417 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png.meta new file mode 100644 index 00000000000..1df632edc69 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1224_Lit_Tesselation_Culling.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 4c596160d92518742ad14f6ac452294d +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png new file mode 100644 index 00000000000..6c0047806bc --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:24126fabef74bf34451d9c0945454b2fdb63d9e07a886a5f3673b50175d12011 +size 19649 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png.meta new file mode 100644 index 00000000000..30981ad345b --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1224_Lit_Tesselation_Culling.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 46f33bc5edf73f54f854540c9dc6f0e2 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png new file mode 100644 index 00000000000..bd484dd3ee5 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:c833cf671c68cad0dcf4d70be7a605434b85415456d57b845d7ad7425c5d8676 +size 20345 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png.meta new file mode 100644 index 00000000000..53d4c8a5846 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1224_Lit_Tesselation_Culling.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 9a66e269a4e2ddb4c87243ad5d9bd39b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png new file mode 100644 index 00000000000..3e535eb4402 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ee2205b0afb3a6be0d59aaf739e4b56e063309802d4e2e412d89259d48d1312a +size 19660 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta new file mode 100644 index 00000000000..3177c6fa4a6 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1224_Lit_Tesselation_Culling.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 1af73e82db44222419418834ae98b87c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset index 0d41d4d287e..48ab39900e9 100644 --- a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset @@ -89,6 +89,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1223_Lit_Iridescence.unity guid: b447fc323b2e7604e9404972d093fb77 + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1224_Lit_Tesselation_Culling.unity + guid: e6dbeb027fe017c41839dd2fcfc728f3 - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1301_StackLitSG.unity guid: eefb6e7ceaa685442bbf61fd2b82f9ae diff --git a/com.unity.render-pipelines.core/CHANGELOG.md b/com.unity.render-pipelines.core/CHANGELOG.md index 357ab1c1284..285502dcbe3 100644 --- a/com.unity.render-pipelines.core/CHANGELOG.md +++ b/com.unity.render-pipelines.core/CHANGELOG.md @@ -18,6 +18,10 @@ The version number for this package has increased due to a version update of a r - Fixed ACES tonemaping for Nintendo Switch by forcing some shader color conversion functions to full float precision. - Fixed a bug in FreeCamera which would only provide a speed boost for the first frame when pressing the Shfit key. +## Added +- New function in GeometryTools.hlsl to calculate triangle edge and full triangle culling. + + ## [10.2.0] - 2020-10-19 Version Updated diff --git a/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl b/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl index 99784432eed..c9e2e149ce0 100644 --- a/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl +++ b/com.unity.render-pipelines.core/ShaderLibrary/GeometricTools.hlsl @@ -234,9 +234,12 @@ bool CullTriangleFrustum(float3 p0, float3 p1, float3 p2, float epsilon, float4 // Returns 'true' if the edge of the triangle is outside of the frustum. // The edges are defined s.t. they are on the opposite side of the point with the given index. // 'epsilon' is the (negative) distance to (outside of) the frustum below which we cull the triangle. -bool3 CullTriangleEdgesFrustum(float3 p0, float3 p1, float3 p2, float epsilon, float4 frustumPlanes[6], int numPlanes) +//output packing: +// x,y,z - one component per triangle edge, true if outside, false otherwise +// w - true if entire triangle is outside of at least 1 plane of the frustum, false otherwise +bool4 CullFullTriangleAndEdgesFrustum(float3 p0, float3 p1, float3 p2, float epsilon, float4 frustumPlanes[6], int numPlanes) { - bool3 edgesOutside = false; + bool4 edgesOutsideXYZ_triangleOutsideW = false; for (int i = 0; i < numPlanes; i++) { @@ -244,13 +247,26 @@ bool3 CullTriangleEdgesFrustum(float3 p0, float3 p1, float3 p2, float epsilon, f DistanceFromPlane(p1, frustumPlanes[i]) < epsilon, DistanceFromPlane(p2, frustumPlanes[i]) < epsilon); - // If both points of the edge are behind any of the planes, we cull. - edgesOutside.x = edgesOutside.x || (pointsOutside.y && pointsOutside.z); - edgesOutside.y = edgesOutside.y || (pointsOutside.x && pointsOutside.z); - edgesOutside.z = edgesOutside.z || (pointsOutside.x && pointsOutside.y); + bool3 edgesOutside; + // If both points of the edge are behind any of the planes, we cull. + edgesOutside.x = pointsOutside.y && pointsOutside.z; + edgesOutside.y = pointsOutside.x && pointsOutside.z; + edgesOutside.z = pointsOutside.x && pointsOutside.y; + + edgesOutsideXYZ_triangleOutsideW = edgesOutsideXYZ_triangleOutsideW || bool4(edgesOutside.xyz, all(pointsOutside)); } - return edgesOutside; + return edgesOutsideXYZ_triangleOutsideW; +} + +// Returns 'true' if the edge of the triangle is outside of the frustum. +// The edges are defined s.t. they are on the opposite side of the point with the given index. +// 'epsilon' is the (negative) distance to (outside of) the frustum below which we cull the triangle. +//output packing: +// x,y,z - one component per triangle edge, true if outside, false otherwise +bool3 CullTriangleEdgesFrustum(float3 p0, float3 p1, float3 p2, float epsilon, float4 frustumPlanes[6], int numPlanes) +{ + return CullFullTriangleAndEdgesFrustum(p0, p1, p2, epsilon, frustumPlanes, numPlanes).xyz; } bool CullTriangleBackFaceView(float3 p0, float3 p1, float3 p2, float epsilon, float3 V, float winding) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index ce192f7464e..c569133be04 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -50,6 +50,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed LayerMask editor for volume parameters. - Fixed the condition on temporal accumulation in the reflection denoiser (case 1303504). - Fixed box light attenuation. +- Fixed tesselation culling, big triangles using lit tesselation shader would dissapear when camera is too close to them (case 1299116) ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDataMeshModification.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDataMeshModification.hlsl index 7ea5f75fe58..2151286da7a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDataMeshModification.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDataMeshModification.hlsl @@ -62,14 +62,14 @@ float4 GetTessellationFactors(float3 p0, float3 p1, float3 p2, float3 n0, float3 // TODO: the only reason I test the near plane here is that I am not sure that the product of other tessellation factors // (such as screen-space/distance-based) results in the tessellation factor of 1 for the geometry behind the near plane. // If that is the case (and, IMHO, it should be), we shouldn't have to test the near plane here. - bool3 frustumCullEdgesMainView = CullTriangleEdgesFrustum(p0, p1, p2, frustumEps, _FrustumPlanes, 5); // Do not test the far plane + bool4 frustumCullEdgesMainView = CullFullTriangleAndEdgesFrustum(p0, p1, p2, frustumEps, _FrustumPlanes, 5); // Do not test the far plane #else // During the scene picking pass, we have no access to camera frustum planes - bool3 frustumCullEdgesMainView = false; + bool4 frustumCullEdgesMainView = false; #endif #if defined(SHADERPASS) && (SHADERPASS != SHADERPASS_SHADOWS) - bool frustumCullCurrView = all(frustumCullEdgesMainView); + bool frustumCullCurrView = frustumCullEdgesMainView.w; #else bool frustumCullCurrView = CullTriangleFrustum(p0, p1, p2, frustumEps, _ShadowFrustumPlanes, 4); // Do not test near/far planes #endif From 5b57f642ca0104acc61aa51833d7ddd081009446 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 14 Jan 2021 14:09:01 +0100 Subject: [PATCH 002/148] Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). (#3032) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 3 +++ .../Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs | 2 +- 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c569133be04..977dc08cbb2 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -10,6 +10,9 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed GC allocations from XR occlusion mesh when using multipass. - Fixed XR depth copy when using MSAA. +### Changed +- Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). + ## [11.0.0] - 2020-10-21 ### Added diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs index 8f7637d9551..a1ff1e86267 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRaytracingManager.cs @@ -523,7 +523,7 @@ internal int RayTracingFrameIndex(HDCamera hdCamera) return 0; else #endif - return hdCamera.IsTAAEnabled() ? hdCamera.taaFrameIndex : (int)m_FrameCount % 8; + return (int)hdCamera.GetCameraFrameCount() % 8; } internal int RayTracingFrameIndex(HDCamera hdCamera, int targetFrameCount = 8) From b21345b01c2f588ea451358fab84a6988ed3adc1 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Thu, 14 Jan 2021 14:15:01 +0100 Subject: [PATCH 003/148] [HDRP] Added a RenderGraph pass that resets the camera size after the dynamic res upscale (#3070) * Added a RenderGraph pass that resets the camera size after the dynamic res upscale * Updated changelog # Conflicts: # com.unity.render-pipelines.high-definition/CHANGELOG.md * fixed class name * update class name * PR fix * Fixed RTHandle scale Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Camera/HDCamera.cs | 2 ++ .../HDRenderPipeline.RenderGraph.cs | 30 +++++++++++++++++++ 3 files changed, 33 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 977dc08cbb2..1eacae0524d 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed GC allocations from XR occlusion mesh when using multipass. - Fixed XR depth copy when using MSAA. +- Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). 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 7cff5f8e8de..7ecf73340e1 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 @@ -343,6 +343,8 @@ internal GameObject exposureTarget internal bool stopNaNs => m_AdditionalCameraData != null && m_AdditionalCameraData.stopNaNs; + internal bool allowDynamicResolution => m_AdditionalCameraData != null && m_AdditionalCameraData.allowDynamicResolution; + internal HDPhysicalCamera physicalParameters { get; private set; } internal IEnumerable aovRequests => diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 1b590e7743a..9284080bde8 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -275,6 +275,8 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, } PushFullScreenExposureDebugTexture(m_RenderGraph, postProcessDest); + ResetCameraSizeForAfterPostProcess(m_RenderGraph, hdCamera, commandBuffer); + RenderCustomPass(m_RenderGraph, hdCamera, postProcessDest, prepassOutput, customPassCullingResults, cullingResults, CustomPassInjectionPoint.AfterPostProcess, aovRequest, aovCustomPassBuffers); CopyXRDepth(m_RenderGraph, hdCamera, prepassOutput.resolvedDepthBuffer, backBuffer); @@ -1542,6 +1544,34 @@ bool RenderCustomPass(RenderGraph renderGraph, return executed; } + class ResetCameraSizeForAfterPostProcessPassData + { + public HDCamera hdCamera; + public ShaderVariablesGlobal shaderVariablesGlobal; + } + + void ResetCameraSizeForAfterPostProcess(RenderGraph renderGraph, HDCamera hdCamera, CommandBuffer commandBuffer) + { + if (DynamicResolutionHandler.instance.DynamicResolutionEnabled()) + { + using (var builder = renderGraph.AddRenderPass("Reset Camera Size After Post Process", out ResetCameraSizeForAfterPostProcessPassData passData)) + { + passData.hdCamera = hdCamera; + passData.shaderVariablesGlobal = m_ShaderVariablesGlobalCB; + builder.AllowPassCulling(false); + + builder.SetRenderFunc( + (ResetCameraSizeForAfterPostProcessPassData data, RenderGraphContext ctx) => + { + data.shaderVariablesGlobal._ScreenSize = new Vector4(data.hdCamera.finalViewport.width, data.hdCamera.finalViewport.height, 1.0f / data.hdCamera.finalViewport.width, 1.0f / data.hdCamera.finalViewport.height); + data.shaderVariablesGlobal._RTHandleScale = RTHandles.rtHandleProperties.rtHandleScale; + ConstantBuffer.PushGlobal(ctx.cmd, data.shaderVariablesGlobal, HDShaderIDs._ShaderVariablesGlobal); + RTHandles.SetReferenceSize((int)data.hdCamera.finalViewport.width, (int)data.hdCamera.finalViewport.height, data.hdCamera.msaaSamples); + }); + } + } + } + class BindCustomPassBuffersPassData { public Lazy customColorTexture; From 9581f3862332c53e542c6cb2f8fa35852d63d605 Mon Sep 17 00:00:00 2001 From: John Parsaie Date: Thu, 14 Jan 2021 08:20:37 -0500 Subject: [PATCH 004/148] Fix Light Intensity UI Prefab Override Application (1299563) (#3061) * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * Apply the fix * Changelog * Mofified approach to the fix, this time also fixing override saving of light unit * Use more precise rect line offset calculation * Update CHANGELOG.md Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/HDLightUI.cs | 9 ++++++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1eacae0524d..1ce324dbed9 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -10,6 +10,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed GC allocations from XR occlusion mesh when using multipass. - Fixed XR depth copy when using MSAA. - Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). +- Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index c76349aab05..a2cf3026925 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -599,11 +599,18 @@ static void DrawLightIntensityGUILayout(SerializedHDLight serialized, Editor own Rect labelRect = lineRect; labelRect.width = EditorGUIUtility.labelWidth; + // Expand to reach both lines of the intensity field. + var interlineOffset = EditorGUIUtility.singleLineHeight + 2f; + labelRect.height += interlineOffset; + //handling of prefab overrides in a parent label GUIContent parentLabel = s_Styles.lightIntensity; - parentLabel = EditorGUI.BeginProperty(labelRect, parentLabel, serialized.intensity); parentLabel = EditorGUI.BeginProperty(labelRect, parentLabel, serialized.lightUnit); + parentLabel = EditorGUI.BeginProperty(labelRect, parentLabel, serialized.intensity); { + // Restore the original rect for actually drawing the label. + labelRect.height -= interlineOffset; + EditorGUI.LabelField(labelRect, parentLabel); } EditorGUI.EndProperty(); From 525ebf58f70a54f2056bdaaed11a20a0d0f5a949 Mon Sep 17 00:00:00 2001 From: John Parsaie Date: Thu, 14 Jan 2021 08:24:42 -0500 Subject: [PATCH 005/148] Fix Undo/Redo Stability for Light Temperature (1304176, 1301076) (#3079) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Apply the fix * Changelog * Update CHANGELOG.md * fix merge issue Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Adrien de Tocqueville Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/LightUnit/LightUnitSlider.cs | 8 +++++--- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1ce324dbed9..14f9d78aef5 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -11,6 +11,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed XR depth copy when using MSAA. - Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). - Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). +- Fixed Undo/Redo instability of light temperature. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs index 363ff159c6b..f6356a5c89b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/LightUnit/LightUnitSlider.cs @@ -569,12 +569,14 @@ void SliderWithTextureNoTextField(Rect rect, ref float value, Vector2 range, Lig // Draw the exponential slider that fits 6500K to the white point on the gradient texture. var internalValue = GUI.HorizontalSlider(rect, ValueToSlider(value), 0f, 1f, SliderStyles.k_TemperatureBorder, SliderStyles.k_TemperatureThumb); - // Map the value back into kelvin. - value = SliderToValue(internalValue); - // Round to nearest since so much precision is not necessary for kelvin while sliding. if (EditorGUI.EndChangeCheck()) + { + // Map the value back into kelvin. + value = SliderToValue(internalValue); + value = Mathf.Round(value); + } } } From 8007c4838e6c0fd983ebd415e01ccfb5d5eebcd3 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 14 Jan 2021 14:35:35 +0100 Subject: [PATCH 006/148] Fix labels style (#3046) * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * Fix labels style * Update CHANGELOG.md Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre --- .../CHANGELOG.md | 1 + .../PhysicallyBasedSky/PhysicallyBasedSkyEditor.cs | 14 +++++++------- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 14f9d78aef5..601b3650648 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). - Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). - Fixed Undo/Redo instability of light temperature. +- Fixed label style in pbr sky editor. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Sky/PhysicallyBasedSky/PhysicallyBasedSkyEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Sky/PhysicallyBasedSky/PhysicallyBasedSkyEditor.cs index fa70349fef4..d7163aa5fb8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Sky/PhysicallyBasedSky/PhysicallyBasedSkyEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Sky/PhysicallyBasedSky/PhysicallyBasedSkyEditor.cs @@ -96,7 +96,7 @@ public override void OnEnable() public override void OnInspectorGUI() { - EditorGUILayout.LabelField("Model"); + EditorGUILayout.LabelField("Model", EditorStyles.miniLabel); using (new EditorGUILayout.HorizontalScope()) { @@ -111,7 +111,7 @@ public override void OnInspectorGUI() PhysicallyBasedSkyModel type = (PhysicallyBasedSkyModel)m_Type.value.intValue; EditorGUILayout.Space(); - EditorGUILayout.LabelField("Planet"); + EditorGUILayout.LabelField("Planet", EditorStyles.miniLabel); if (type == PhysicallyBasedSkyModel.EarthSimple) PropertyField(m_SeaLevel); @@ -146,7 +146,7 @@ public override void OnInspectorGUI() if (type != PhysicallyBasedSkyModel.EarthSimple) { EditorGUILayout.Space(); - EditorGUILayout.LabelField("Space"); + EditorGUILayout.LabelField("Space", EditorStyles.miniLabel); PropertyField(m_SpaceRotation); PropertyField(m_SpaceEmissionTexture); PropertyField(m_SpaceEmissionMultiplier); @@ -155,7 +155,7 @@ public override void OnInspectorGUI() if (type == PhysicallyBasedSkyModel.Custom) { EditorGUILayout.Space(); - EditorGUILayout.LabelField("Air"); + EditorGUILayout.LabelField("Air", EditorStyles.miniLabel); PropertyField(m_AirMaximumAltitude); PropertyField(m_AirDensityR); PropertyField(m_AirDensityG); @@ -164,7 +164,7 @@ public override void OnInspectorGUI() } EditorGUILayout.Space(); - EditorGUILayout.LabelField("Aerosols"); + EditorGUILayout.LabelField("Aerosols", EditorStyles.miniLabel); PropertyField(m_AerosolDensity); PropertyField(m_AerosolTint); if (type != PhysicallyBasedSkyModel.EarthSimple) @@ -174,7 +174,7 @@ public override void OnInspectorGUI() } EditorGUILayout.Space(); - EditorGUILayout.LabelField("Artistic Overrides"); + EditorGUILayout.LabelField("Artistic Overrides", EditorStyles.miniLabel); PropertyField(m_ColorSaturation); PropertyField(m_AlphaSaturation); PropertyField(m_AlphaMultiplier); @@ -183,7 +183,7 @@ public override void OnInspectorGUI() PropertyField(m_ZenithTint); EditorGUILayout.Space(); - EditorGUILayout.LabelField("Miscellaneous"); + EditorGUILayout.LabelField("Miscellaneous", EditorStyles.miniLabel); PropertyField(m_NumberOfBounces); base.CommonSkySettingsGUI(); From 2df01855a663942bd298dbf23252c27bd38652ac Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 14 Jan 2021 14:50:57 +0100 Subject: [PATCH 007/148] Fixed side effect on styles during compositor rendering. (#3081) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality. (#3020) Co-authored-by: sebastienlagarde * Fixed the condition on temporal accumulation in the reflection denoiser (case 1303504). (#3027) Co-authored-by: sebastienlagarde * Changed the warning message for ray traced area shadows (case 1303410). (#3029) * - Changed the warning message for ray traced area shadows (case 1303410). * Adds approximation information about ray-traced area shadows Co-authored-by: Lewis Jordan Co-authored-by: sebastienlagarde * Fixed side effect on styles during compositor rendering. * Update CHANGELOG.md * fix merge issue Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com> Co-authored-by: Lewis Jordan --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Compositor/CompositionManagerEditor.Styles.cs | 1 + .../Editor/Compositor/CompositionManagerEditor.cs | 9 ++++----- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 601b3650648..f27b3e1d84a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). - Fixed Undo/Redo instability of light temperature. - Fixed label style in pbr sky editor. +- Fixed side effect on styles during compositor rendering. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs index 3f91497af2a..c22eb160480 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs @@ -19,6 +19,7 @@ static internal class CompositorStyle internal static readonly int k_IconSize = 28; + internal static readonly int k_HeaderFontSize = 14; internal static readonly int k_ListItemPading = 4; internal static readonly int k_ListItemStackPading = 20; internal static readonly float k_SingleLineHeight = EditorGUIUtility.singleLineHeight; diff --git a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.cs index e2fe265363a..610e834e067 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.cs @@ -29,6 +29,8 @@ static partial class Styles static public readonly string k_AlphaWarningPipeline = "The rendering pipeline was not configured to output an alpha channel. You can select a color buffer format that supports alpha in the HDRP quality settings."; static public readonly string k_AlphaWarningPost = "The post processing system was not configured to process the alpha channel. You can select a buffer format that supports alpha in the HDRP quality settings."; static public readonly string k_ShaderWarning = "You must specify a composition graph to see an output from the compositor."; + + static public readonly GUIStyle k_HeaderStyle = new GUIStyle(EditorStyles.helpBox) { fontSize = CompositorStyle.k_HeaderFontSize }; } ReorderableList m_layerList; @@ -121,9 +123,6 @@ public override void OnInspectorGUI() return; } - var headerStyle = EditorStyles.helpBox; - headerStyle.fontSize = 14; - // Cache the serialized property fields if (m_IsEditorDirty || m_SerializedProperties == null) { @@ -273,7 +272,7 @@ public override void OnInspectorGUI() EditorGUI.BeginChangeCheck(); EditorGUILayout.BeginVertical(); - EditorGUILayout.LabelField(Styles.k_RenderSchedule, headerStyle); + EditorGUILayout.LabelField(Styles.k_RenderSchedule, Styles.k_HeaderStyle); m_layerList.DoLayoutList(); EditorGUILayout.EndVertical(); if (EditorGUI.EndChangeCheck()) @@ -292,7 +291,7 @@ public override void OnInspectorGUI() EditorGUI.BeginChangeCheck(); if (m_layerList.index >= 0) { - EditorGUILayout.LabelField(Styles.k_Properties, headerStyle); + EditorGUILayout.LabelField(Styles.k_Properties, Styles.k_HeaderStyle); rectangle.y += EditorGUIUtility.singleLineHeight * 1.5f; rectangle.x += 5; From bf833cea9a3a76913a52196b1ee9b8c1775aae68 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Thu, 14 Jan 2021 14:56:18 +0100 Subject: [PATCH 008/148] [HDRP][Compositor] Fix size and spacing of compositor info boxes (#3101) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality. (#3020) Co-authored-by: sebastienlagarde * Fixed the condition on temporal accumulation in the reflection denoiser (case 1303504). (#3027) Co-authored-by: sebastienlagarde * Changed the warning message for ray traced area shadows (case 1303410). (#3029) * - Changed the warning message for ray traced area shadows (case 1303410). * Adds approximation information about ray-traced area shadows Co-authored-by: Lewis Jordan Co-authored-by: sebastienlagarde * Disabled specular occlusion for what we consider medium and larger scale rtao > 1.25 with a 25cm falloff interval. (#3023) Co-authored-by: sebastienlagarde * Removed 2505_Area_Light_ShadowMask_Baking from baking queue (#3087) * Lightmaps / Removed scene from baking queue + meta files * update reference screenshots Co-authored-by: Sebastien Lagarde * Fix size and spacing of compositor info boxes * Fix typo in changelog Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Adrien de Tocqueville Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com> Co-authored-by: Lewis Jordan --- .../CHANGELOG.md | 1 + .../Editor/Compositor/CompositionLayerUI.Drawers.cs | 10 +++++----- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f27b3e1d84a..fb927845387 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed Undo/Redo instability of light temperature. - Fixed label style in pbr sky editor. - Fixed side effect on styles during compositor rendering. +- Fixed size and spacing of compositor info boxes (case 1305652). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionLayerUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionLayerUI.Drawers.cs index 7fa245af7a0..eb17462fad8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionLayerUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionLayerUI.Drawers.cs @@ -32,7 +32,7 @@ static partial class Styles static public readonly GUIContent k_VolumeMask = EditorGUIUtility.TrTextContent("Volume Mask", "To override the volume mask, activate the option by clicking on the check-box and then select the desired value."); static public readonly GUIContent k_AlphaRange = EditorGUIUtility.TrTextContent("Alpha Range", "The range of alpha values used when transitioning from post-processed to plain image regions. A smaller range will result in a steeper transition."); - static public readonly string k_AlphaInfoPost = "The use of AOVs properties in a player require to to enable the Runtime AOV API support in the HDRP quality settings."; + static public readonly string k_AlphaInfoPost = "The use of AOVs properties in a player requires to enable the Runtime AOV API support in the HDRP quality settings."; static public readonly string k_ShaderCompilationWarning = "The Unity Editor is compiling the AOV shaders for the first time. The output might not be correct until the compilation is over."; @@ -154,10 +154,10 @@ public static void DrawOutputLayerProperties(Rect rect, SerializedCompositionLay Rect infoRect = rect; // Compute the height of the infobox based on the width of the window and the amount of text GUIStyle.none.CalcMinMaxWidth(new GUIContent(Styles.k_ShaderCompilationWarning), out float minWidth, out float maxWidth); - float lines = Mathf.CeilToInt(maxWidth / (rect.width - Styles.infoBoxIconWidth)); + float lines = Mathf.Max(2, Mathf.CeilToInt(maxWidth / (rect.width - Styles.infoBoxIconWidth))); infoRect.height = lines * CompositorStyle.k_Spacing; EditorGUI.HelpBox(infoRect, Styles.k_ShaderCompilationWarning, MessageType.Warning); - rect.y += infoRect.height; + rect.y += infoRect.height + EditorGUIUtility.standardVerticalSpacing; } else { @@ -189,10 +189,10 @@ public static void DrawOutputLayerProperties(Rect rect, SerializedCompositionLay Rect infoRect = rect; // Compute the height of the infobox based on the width of the window and the amount of text GUIStyle.none.CalcMinMaxWidth(new GUIContent(Styles.k_AlphaInfoPost), out float minWidth, out float maxWidth); - float lines = Mathf.CeilToInt(maxWidth / (rect.width - Styles.infoBoxIconWidth)); + float lines = Mathf.Max(2, Mathf.CeilToInt(maxWidth / (rect.width - Styles.infoBoxIconWidth))); infoRect.height = lines * CompositorStyle.k_Spacing; EditorGUI.HelpBox(infoRect, Styles.k_AlphaInfoPost, MessageType.Info); - rect.y += infoRect.height; + rect.y += infoRect.height + EditorGUIUtility.standardVerticalSpacing; } } From 7be5e6cae77b518a78d61e3cafc95a0ec3e31176 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Thu, 14 Jan 2021 14:57:19 +0100 Subject: [PATCH 009/148] [HDRP][Compositor] Fix color picker UI glitch in the Graphics Compositor (#3105) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality. (#3020) Co-authored-by: sebastienlagarde * Fixed the condition on temporal accumulation in the reflection denoiser (case 1303504). (#3027) Co-authored-by: sebastienlagarde * Changed the warning message for ray traced area shadows (case 1303410). (#3029) * - Changed the warning message for ray traced area shadows (case 1303410). * Adds approximation information about ray-traced area shadows Co-authored-by: Lewis Jordan Co-authored-by: sebastienlagarde * Disabled specular occlusion for what we consider medium and larger scale rtao > 1.25 with a 25cm falloff interval. (#3023) Co-authored-by: sebastienlagarde * Removed 2505_Area_Light_ShadowMask_Baking from baking queue (#3087) * Lightmaps / Removed scene from baking queue + meta files * update reference screenshots Co-authored-by: Sebastien Lagarde * Removed unused index parameter * Fix box light attenuation (#3056) * Fix box light attenuation * Update screenshots Co-authored-by: sebastienlagarde * Revert "Disabled specular occlusion for what we consider medium and larger scale rtao > 1.25 with a 25cm falloff interval. (#3023)" This reverts commit 55bb6ff781233350ca8f3db747b8593acfbda4a3. * Revert "Revert "Disabled specular occlusion for what we consider medium and larger scale rtao > 1.25 with a 25cm falloff interval. (#3023)"" This reverts commit 57ee23b9177c581f50c8a8ac4e3dfd166646acc7. * Fix default value of _SpecularOcclusionBlend * Fix color picker UI glitch in the Graphics Compositor Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Adrien de Tocqueville Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com> Co-authored-by: Lewis Jordan --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Compositor/CompositionManagerEditor.Styles.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index fb927845387..12931b2a5bc 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed label style in pbr sky editor. - Fixed side effect on styles during compositor rendering. - Fixed size and spacing of compositor info boxes (case 1305652). +- Fixed spacing of UI widgets in the Graphics Compositor (case 1305638). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs index c22eb160480..c5ff1997599 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Compositor/CompositionManagerEditor.Styles.cs @@ -23,6 +23,6 @@ static internal class CompositorStyle internal static readonly int k_ListItemPading = 4; internal static readonly int k_ListItemStackPading = 20; internal static readonly float k_SingleLineHeight = EditorGUIUtility.singleLineHeight; - internal static readonly float k_Spacing = k_SingleLineHeight * 1.1f; + internal static readonly float k_Spacing = k_SingleLineHeight + EditorGUIUtility.standardVerticalSpacing; } } From 6413dc64b39019b0deea6dc8428cd90b2bac93af Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Thu, 14 Jan 2021 17:05:25 +0100 Subject: [PATCH 010/148] Fix 1299233 ies resize bug (#3094) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * StackLit: Fix SG surface option property block to only display energy conserving specular color option for the specular input parametrization (similar to case 1257050) (#3060) * Fixed missing BeginCameraRendering call for custom render mode of a Camera (#3063) * Implement custom drawer for layer mask parameters (#3066) * Adding mixed light baking shadowmask test (#3052) * adding a shadow mask test * Update reference images * Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality. (#3020) Co-authored-by: sebastienlagarde * Fixed the condition on temporal accumulation in the reflection denoiser (case 1303504). (#3027) Co-authored-by: sebastienlagarde * Changed the warning message for ray traced area shadows (case 1303410). (#3029) * - Changed the warning message for ray traced area shadows (case 1303410). * Adds approximation information about ray-traced area shadows Co-authored-by: Lewis Jordan Co-authored-by: sebastienlagarde * Disabled specular occlusion for what we consider medium and larger scale rtao > 1.25 with a 25cm falloff interval. (#3023) Co-authored-by: sebastienlagarde * Fix 1299233 ies resize bug * change log * Update CHANGELOG.md * fix merge issue Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre Co-authored-by: slunity <37302815+slunity@users.noreply.github.com> Co-authored-by: Adrien de Tocqueville Co-authored-by: Rémi Chapelain <57442369+remi-chapelain@users.noreply.github.com> Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com> Co-authored-by: Lewis Jordan --- .../CHANGELOG.md | 1 + .../Runtime/Lighting/LightCookieManager.cs | 6 ++-- .../Utility/PowerOfTwoTextureAtlas.cs | 29 ++++++++++++++++++- 3 files changed, 32 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 12931b2a5bc..a8e2b7095c5 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -9,6 +9,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed GC allocations from XR occlusion mesh when using multipass. - Fixed XR depth copy when using MSAA. +- Fixed resize IES when already baked in the Atlas 1299233 - Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). - Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). - Fixed Undo/Redo instability of light temperature. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs index d2cb31d2e1e..fed7f14959a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs @@ -341,7 +341,7 @@ public void ReserveSpace(Texture cookieA, Texture cookieB) if (width < k_MinCookieSize || height < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookieA, cookieB), width, height)) + if (!m_CookieAtlas.ReserveSpace(cookieA, cookieB, width, height)) m_2DCookieAtlasNeedsLayouting = true; } @@ -369,7 +369,7 @@ public void ReserveSpaceCube(Texture cookie) if (projectionSize < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookie), projectionSize, projectionSize)) + if (!m_CookieAtlas.ReserveSpace(cookie, projectionSize, projectionSize)) m_2DCookieAtlasNeedsLayouting = true; } @@ -385,7 +385,7 @@ public void ReserveSpaceCube(Texture cookieA, Texture cookieB) if (projectionSize < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookieA, cookieB), projectionSize, projectionSize)) + if (!m_CookieAtlas.ReserveSpace(cookieA, cookieB, projectionSize, projectionSize)) m_2DCookieAtlasNeedsLayouting = true; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs index 4d7e0830bc5..ed9218ce65e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs @@ -195,6 +195,9 @@ public bool ReserveSpace(Texture texture) { m_RequestedTextures[texture.GetInstanceID()] = new Vector2Int(texture.width, texture.height); + if (NeedsUpdate(texture)) + return false; + // new texture if (!IsCached(out _, texture)) { @@ -205,10 +208,34 @@ public bool ReserveSpace(Texture texture) return true; } - public bool ReserveSpace(int id, int width, int height) + // pass width and height for CubeMap (use 2*width) & Texture2D (use width) + public bool ReserveSpace(Texture texture, int width, int height) { + int id = GetTextureID(texture); m_RequestedTextures[id] = new Vector2Int(width, height); + if (NeedsUpdate(texture)) + return false; + + // new texture + if (!IsCached(out _, id)) + { + Vector4 scaleBias = Vector4.zero; + if (!AllocateTextureWithoutBlit(id, width, height, ref scaleBias)) + return false; + } + return true; + } + + // pass width and height for CubeMap (use 2*width) & Texture2D (use width) + public bool ReserveSpace(Texture textureA, Texture textureB, int width, int height) + { + int id = GetTextureID(textureA, textureB); + m_RequestedTextures[id] = new Vector2Int(width, height); + + if (NeedsUpdate(textureA, textureB)) + return false; + // new texture if (!IsCached(out _, id)) { From 8998567c205955c0d38508a7b382029ef126c313 Mon Sep 17 00:00:00 2001 From: Martin Thorzen <35328557+martint-unity@users.noreply.github.com> Date: Fri, 15 Jan 2021 09:46:58 +0100 Subject: [PATCH 011/148] filter for xbone addded (#3116) --- .../Test/TestFilters/TestCaseFilters.asset | 131 ++++++++++-------- 1 file changed, 70 insertions(+), 61 deletions(-) diff --git a/TestProjects/UniversalGraphicsTest/Assets/Test/TestFilters/TestCaseFilters.asset b/TestProjects/UniversalGraphicsTest/Assets/Test/TestFilters/TestCaseFilters.asset index 5d90301598d..05bf0815090 100644 --- a/TestProjects/UniversalGraphicsTest/Assets/Test/TestFilters/TestCaseFilters.asset +++ b/TestProjects/UniversalGraphicsTest/Assets/Test/TestFilters/TestCaseFilters.asset @@ -107,20 +107,20 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: bcb8635ea84c143f0ae0823f1e9b6f25, type: 3} ColorSpace: -1 - BuildPlatform: 9 - GraphicsDevice: 16 - XrSdk: None + BuildPlatform: 19 + GraphicsDevice: 21 + XrSdk: StereoModes: 0 - Reason: 'Filtered out due to OoM issue (FB: 1304672)' + Reason: https://fogbugz.unity3d.com/f/cases/1305591/ - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: bcb8635ea84c143f0ae0823f1e9b6f25, type: 3} ColorSpace: -1 - BuildPlatform: 19 - GraphicsDevice: 21 - XrSdk: + BuildPlatform: 9 + GraphicsDevice: 16 + XrSdk: None StereoModes: 0 - Reason: https://fogbugz.unity3d.com/f/cases/1305591/ + Reason: 'Filtered out due to OoM issue (FB: 1304672)' - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 2d287b701f8e1bf429c14805ac505eb9, type: 3} @@ -161,44 +161,44 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 31 - GraphicsDevice: 13 - XrSdk: + BuildPlatform: -2 + GraphicsDevice: 17 + XrSdk: None StereoModes: 0 - Reason: https://fogbugz.unity3d.com/f/cases/1304675 + Reason: Needs fixing in OpenGL - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 5 - GraphicsDevice: 21 - XrSdk: None + BuildPlatform: 33 + GraphicsDevice: 23 + XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 13 - GraphicsDevice: 11 + BuildPlatform: 9 + GraphicsDevice: 16 XrSdk: None StereoModes: 0 - Reason: https://fogbugz.unity3d.com/f/cases/1304675 + Reason: 'Filtered out due to OoM issue (FB: 1304672)' - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 13 - GraphicsDevice: 21 - XrSdk: None + BuildPlatform: 38 + GraphicsDevice: 22 + XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 24 - GraphicsDevice: 21 + BuildPlatform: 19 + GraphicsDevice: 2 XrSdk: None StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 @@ -206,17 +206,17 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 5 + BuildPlatform: 19 GraphicsDevice: 18 - XrSdk: None + XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 19 - GraphicsDevice: 21 + BuildPlatform: 33 + GraphicsDevice: 14 XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 @@ -224,17 +224,17 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 19 + BuildPlatform: 5 GraphicsDevice: 18 - XrSdk: + XrSdk: None StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 19 - GraphicsDevice: 2 + BuildPlatform: 24 + GraphicsDevice: 21 XrSdk: None StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 @@ -242,26 +242,35 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 38 - GraphicsDevice: 22 - XrSdk: + BuildPlatform: 13 + GraphicsDevice: 21 + XrSdk: None StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 9 - GraphicsDevice: 16 + BuildPlatform: 13 + GraphicsDevice: 11 XrSdk: None StereoModes: 0 - Reason: 'Filtered out due to OoM issue (FB: 1304672)' + Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: 33 - GraphicsDevice: 23 + BuildPlatform: 5 + GraphicsDevice: 21 + XrSdk: None + StereoModes: 0 + Reason: https://fogbugz.unity3d.com/f/cases/1304675 + - FilteredScene: {fileID: 0} + FilteredScenes: + - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} + ColorSpace: -1 + BuildPlatform: 31 + GraphicsDevice: 13 XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1304675 @@ -269,11 +278,11 @@ MonoBehaviour: FilteredScenes: - {fileID: 102900000, guid: 770b86964e87d47e4bdbafa425ccd238, type: 3} ColorSpace: -1 - BuildPlatform: -2 - GraphicsDevice: 17 - XrSdk: None + BuildPlatform: 19 + GraphicsDevice: 21 + XrSdk: StereoModes: 0 - Reason: Needs fixing in OpenGL + Reason: https://fogbugz.unity3d.com/f/cases/1304675 - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 7a8ef7ce062f0465b9e493dd5730cecb, type: 3} @@ -455,15 +464,6 @@ MonoBehaviour: XrSdk: None StereoModes: 0 Reason: Needs fixing in OpenGL - - FilteredScene: {fileID: 0} - FilteredScenes: - - {fileID: 102900000, guid: 83adeebeb3ba74a13816f2b8636588aa, type: 3} - ColorSpace: -1 - BuildPlatform: 24 - GraphicsDevice: 21 - XrSdk: None - StereoModes: 0 - Reason: https://fogbugz.unity3d.com/f/cases/1305639/ - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 83adeebeb3ba74a13816f2b8636588aa, type: 3} @@ -482,6 +482,15 @@ MonoBehaviour: XrSdk: StereoModes: 0 Reason: https://fogbugz.unity3d.com/f/cases/1293775/ + - FilteredScene: {fileID: 0} + FilteredScenes: + - {fileID: 102900000, guid: 83adeebeb3ba74a13816f2b8636588aa, type: 3} + ColorSpace: -1 + BuildPlatform: 24 + GraphicsDevice: 21 + XrSdk: None + StereoModes: 0 + Reason: https://fogbugz.unity3d.com/f/cases/1305639/ - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: c7b61419ee9382545afe530714fda0c2, type: 3} @@ -572,6 +581,15 @@ MonoBehaviour: XrSdk: None StereoModes: 0 Reason: OSX Standalone won't work with back buffer capture + - FilteredScene: {fileID: 0} + FilteredScenes: + - {fileID: 102900000, guid: 9173c5ffc1365594aa9b927c4cd84c54, type: 3} + ColorSpace: -1 + BuildPlatform: -2 + GraphicsDevice: 17 + XrSdk: None + StereoModes: 0 + Reason: Needs fixing in OpenGL - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: 9173c5ffc1365594aa9b927c4cd84c54, type: 3} @@ -590,15 +608,6 @@ MonoBehaviour: XrSdk: None StereoModes: 0 Reason: OSX Standalone won't work with back buffer capture - - FilteredScene: {fileID: 0} - FilteredScenes: - - {fileID: 102900000, guid: 9173c5ffc1365594aa9b927c4cd84c54, type: 3} - ColorSpace: -1 - BuildPlatform: -2 - GraphicsDevice: 17 - XrSdk: None - StereoModes: 0 - Reason: Needs fixing in OpenGL - FilteredScene: {fileID: 0} FilteredScenes: - {fileID: 102900000, guid: d66b74ae4e7264d62bdb2c4f56261030, type: 3} From 027cb377be5b8c6d9a044408fb884b9d54ee376e Mon Sep 17 00:00:00 2001 From: Sophia <16596228+sophiaaar@users.noreply.github.com> Date: Fri, 15 Jan 2021 10:05:46 +0100 Subject: [PATCH 012/148] [Yamato] Enable cache server for standalone build jobs (#3106) * create standalone_cache jobs * use cache jobs for trunk verification * fix commands so linux can recognise them need to wrap each string around "extra-editor-arg" --- .yamato/_abv.yml | 20 +-- .yamato/all-hdrp.yml | 12 +- .yamato/all-shadergraph.yml | 16 +-- .yamato/all-shadergraph_stereo.yml | 4 +- .yamato/all-universal.yml | 40 +++--- .yamato/all-universal_stereo.yml | 4 +- .yamato/all-vfx_hdrp.yml | 8 +- .yamato/all-vfx_urp.yml | 4 +- .yamato/config/_abv.metafile | 10 +- .yamato/config/hdrp.metafile | 31 ++++- .yamato/config/hdrp_dxr.metafile | 29 +++- .yamato/config/hdrp_hybrid.metafile | 28 +++- .yamato/config/shadergraph.metafile | 37 +++-- .yamato/config/shadergraph_stereo.metafile | 19 ++- .yamato/config/universal.metafile | 49 +++++-- .yamato/config/universal_hybrid.metafile | 26 +++- .yamato/config/universal_stereo.metafile | 21 ++- .yamato/config/vfx_hdrp.metafile | 29 +++- .yamato/config/vfx_urp.metafile | 31 ++++- .yamato/hdrp-linux-vulkan.yml | 109 ++++++++++++++- .yamato/hdrp-osx-metal.yml | 66 ++++++++- .yamato/hdrp-win-dx11.yml | 115 ++++++++++++++- .yamato/hdrp-win-dx12.yml | 115 ++++++++++++++- .yamato/hdrp-win-vulkan.yml | 115 ++++++++++++++- .yamato/hdrp_dxr-win-dx12.yml | 121 +++++++++++++++- .yamato/hdrp_hybrid-linux-openglcore.yml | 4 +- .yamato/hdrp_hybrid-linux-vulkan.yml | 109 ++++++++++++++- .yamato/hdrp_hybrid-osx-metal.yml | 66 ++++++++- .yamato/hdrp_hybrid-win-dx11.yml | 113 ++++++++++++++- .yamato/hdrp_hybrid-win-dx12.yml | 113 ++++++++++++++- .yamato/hdrp_hybrid-win-vulkan.yml | 113 ++++++++++++++- .yamato/shadergraph-android-opengles3.yml | 131 ++++++++++++++++++ .yamato/shadergraph-android-vulkan.yml | 131 ++++++++++++++++++ .yamato/shadergraph-iphone-metal.yml | 113 +++++++++++++++ .yamato/shadergraph-linux-openglcore.yml | 4 +- .yamato/shadergraph-linux-vulkan.yml | 109 ++++++++++++++- .yamato/shadergraph-osx-metal.yml | 66 ++++++++- .yamato/shadergraph-osx-openglcore.yml | 4 +- .yamato/shadergraph-win-dx11.yml | 113 ++++++++++++++- .yamato/shadergraph-win-vulkan.yml | 113 ++++++++++++++- .yamato/shadergraph_stereo-win.yml | 109 +++++++++++++++ .yamato/universal-android-opengles3.yml | 131 ++++++++++++++++++ .yamato/universal-android-vulkan.yml | 131 ++++++++++++++++++ .yamato/universal-iphone-metal.yml | 113 +++++++++++++++ .yamato/universal-linux-openglcore.yml | 4 +- .yamato/universal-linux-vulkan.yml | 109 ++++++++++++++- .yamato/universal-osx-metal.yml | 66 ++++++++- .yamato/universal-osx-openglcore.yml | 4 +- .yamato/universal-win-dx11.yml | 115 ++++++++++++++- .yamato/universal-win-dx12.yml | 115 ++++++++++++++- .yamato/universal-win-vulkan.yml | 115 ++++++++++++++- .../universal_hybrid-android-opengles3.yml | 131 ++++++++++++++++++ .yamato/universal_hybrid-android-vulkan.yml | 131 ++++++++++++++++++ .yamato/universal_hybrid-linux-openglcore.yml | 4 +- .yamato/universal_hybrid-linux-vulkan.yml | 109 ++++++++++++++- .yamato/universal_hybrid-osx-metal.yml | 66 ++++++++- .yamato/universal_hybrid-win-dx11.yml | 113 ++++++++++++++- .yamato/universal_hybrid-win-vulkan.yml | 113 ++++++++++++++- .yamato/universal_stereo-win.yml | 109 +++++++++++++++ .yamato/vfx_hdrp-linux-vulkan.yml | 109 ++++++++++++++- .yamato/vfx_hdrp-osx-metal.yml | 66 ++++++++- .yamato/vfx_hdrp-win-dx11.yml | 115 ++++++++++++++- .yamato/vfx_hdrp-win-dx12.yml | 115 ++++++++++++++- .yamato/vfx_hdrp-win-vulkan.yml | 115 ++++++++++++++- .yamato/vfx_urp-iphone-metal.yml | 113 +++++++++++++++ .yamato/vfx_urp-linux-openglcore.yml | 4 +- .yamato/vfx_urp-linux-vulkan.yml | 109 ++++++++++++++- .yamato/vfx_urp-osx-metal.yml | 66 ++++++++- .yamato/vfx_urp-osx-openglcore.yml | 4 +- .yamato/vfx_urp-win-dx11.yml | 113 ++++++++++++++- .yamato/vfx_urp-win-vulkan.yml | 113 ++++++++++++++- 71 files changed, 4989 insertions(+), 202 deletions(-) diff --git a/.yamato/_abv.yml b/.yamato/_abv.yml index 41ed3dda08d..8a0b0343f17 100644 --- a/.yamato/_abv.yml +++ b/.yamato/_abv.yml @@ -57,23 +57,23 @@ all_project_ci_weekly_trunk: trunk_verification_trunk: name: Trunk verification - trunk dependencies: - - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_mono_Linear_trunk + - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_playmode_mono_Linear_trunk + - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_mono_Linear_trunk + - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_mono_Linear_trunk + - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_playmode_mono_Linear_trunk + - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision all_project_ci_CUSTOM-REVISION: name: _ABV for SRP repository (all PR jobs) - CUSTOM-REVISION @@ -95,23 +95,23 @@ all_project_ci_CUSTOM-REVISION: trunk_verification_CUSTOM-REVISION: name: Trunk verification - CUSTOM-REVISION dependencies: - - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_playmode_mono_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_mono_Linear_CUSTOM-REVISION + - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_mono_Linear_CUSTOM-REVISION + - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_playmode_mono_Linear_CUSTOM-REVISION + - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always variables: CUSTOM_REVISION: custom_revision_not_set diff --git a/.yamato/all-hdrp.yml b/.yamato/all-hdrp.yml index c3ee1449517..3bb3805fc77 100644 --- a/.yamato/all-hdrp.yml +++ b/.yamato/all-hdrp.yml @@ -10,7 +10,7 @@ PR_HDRP_trunk: name: HDRP PR Job - trunk dependencies: - - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_Standalone_mono_Linear_trunk + - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_cache_mono_Linear_trunk rerun: on-new-revision @@ -52,11 +52,11 @@ Nightly_HDRP_trunk: rerun: on-new-revision - path: .yamato/all-smoke_test.yml#Nightly_Smoke_Test_trunk rerun: on-new-revision - - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_Standalone_mono_Linear_trunk + - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_playmode_XR_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_mono_Linear_trunk + - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_XR_mono_Linear_trunk rerun: on-new-revision @@ -68,7 +68,7 @@ Nightly_HDRP_trunk: PR_HDRP_CUSTOM-REVISION: name: HDRP PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/hdrp-win-dx11.yml#HDRP_Win_DX11_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always @@ -109,11 +109,11 @@ Nightly_HDRP_CUSTOM-REVISION: rerun: always - path: .yamato/all-smoke_test.yml#Nightly_Smoke_Test_CUSTOM-REVISION rerun: always - - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/hdrp-win-dx12.yml#HDRP_Win_DX12_playmode_XR_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/hdrp-win-vulkan.yml#HDRP_Win_Vulkan_playmode_XR_mono_Linear_CUSTOM-REVISION rerun: always diff --git a/.yamato/all-shadergraph.yml b/.yamato/all-shadergraph.yml index da09b4e44ec..d6c2ce07059 100644 --- a/.yamato/all-shadergraph.yml +++ b/.yamato/all-shadergraph.yml @@ -10,15 +10,15 @@ PR_ShaderGraph_trunk: name: ShaderGraph PR Job - trunk dependencies: - - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_Standalone_mono_Linear_trunk + - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/shadergraph-osx-openglcore.yml#ShaderGraph_OSX_OpenGLCore_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_Standalone_mono_Linear_trunk + - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/shadergraph-osx-metal.yml#ShaderGraph_OSX_Metal_playmode_cache_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/shadergraph-iphone-metal.yml#ShaderGraph_iPhone_Metal_Standalone_il2cpp_Linear_trunk + - path: .yamato/shadergraph-iphone-metal.yml#ShaderGraph_iPhone_Metal_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - path: .yamato/all-shadergraph_stereo.yml#PR_ShaderGraph_Stereo_trunk rerun: on-new-revision @@ -42,7 +42,7 @@ Nightly_ShaderGraph_trunk: rerun: on-new-revision - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_playmode_cache_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/shadergraph-android-vulkan.yml#ShaderGraph_Android_Vulkan_Standalone_il2cpp_Linear_trunk + - path: .yamato/shadergraph-android-vulkan.yml#ShaderGraph_Android_Vulkan_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision variables: UTR_VERSION: "current" @@ -50,15 +50,15 @@ Nightly_ShaderGraph_trunk: PR_ShaderGraph_CUSTOM-REVISION: name: ShaderGraph PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph-win-dx11.yml#ShaderGraph_Win_DX11_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/shadergraph-osx-openglcore.yml#ShaderGraph_OSX_OpenGLCore_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/shadergraph-osx-metal.yml#ShaderGraph_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/shadergraph-iphone-metal.yml#ShaderGraph_iPhone_Metal_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph-iphone-metal.yml#ShaderGraph_iPhone_Metal_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - path: .yamato/all-shadergraph_stereo.yml#PR_ShaderGraph_Stereo_CUSTOM-REVISION rerun: always @@ -81,7 +81,7 @@ Nightly_ShaderGraph_CUSTOM-REVISION: rerun: always - path: .yamato/shadergraph-linux-vulkan.yml#ShaderGraph_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/shadergraph-android-vulkan.yml#ShaderGraph_Android_Vulkan_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph-android-vulkan.yml#ShaderGraph_Android_Vulkan_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always variables: CUSTOM_REVISION: custom_revision_not_set diff --git a/.yamato/all-shadergraph_stereo.yml b/.yamato/all-shadergraph_stereo.yml index f6a78183906..462a084aedf 100644 --- a/.yamato/all-shadergraph_stereo.yml +++ b/.yamato/all-shadergraph_stereo.yml @@ -10,7 +10,7 @@ PR_ShaderGraph_Stereo_trunk: name: ShaderGraph_Stereo PR Job - trunk dependencies: - - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_Standalone_mono_Linear_trunk + - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_editmode_mono_Linear_trunk rerun: on-new-revision @@ -28,7 +28,7 @@ Nightly_ShaderGraph_Stereo_trunk: PR_ShaderGraph_Stereo_CUSTOM-REVISION: name: ShaderGraph_Stereo PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/shadergraph_stereo-win.yml#ShaderGraph_Stereo_Win_editmode_mono_Linear_CUSTOM-REVISION rerun: always diff --git a/.yamato/all-universal.yml b/.yamato/all-universal.yml index a7559f915b0..4df56d144f8 100644 --- a/.yamato/all-universal.yml +++ b/.yamato/all-universal.yml @@ -10,33 +10,33 @@ PR_Universal_trunk: name: Universal PR Job - trunk dependencies: - - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_Standalone_mono_Linear_trunk + - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_XR_mono_Linear_trunk rerun: on-new-revision - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-win-dx12.yml#Universal_Win_DX12_Standalone_mono_Linear_trunk + - path: .yamato/universal-win-dx12.yml#Universal_Win_DX12_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-win-vulkan.yml#Universal_Win_Vulkan_Standalone_mono_Linear_trunk + - path: .yamato/universal-win-vulkan.yml#Universal_Win_Vulkan_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-linux-vulkan.yml#Universal_Linux_Vulkan_Standalone_mono_Linear_trunk + - path: .yamato/universal-linux-vulkan.yml#Universal_Linux_Vulkan_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - path: .yamato/universal-osx-metal.yml#Universal_OSX_Metal_playmode_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/universal-osx-openglcore.yml#Universal_OSX_OpenGLCore_editmode_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_il2cpp_Linear_trunk + - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_cache_il2cpp_Linear_trunk rerun: on-new-revision - path: .yamato/all-universal_stereo.yml#PR_Universal_Stereo_trunk rerun: on-new-revision @@ -80,33 +80,33 @@ Nightly_Universal_trunk: PR_Universal_CUSTOM-REVISION: name: Universal PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_playmode_XR_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal-win-dx11.yml#Universal_Win_DX11_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-win-dx12.yml#Universal_Win_DX12_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal-win-dx12.yml#Universal_Win_DX12_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-win-vulkan.yml#Universal_Win_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal-win-vulkan.yml#Universal_Win_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-linux-vulkan.yml#Universal_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal-linux-vulkan.yml#Universal_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal-osx-metal.yml#Universal_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal-osx-openglcore.yml#Universal_OSX_OpenGLCore_editmode_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-android-opengles3.yml#Universal_Android_OpenGLES3_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-android-vulkan.yml#Universal_Android_Vulkan_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_il2cpp_Linear_CUSTOM-REVISION + - path: .yamato/universal-iphone-metal.yml#Universal_iPhone_Metal_Standalone_cache_il2cpp_Linear_CUSTOM-REVISION rerun: always - path: .yamato/all-universal_stereo.yml#PR_Universal_Stereo_CUSTOM-REVISION rerun: always diff --git a/.yamato/all-universal_stereo.yml b/.yamato/all-universal_stereo.yml index cbadf5f9ee8..f0791d68ab9 100644 --- a/.yamato/all-universal_stereo.yml +++ b/.yamato/all-universal_stereo.yml @@ -10,7 +10,7 @@ PR_Universal_Stereo_trunk: name: Universal_Stereo PR Job - trunk dependencies: - - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_Standalone_mono_Linear_trunk + - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_editmode_mono_Linear_trunk rerun: on-new-revision @@ -28,7 +28,7 @@ Nightly_Universal_Stereo_trunk: PR_Universal_Stereo_CUSTOM-REVISION: name: Universal_Stereo PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/universal_stereo-win.yml#Universal_Stereo_Win_editmode_mono_Linear_CUSTOM-REVISION rerun: always diff --git a/.yamato/all-vfx_hdrp.yml b/.yamato/all-vfx_hdrp.yml index 51b037a8027..72e1dab90cf 100644 --- a/.yamato/all-vfx_hdrp.yml +++ b/.yamato/all-vfx_hdrp.yml @@ -10,11 +10,11 @@ PR_VFX_HDRP_trunk: name: VFX_HDRP PR Job - trunk dependencies: - - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_Standalone_mono_Linear_trunk + - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_Standalone_cache_mono_Linear_trunk rerun: on-new-revision - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_XR_mono_Linear_trunk rerun: on-new-revision - - path: .yamato/vfx_hdrp-win-dx12.yml#VFX_HDRP_Win_DX12_Standalone_mono_Linear_trunk + - path: .yamato/vfx_hdrp-win-dx12.yml#VFX_HDRP_Win_DX12_Standalone_cache_mono_Linear_trunk rerun: on-new-revision triggers: expression: pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.visualeffectgraph/**/*", "TestProjects/VisualEffectGraph_HDRP/**/*"] @@ -38,11 +38,11 @@ Nightly_VFX_HDRP_trunk: PR_VFX_HDRP_CUSTOM-REVISION: name: VFX_HDRP PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always - path: .yamato/vfx_hdrp-win-dx11.yml#VFX_HDRP_Win_DX11_playmode_XR_mono_Linear_CUSTOM-REVISION rerun: always - - path: .yamato/vfx_hdrp-win-dx12.yml#VFX_HDRP_Win_DX12_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/vfx_hdrp-win-dx12.yml#VFX_HDRP_Win_DX12_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always variables: CUSTOM_REVISION: custom_revision_not_set diff --git a/.yamato/all-vfx_urp.yml b/.yamato/all-vfx_urp.yml index 14a85841d17..582e1b26818 100644 --- a/.yamato/all-vfx_urp.yml +++ b/.yamato/all-vfx_urp.yml @@ -10,7 +10,7 @@ PR_VFX_URP_trunk: name: VFX_URP PR Job - trunk dependencies: - - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_Standalone_mono_Linear_trunk + - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_Standalone_cache_mono_Linear_trunk rerun: on-new-revision triggers: expression: pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.visualeffectgraph/**/*", "TestProjects/VisualEffectGraph_URP/**/*"] @@ -32,7 +32,7 @@ Nightly_VFX_URP_trunk: PR_VFX_URP_CUSTOM-REVISION: name: VFX_URP PR Job - CUSTOM-REVISION dependencies: - - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_Standalone_mono_Linear_CUSTOM-REVISION + - path: .yamato/vfx_urp-win-dx11.yml#VFX_URP_Win_DX11_Standalone_cache_mono_Linear_CUSTOM-REVISION rerun: always variables: CUSTOM_REVISION: custom_revision_not_set diff --git a/.yamato/config/_abv.metafile b/.yamato/config/_abv.metafile index d132e23dbde..f4a55b42228 100644 --- a/.yamato/config/_abv.metafile +++ b/.yamato/config/_abv.metafile @@ -29,7 +29,7 @@ trunk_verification: # jobs to include in trunk verification job build_config: mono color_space: Linear test_platforms: - - playmode + - playmode_cache - editmode - project: ShaderGraph platform: Win @@ -37,7 +37,7 @@ trunk_verification: # jobs to include in trunk verification job build_config: mono color_space: Linear test_platforms: - - playmode + - playmode_cache - editmode - project: HDRP platform: Win @@ -45,7 +45,7 @@ trunk_verification: # jobs to include in trunk verification job build_config: mono color_space: Linear test_platforms: - - playmode + - playmode_cache - editmode - project: VFX_HDRP platform: Win @@ -53,7 +53,7 @@ trunk_verification: # jobs to include in trunk verification job build_config: mono color_space: Linear test_platforms: - - playmode + - playmode_cache - editmode - project: VFX_URP platform: Win @@ -61,4 +61,4 @@ trunk_verification: # jobs to include in trunk verification job build_config: mono color_space: Linear test_platforms: - - playmode + - playmode_cache diff --git a/.yamato/config/hdrp.metafile b/.yamato/config/hdrp.metafile index 0f9be6822c4..e31fc37a762 100644 --- a/.yamato/config/hdrp.metafile +++ b/.yamato/config/hdrp.metafile @@ -9,10 +9,10 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: playmode name: playmode_XR utr_flags: @@ -21,6 +21,23 @@ test_platforms: - type: Standalone utr_flags: - [OSX_Metal]: --timeout=2400 + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: 'pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.render-pipelines.high-definition/**/*", "com.unity.render-pipelines.high-definition-config/**/*", "TestProjects/HDRP_Tests/**/*"]' platforms: @@ -78,7 +95,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - playmode_cache - playmode_XR - editmode @@ -131,14 +148,14 @@ nightly: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - playmode_XR - platform: Win api: Vulkan build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - playmode_XR - platform: Linux api: Vulkan diff --git a/.yamato/config/hdrp_dxr.metafile b/.yamato/config/hdrp_dxr.metafile index 349950753b2..cccf86934e1 100644 --- a/.yamato/config/hdrp_dxr.metafile +++ b/.yamato/config/hdrp_dxr.metafile @@ -9,14 +9,31 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: playmode name: playmode_XR utr_flags: - - [all]: --extra-editor-arg="-xr-reuse-tests" + - [all]: --extra-editor-arg="-xr-tests" + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: "" platforms: @@ -51,4 +68,4 @@ nightly: color_space: Linear test_platforms: - playmode_XR - # - Standalone + # - Standalone_cache diff --git a/.yamato/config/hdrp_hybrid.metafile b/.yamato/config/hdrp_hybrid.metafile index 8150c08987a..8ce1f3f7d4a 100644 --- a/.yamato/config/hdrp_hybrid.metafile +++ b/.yamato/config/hdrp_hybrid.metafile @@ -11,10 +11,10 @@ test_platforms: - [all]: --compilation-errors-as-warnings - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: playmode name: playmode_XR utr_flags: @@ -29,6 +29,25 @@ test_platforms: - [OSX_Metal]: --timeout=2400 utr_flags_build: - [all]: --compilation-errors-as-warnings + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --compilation-errors-as-warnings + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --compilation-errors-as-warnings + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: "" platforms: @@ -55,6 +74,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache - name: playmode_XR - name: Vulkan exclude_test_platforms: diff --git a/.yamato/config/shadergraph.metafile b/.yamato/config/shadergraph.metafile index 71697caf6d4..73210d87a4b 100644 --- a/.yamato/config/shadergraph.metafile +++ b/.yamato/config/shadergraph.metafile @@ -11,11 +11,28 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: editmode + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: 'pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.shadergraph/**/*", "TestProjects/ShaderGraph/**/*"]' platforms: @@ -35,6 +52,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache build_configs: - name: mono color_spaces: @@ -44,6 +62,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache - name: Vulkan build_configs: - name: mono @@ -86,7 +105,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: OSX api: OpenGLCore build_config: mono @@ -98,20 +117,20 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: OSX api: Metal build_config: mono color_space: Linear test_platforms: - # - Standalone + # - Standalone_cache - playmode_cache - platform: iPhone api: Metal build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - project: ShaderGraph_Stereo pr: true nightly: @@ -139,5 +158,5 @@ nightly: build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache diff --git a/.yamato/config/shadergraph_stereo.metafile b/.yamato/config/shadergraph_stereo.metafile index ca301bcf087..b3253c9ec9a 100644 --- a/.yamato/config/shadergraph_stereo.metafile +++ b/.yamato/config/shadergraph_stereo.metafile @@ -4,6 +4,23 @@ project: test_platforms: - type: Standalone - type: editmode + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" platforms: - name: Win apis: @@ -20,7 +37,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - editmode nightly: dependencies: diff --git a/.yamato/config/universal.metafile b/.yamato/config/universal.metafile index 388f669bdfc..6593c9954e0 100644 --- a/.yamato/config/universal.metafile +++ b/.yamato/config/universal.metafile @@ -16,15 +16,32 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: editmode - type: playmode name: playmode_XR utr_flags: - [all]: --extra-editor-arg="-xr-reuse-tests" + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: 'pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.render-pipelines.universal/**/*", "TestProjects/UniversalGraphicsTest/**/*"]' platforms: @@ -46,6 +63,7 @@ platforms: exclude_test_platforms: - name: playmode_XR - name: Standalone + - name: Standalone_cache build_configs: - name: mono color_spaces: @@ -55,6 +73,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache - name: playmode_XR - name: Vulkan exclude_test_platforms: @@ -100,7 +119,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - playmode_XR - editmode - platform: Win @@ -108,43 +127,43 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: Win api: Vulkan build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: Linux api: Vulkan build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: Android api: OpenGLES3 build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: Android api: Vulkan build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: iPhone api: Metal build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: OSX api: Metal build_config: mono color_space: Linear test_platforms: - # - Standalone + # - Standalone_cache - playmode_cache - platform: OSX api: OpenGLCore @@ -157,19 +176,19 @@ pr: build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: Android api: Vulkan build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - platform: iPhone api: Metal build_config: il2cpp color_space: Linear test_platforms: - - Standalone + - Standalone_cache - project: Universal_Stereo pr: true - project: Universal_Hybrid diff --git a/.yamato/config/universal_hybrid.metafile b/.yamato/config/universal_hybrid.metafile index 7a95e6e95e6..aaa7269d3e0 100644 --- a/.yamato/config/universal_hybrid.metafile +++ b/.yamato/config/universal_hybrid.metafile @@ -18,10 +18,27 @@ test_platforms: - [all]: --compilation-errors-as-warnings - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: "" platforms: @@ -47,6 +64,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache - name: playmode_XR - name: Vulkan exclude_test_platforms: diff --git a/.yamato/config/universal_stereo.metafile b/.yamato/config/universal_stereo.metafile index cb0c1f54529..9137e71c1fe 100644 --- a/.yamato/config/universal_stereo.metafile +++ b/.yamato/config/universal_stereo.metafile @@ -6,6 +6,25 @@ test_platforms: utr_flags: - [all]: compilation-errors-as-warnings - type: editmode + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: compilation-errors-as-warnings + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: compilation-errors-as-warnings + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: "" platforms: @@ -22,7 +41,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - editmode nightly: dependencies: diff --git a/.yamato/config/vfx_hdrp.metafile b/.yamato/config/vfx_hdrp.metafile index 934fe5256b5..85cddeedd4f 100644 --- a/.yamato/config/vfx_hdrp.metafile +++ b/.yamato/config/vfx_hdrp.metafile @@ -11,15 +11,32 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" - type: playmode name: playmode_XR utr_flags: - [all]: --extra-editor-arg="-xr-reuse-tests" - type: editmode + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" expression_trigger: expression: 'pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.visualeffectgraph/**/*", "TestProjects/VisualEffectGraph_HDRP/**/*"]' platforms: @@ -77,14 +94,14 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache - playmode_XR - platform: Win api: DX12 build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache nightly: dependencies: - project: VFX_HDRP diff --git a/.yamato/config/vfx_urp.metafile b/.yamato/config/vfx_urp.metafile index 1636f626b7d..b15301640eb 100644 --- a/.yamato/config/vfx_urp.metafile +++ b/.yamato/config/vfx_urp.metafile @@ -11,10 +11,27 @@ test_platforms: utr_flags: - [all]: --extra-editor-arg="-adb2" - [all]: --extra-editor-arg="-enableCacheServer" - - [all]: --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" - - [all]: --extra-editor-arg="-cacheServerNamespacePrefix SRP" - - [all]: --extra-editor-arg="-cacheServerEnableDownload true" - - [all]: --extra-editor-arg="-cacheServerEnableUpload true" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + - type: Standalone + name: Standalone_cache + utr_flags: + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" + utr_flags_build: + - [all]: --timeout=3000 + - [all]: --extra-editor-arg="-adb2" + - [all]: --extra-editor-arg="-enableCacheServer" + - [all]: --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" + - [all]: --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" + - [all]: --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" + - [all]: --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" # - type: editmode expression_trigger: expression: 'pull_request.target eq "master" AND NOT pull_request.draft AND pull_request.changes.any match ["com.unity.visualeffectgraph/**/*", "TestProjects/VisualEffectGraph_URP/**/*"]' @@ -37,6 +54,7 @@ platforms: exclude_test_platforms: - name: playmode_XR - name: Standalone + - name: Standalone_cache build_configs: - name: mono color_spaces: @@ -46,6 +64,7 @@ platforms: - name: OpenGLCore exclude_test_platforms: - name: Standalone + - name: Standalone_cache - name: playmode_XR - name: Vulkan exclude_test_platforms: @@ -81,7 +100,7 @@ pr: build_config: mono color_space: Linear test_platforms: - - Standalone + - Standalone_cache nightly: dependencies: - project: VFX_URP @@ -97,5 +116,5 @@ nightly: build_config: mono color_space: Linear test_platforms: - # - Standalone + # - Standalone_cache - playmode_cache \ No newline at end of file diff --git a/.yamato/hdrp-linux-vulkan.yml b/.yamato/hdrp-linux-vulkan.yml index 36c194926e0..8a30204243b 100644 --- a/.yamato/hdrp-linux-vulkan.yml +++ b/.yamato/hdrp-linux-vulkan.yml @@ -49,7 +49,7 @@ HDRP_Linux_Vulkan_playmode_cache_mono_Linear_trunk: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_Tests/utr - chmod +x TestProjects/HDRP_Tests/utr - cd TestProjects/HDRP_Tests && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only - - cd TestProjects/HDRP_Tests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/HDRP_Tests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -128,6 +128,55 @@ Build_HDRP_Linux_Vulkan_Standalone_mono_Linear_trunk: players: paths: - "players*/**" +HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_trunk: + name: HDRP on Linux_Vulkan_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - cd TestProjects/HDRP_RuntimeTests && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" + dependencies: + - path: .yamato/hdrp-linux-vulkan.yml#Build_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_trunk + rerun: on-new-revision +Build_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_trunk: + name: Build HDRP on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version trunk + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - cd TestProjects/HDRP_RuntimeTests && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/HDRP_RuntimeTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" + players: + paths: + - "players*/**" HDRP_Linux_Vulkan_playmode_mono_Linear_CUSTOM-REVISION: name: HDRP on Linux_Vulkan_playmode_mono_Linear on version CUSTOM-REVISION agent: @@ -175,7 +224,7 @@ HDRP_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_Tests/utr - chmod +x TestProjects/HDRP_Tests/utr - cd TestProjects/HDRP_Tests && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/HDRP_Tests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/HDRP_Tests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -268,3 +317,59 @@ Build_HDRP_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: HDRP on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - cd TestProjects/HDRP_RuntimeTests && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/hdrp-linux-vulkan.yml#Build_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build HDRP on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - cd TestProjects/HDRP_RuntimeTests && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/HDRP_RuntimeTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/hdrp-osx-metal.yml b/.yamato/hdrp-osx-metal.yml index 548080acde6..4c7d615b4ea 100644 --- a/.yamato/hdrp-osx-metal.yml +++ b/.yamato/hdrp-osx-metal.yml @@ -55,7 +55,7 @@ HDRP_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_Tests && ~/Graphics/TestProjects/HDRP_Tests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_Tests --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_Tests && ~/Graphics/TestProjects/HDRP_Tests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_Tests --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/HDRP_Tests/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results/ TestProjects/HDRP_Tests/test-results/ @@ -123,6 +123,35 @@ HDRP_OSX_Metal_Standalone_mono_Linear_trunk: paths: - "**/test-results/**" - "TestProjects/HDRP_RuntimeTests/Logs/*.log" +HDRP_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: HDRP on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_RuntimeTests && ~/Graphics/TestProjects/HDRP_RuntimeTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/HDRP_RuntimeTests/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests/test-results/ TestProjects/HDRP_RuntimeTests/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" HDRP_OSX_Metal_playmode_mono_Linear_CUSTOM-REVISION: name: HDRP on OSX_Metal_playmode_mono_Linear on version CUSTOM-REVISION agent: @@ -176,7 +205,7 @@ HDRP_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_Tests && ~/Graphics/TestProjects/HDRP_Tests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_Tests --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_Tests && ~/Graphics/TestProjects/HDRP_Tests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_Tests --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/HDRP_Tests/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_Tests/test-results/ TestProjects/HDRP_Tests/test-results/ @@ -255,3 +284,36 @@ HDRP_OSX_Metal_Standalone_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos rerun: always +HDRP_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: HDRP on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_RuntimeTests/utr + - chmod +x TestProjects/HDRP_RuntimeTests/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_RuntimeTests && ~/Graphics/TestProjects/HDRP_RuntimeTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/HDRP_RuntimeTests/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_RuntimeTests/test-results/ TestProjects/HDRP_RuntimeTests/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_RuntimeTests/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always diff --git a/.yamato/hdrp-win-dx11.yml b/.yamato/hdrp-win-dx11.yml index fa830cb96c9..f0a81e62c5d 100644 --- a/.yamato/hdrp-win-dx11.yml +++ b/.yamato/hdrp-win-dx11.yml @@ -57,7 +57,7 @@ HDRP_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr + - chmod +x TestProjects/HDRP_HybridTests/utr + - cd TestProjects/HDRP_HybridTests && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/HDRP_HybridTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_HybridTests/Logs/*.log" + players: + paths: + - "players*/**" HDRP_Hybrid_Linux_Vulkan_playmode_mono_Linear_CUSTOM-REVISION: name: HDRP_Hybrid on Linux_Vulkan_playmode_mono_Linear on version CUSTOM-REVISION agent: @@ -151,7 +200,7 @@ HDRP_Hybrid_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr - chmod +x TestProjects/HDRP_HybridTests/utr - cd TestProjects/HDRP_HybridTests && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/HDRP_HybridTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/HDRP_HybridTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -216,3 +265,59 @@ Build_HDRP_Hybrid_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +HDRP_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: HDRP_Hybrid on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr + - chmod +x TestProjects/HDRP_HybridTests/utr + - cd TestProjects/HDRP_HybridTests && ./utr --artifacts_path=test-results --compilation-errors-as-warnings --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_HybridTests/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/hdrp_hybrid-linux-vulkan.yml#Build_HDRP_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_HDRP_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build HDRP_Hybrid on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr + - chmod +x TestProjects/HDRP_HybridTests/utr + - cd TestProjects/HDRP_HybridTests && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/HDRP_HybridTests && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_HybridTests/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/hdrp_hybrid-osx-metal.yml b/.yamato/hdrp_hybrid-osx-metal.yml index 415bc8e4584..3704a2908e4 100644 --- a/.yamato/hdrp_hybrid-osx-metal.yml +++ b/.yamato/hdrp_hybrid-osx-metal.yml @@ -55,7 +55,7 @@ HDRP_Hybrid_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/HDRP_HybridTests/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results/ TestProjects/HDRP_HybridTests/test-results/ @@ -123,6 +123,35 @@ HDRP_Hybrid_OSX_Metal_Standalone_mono_Linear_trunk: paths: - "**/test-results/**" - "TestProjects/HDRP_HybridTests/Logs/*.log" +HDRP_Hybrid_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: HDRP_Hybrid on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr + - chmod +x TestProjects/HDRP_HybridTests/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/HDRP_HybridTests/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results/ TestProjects/HDRP_HybridTests/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_HybridTests/Logs/*.log" HDRP_Hybrid_OSX_Metal_playmode_mono_Linear_CUSTOM-REVISION: name: HDRP_Hybrid on OSX_Metal_playmode_mono_Linear on version CUSTOM-REVISION agent: @@ -176,7 +205,7 @@ HDRP_Hybrid_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/HDRP_HybridTests/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results/ TestProjects/HDRP_HybridTests/test-results/ @@ -255,3 +284,36 @@ HDRP_Hybrid_OSX_Metal_Standalone_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos rerun: always +HDRP_Hybrid_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: HDRP_Hybrid on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/HDRP_HybridTests/utr + - chmod +x TestProjects/HDRP_HybridTests/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/HDRP_HybridTests && ~/Graphics/TestProjects/HDRP_HybridTests/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/HDRP_HybridTests --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/HDRP_HybridTests/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/HDRP_HybridTests/test-results/ TestProjects/HDRP_HybridTests/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/HDRP_HybridTests/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always diff --git a/.yamato/hdrp_hybrid-win-dx11.yml b/.yamato/hdrp_hybrid-win-dx11.yml index e2092727866..742d239b9fe 100644 --- a/.yamato/hdrp_hybrid-win-dx11.yml +++ b/.yamato/hdrp_hybrid-win-dx11.yml @@ -55,7 +55,7 @@ HDRP_Hybrid_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr + - chmod +x TestProjects/ShaderGraph/utr + - cd TestProjects/ShaderGraph && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/ShaderGraph && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/ShaderGraph/Logs/*.log" + players: + paths: + - "players*/**" ShaderGraph_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: name: ShaderGraph on Linux_Vulkan_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -231,7 +280,7 @@ ShaderGraph_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr - chmod +x TestProjects/ShaderGraph/utr - cd TestProjects/ShaderGraph && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/ShaderGraph && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/ShaderGraph && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -268,3 +317,59 @@ ShaderGraph_Linux_Vulkan_editmode_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +ShaderGraph_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: ShaderGraph on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr + - chmod +x TestProjects/ShaderGraph/utr + - cd TestProjects/ShaderGraph && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/ShaderGraph/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/shadergraph-linux-vulkan.yml#Build_ShaderGraph_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_ShaderGraph_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build ShaderGraph on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr + - chmod +x TestProjects/ShaderGraph/utr + - cd TestProjects/ShaderGraph && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/ShaderGraph && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/ShaderGraph/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/shadergraph-osx-metal.yml b/.yamato/shadergraph-osx-metal.yml index e924161ed0c..da3f0cd831d 100644 --- a/.yamato/shadergraph-osx-metal.yml +++ b/.yamato/shadergraph-osx-metal.yml @@ -84,7 +84,36 @@ ShaderGraph_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/ShaderGraph/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results/ TestProjects/ShaderGraph/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/ShaderGraph/Logs/*.log" +ShaderGraph_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: ShaderGraph on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr + - chmod +x TestProjects/ShaderGraph/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/ShaderGraph/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results/ TestProjects/ShaderGraph/test-results/ @@ -180,7 +209,40 @@ ShaderGraph_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/ShaderGraph/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results/ TestProjects/ShaderGraph/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/ShaderGraph/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always +ShaderGraph_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: ShaderGraph on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/ShaderGraph/utr + - chmod +x TestProjects/ShaderGraph/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/ShaderGraph && ~/Graphics/TestProjects/ShaderGraph/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/ShaderGraph --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/ShaderGraph/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/ShaderGraph/test-results/ TestProjects/ShaderGraph/test-results/ diff --git a/.yamato/shadergraph-osx-openglcore.yml b/.yamato/shadergraph-osx-openglcore.yml index 40cbda5d324..3f55c10dfe5 100644 --- a/.yamato/shadergraph-osx-openglcore.yml +++ b/.yamato/shadergraph-osx-openglcore.yml @@ -45,7 +45,7 @@ ShaderGraph_OSX_OpenGLCore_playmode_cache_mono_Linear_trunk: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/ShaderGraph && unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only - - cd TestProjects/ShaderGraph && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/ShaderGraph && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -116,7 +116,7 @@ ShaderGraph_OSX_OpenGLCore_playmode_cache_mono_Linear_CUSTOM-REVISION: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/ShaderGraph && unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/ShaderGraph && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/ShaderGraph && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: diff --git a/.yamato/shadergraph-win-dx11.yml b/.yamato/shadergraph-win-dx11.yml index ba8111a5db3..8121ff99ddb 100644 --- a/.yamato/shadergraph-win-dx11.yml +++ b/.yamato/shadergraph-win-dx11.yml @@ -106,7 +106,7 @@ ShaderGraph_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr + - chmod +x TestProjects/UniversalGraphicsTest/utr + - cd TestProjects/UniversalGraphicsTest && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/UniversalGraphicsTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalGraphicsTest/Logs/*.log" + players: + paths: + - "players*/**" Universal_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: name: Universal on Linux_Vulkan_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -231,7 +280,7 @@ Universal_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr - chmod +x TestProjects/UniversalGraphicsTest/utr - cd TestProjects/UniversalGraphicsTest && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/UniversalGraphicsTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/UniversalGraphicsTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -268,3 +317,59 @@ Universal_Linux_Vulkan_editmode_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +Universal_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Universal on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr + - chmod +x TestProjects/UniversalGraphicsTest/utr + - cd TestProjects/UniversalGraphicsTest && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalGraphicsTest/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/universal-linux-vulkan.yml#Build_Universal_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_Universal_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build Universal on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr + - chmod +x TestProjects/UniversalGraphicsTest/utr + - cd TestProjects/UniversalGraphicsTest && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/UniversalGraphicsTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalGraphicsTest/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/universal-osx-metal.yml b/.yamato/universal-osx-metal.yml index 2019db0ced5..f3d02aaa20f 100644 --- a/.yamato/universal-osx-metal.yml +++ b/.yamato/universal-osx-metal.yml @@ -84,7 +84,7 @@ Universal_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/UniversalGraphicsTest/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results/ TestProjects/UniversalGraphicsTest/test-results/ @@ -123,6 +123,35 @@ Universal_OSX_Metal_playmode_XR_mono_Linear_trunk: paths: - "**/test-results/**" - "TestProjects/UniversalGraphicsTest/Logs/*.log" +Universal_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: Universal on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr + - chmod +x TestProjects/UniversalGraphicsTest/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/UniversalGraphicsTest/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results/ TestProjects/UniversalGraphicsTest/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalGraphicsTest/Logs/*.log" Universal_OSX_Metal_Standalone_mono_Linear_CUSTOM-REVISION: name: Universal on OSX_Metal_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -209,7 +238,7 @@ Universal_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/UniversalGraphicsTest/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results/ TestProjects/UniversalGraphicsTest/test-results/ @@ -255,3 +284,36 @@ Universal_OSX_Metal_playmode_XR_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos rerun: always +Universal_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Universal on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalGraphicsTest/utr + - chmod +x TestProjects/UniversalGraphicsTest/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalGraphicsTest && ~/Graphics/TestProjects/UniversalGraphicsTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/UniversalGraphicsTest/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalGraphicsTest/test-results/ TestProjects/UniversalGraphicsTest/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalGraphicsTest/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always diff --git a/.yamato/universal-osx-openglcore.yml b/.yamato/universal-osx-openglcore.yml index 2b522b1c2d3..1fed5d321c6 100644 --- a/.yamato/universal-osx-openglcore.yml +++ b/.yamato/universal-osx-openglcore.yml @@ -45,7 +45,7 @@ Universal_OSX_OpenGLCore_playmode_cache_mono_Linear_trunk: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/UniversalGraphicsTest && unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only - - cd TestProjects/UniversalGraphicsTest && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/UniversalGraphicsTest && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -116,7 +116,7 @@ Universal_OSX_OpenGLCore_playmode_cache_mono_Linear_CUSTOM-REVISION: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/UniversalGraphicsTest && unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/UniversalGraphicsTest && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/UniversalGraphicsTest && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: diff --git a/.yamato/universal-win-dx11.yml b/.yamato/universal-win-dx11.yml index fca8c1716a4..03c925c9a26 100644 --- a/.yamato/universal-win-dx11.yml +++ b/.yamato/universal-win-dx11.yml @@ -107,7 +107,7 @@ Universal_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr + - chmod +x TestProjects/UniversalHybridTest/utr + - cd TestProjects/UniversalHybridTest && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/UniversalHybridTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalHybridTest/Logs/*.log" + players: + paths: + - "players*/**" Universal_Hybrid_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: name: Universal_Hybrid on Linux_Vulkan_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -207,7 +256,7 @@ Universal_Hybrid_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr - chmod +x TestProjects/UniversalHybridTest/utr - cd TestProjects/UniversalHybridTest && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/UniversalHybridTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/UniversalHybridTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --compilation-errors-as-warnings --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -216,3 +265,59 @@ Universal_Hybrid_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +Universal_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Universal_Hybrid on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr + - chmod +x TestProjects/UniversalHybridTest/utr + - cd TestProjects/UniversalHybridTest && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalHybridTest/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/universal_hybrid-linux-vulkan.yml#Build_Universal_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_Universal_Hybrid_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build Universal_Hybrid on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr + - chmod +x TestProjects/UniversalHybridTest/utr + - cd TestProjects/UniversalHybridTest && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/UniversalHybridTest && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalHybridTest/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/universal_hybrid-osx-metal.yml b/.yamato/universal_hybrid-osx-metal.yml index 4cb7fe0f08a..a04e96dfdc4 100644 --- a/.yamato/universal_hybrid-osx-metal.yml +++ b/.yamato/universal_hybrid-osx-metal.yml @@ -84,7 +84,36 @@ Universal_Hybrid_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/UniversalHybridTest/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results/ TestProjects/UniversalHybridTest/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalHybridTest/Logs/*.log" +Universal_Hybrid_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: Universal_Hybrid on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr + - chmod +x TestProjects/UniversalHybridTest/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/UniversalHybridTest/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results/ TestProjects/UniversalHybridTest/test-results/ @@ -180,7 +209,40 @@ Universal_Hybrid_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --compilation-errors-as-warnings --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/UniversalHybridTest/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results/ TestProjects/UniversalHybridTest/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/UniversalHybridTest/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always +Universal_Hybrid_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Universal_Hybrid on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/UniversalHybridTest/utr + - chmod +x TestProjects/UniversalHybridTest/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/UniversalHybridTest && ~/Graphics/TestProjects/UniversalHybridTest/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/UniversalHybridTest --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/UniversalHybridTest/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/UniversalHybridTest/test-results/ TestProjects/UniversalHybridTest/test-results/ diff --git a/.yamato/universal_hybrid-win-dx11.yml b/.yamato/universal_hybrid-win-dx11.yml index 489f0614647..28e8fcf602d 100644 --- a/.yamato/universal_hybrid-win-dx11.yml +++ b/.yamato/universal_hybrid-win-dx11.yml @@ -106,12 +106,63 @@ Universal_Hybrid_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr + - chmod +x TestProjects/VisualEffectGraph_HDRP/utr + - cd TestProjects/VisualEffectGraph_HDRP && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/VisualEffectGraph_HDRP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" + players: + paths: + - "players*/**" VFX_HDRP_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: name: VFX_HDRP on Linux_Vulkan_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -231,7 +280,7 @@ VFX_HDRP_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr - chmod +x TestProjects/VisualEffectGraph_HDRP/utr - cd TestProjects/VisualEffectGraph_HDRP && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/VisualEffectGraph_HDRP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/VisualEffectGraph_HDRP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -268,3 +317,59 @@ VFX_HDRP_Linux_Vulkan_editmode_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +VFX_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: VFX_HDRP on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr + - chmod +x TestProjects/VisualEffectGraph_HDRP/utr + - cd TestProjects/VisualEffectGraph_HDRP && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/vfx_hdrp-linux-vulkan.yml#Build_VFX_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_VFX_HDRP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build VFX_HDRP on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr + - chmod +x TestProjects/VisualEffectGraph_HDRP/utr + - cd TestProjects/VisualEffectGraph_HDRP && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/VisualEffectGraph_HDRP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/vfx_hdrp-osx-metal.yml b/.yamato/vfx_hdrp-osx-metal.yml index 3d9c1ea1d8e..44be3ae537a 100644 --- a/.yamato/vfx_hdrp-osx-metal.yml +++ b/.yamato/vfx_hdrp-osx-metal.yml @@ -84,7 +84,7 @@ VFX_HDRP_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/VisualEffectGraph_HDRP/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results/ TestProjects/VisualEffectGraph_HDRP/test-results/ @@ -123,6 +123,35 @@ VFX_HDRP_OSX_Metal_playmode_XR_mono_Linear_trunk: paths: - "**/test-results/**" - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" +VFX_HDRP_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: VFX_HDRP on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr + - chmod +x TestProjects/VisualEffectGraph_HDRP/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/VisualEffectGraph_HDRP/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results/ TestProjects/VisualEffectGraph_HDRP/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" VFX_HDRP_OSX_Metal_Standalone_mono_Linear_CUSTOM-REVISION: name: VFX_HDRP on OSX_Metal_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -209,7 +238,7 @@ VFX_HDRP_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/VisualEffectGraph_HDRP/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results/ TestProjects/VisualEffectGraph_HDRP/test-results/ @@ -255,3 +284,36 @@ VFX_HDRP_OSX_Metal_playmode_XR_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos rerun: always +VFX_HDRP_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: VFX_HDRP on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_HDRP/utr + - chmod +x TestProjects/VisualEffectGraph_HDRP/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_HDRP && ~/Graphics/TestProjects/VisualEffectGraph_HDRP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP --timeout=1200 --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/VisualEffectGraph_HDRP/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_HDRP/test-results/ TestProjects/VisualEffectGraph_HDRP/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_HDRP/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always diff --git a/.yamato/vfx_hdrp-win-dx11.yml b/.yamato/vfx_hdrp-win-dx11.yml index f922a6bc150..65467328996 100644 --- a/.yamato/vfx_hdrp-win-dx11.yml +++ b/.yamato/vfx_hdrp-win-dx11.yml @@ -109,7 +109,7 @@ VFX_HDRP_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr + - chmod +x TestProjects/VisualEffectGraph_URP/utr + - cd TestProjects/VisualEffectGraph_URP && sudo unity-downloader-cli -u {{editor_versions.trunk_latest_internal.linux.revision}} -c editor -c il2cpp --wait --published-only + - cd TestProjects/VisualEffectGraph_URP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_URP/Logs/*.log" + players: + paths: + - "players*/**" VFX_URP_Linux_Vulkan_Standalone_mono_Linear_CUSTOM-REVISION: name: VFX_URP on Linux_Vulkan_Standalone_mono_Linear on version CUSTOM-REVISION agent: @@ -207,7 +256,7 @@ VFX_URP_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr - chmod +x TestProjects/VisualEffectGraph_URP/utr - cd TestProjects/VisualEffectGraph_URP && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/VisualEffectGraph_URP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/VisualEffectGraph_URP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-force-vulkan" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -216,3 +265,59 @@ VFX_URP_Linux_Vulkan_playmode_cache_mono_Linear_CUSTOM-REVISION: dependencies: - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux rerun: always +VFX_URP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: VFX_URP on Linux_Vulkan_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::VM::GPU + image: package-ci/ubuntu:stable + flavor: b1.large + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr + - chmod +x TestProjects/VisualEffectGraph_URP/utr + - cd TestProjects/VisualEffectGraph_URP && ./utr --artifacts_path=test-results --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneLinux64 --player-connection-ip=auto --player-load-path=../../players --reruncount=2 --suite=playmode --timeout=1200 --zero-tests-are-ok=1 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_URP/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always + - path: .yamato/vfx_urp-linux-vulkan.yml#Build_VFX_URP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION + rerun: always +Build_VFX_URP_Linux_Vulkan_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: Build VFX_URP on Linux_Vulkan_mono_Linear_Standalone_cache_build_Player on version CUSTOM-REVISION + agent: + type: Unity::VM + image: package-ci/ubuntu:stable + flavor: b1.xlarge + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -L https://artifactory.prd.it.unity3d.com/artifactory/api/gpg/key/public | sudo apt-key add - + - sudo sh -c "echo 'deb https://artifactory.prd.it.unity3d.com/artifactory/unity-apt-local bionic main' > /etc/apt/sources.list.d/unity.list" + - sudo apt update + - sudo apt install unity-downloader-cli + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr + - chmod +x TestProjects/VisualEffectGraph_URP/utr + - cd TestProjects/VisualEffectGraph_URP && sudo unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only + - cd TestProjects/VisualEffectGraph_URP && DISPLAY=:0.0 ./utr --artifacts_path=test-results --build-only --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --extra-editor-arg="-executemethod" --extra-editor-arg="SetupProject.ApplySettings" --extra-editor-arg="vulkan" --extra-editor-arg="Linear" --extra-editor-arg="-playergraphicsapi=Vulkan" --platform=StandaloneLinux64 --player-save-path=../../players --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --timeout=3000 + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_URP/Logs/*.log" + players: + paths: + - "players*/**" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:linux + rerun: always diff --git a/.yamato/vfx_urp-osx-metal.yml b/.yamato/vfx_urp-osx-metal.yml index bfbb73fbcd3..cb34cd76884 100644 --- a/.yamato/vfx_urp-osx-metal.yml +++ b/.yamato/vfx_urp-osx-metal.yml @@ -84,7 +84,36 @@ VFX_URP_OSX_Metal_playmode_cache_mono_Linear_trunk: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/VisualEffectGraph_URP/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results/ TestProjects/VisualEffectGraph_URP/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_URP/Logs/*.log" +VFX_URP_OSX_Metal_Standalone_cache_mono_Linear_trunk: + name: VFX_URP on OSX_Metal_Standalone_cache_mono_Linear on version trunk + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr + - chmod +x TestProjects/VisualEffectGraph_URP/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/VisualEffectGraph_URP/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results/ TestProjects/VisualEffectGraph_URP/test-results/ @@ -180,7 +209,40 @@ VFX_URP_OSX_Metal_playmode_cache_mono_Linear_CUSTOM-REVISION: - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' - |5- - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --zero-tests-are-ok=1" + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=/Users/bokken/.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --zero-tests-are-ok=1" + UTR_RESULT=$? + mkdir -p TestProjects/VisualEffectGraph_URP/test-results/ + scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results/ TestProjects/VisualEffectGraph_URP/test-results/ + exit $UTR_RESULT + artifacts: + logs: + paths: + - "**/test-results/**" + - "TestProjects/VisualEffectGraph_URP/Logs/*.log" + dependencies: + - path: .yamato/_editor_priming.yml#editor:priming:CUSTOM-REVISION:macos + rerun: always +VFX_URP_OSX_Metal_Standalone_cache_mono_Linear_CUSTOM-REVISION: + name: VFX_URP on OSX_Metal_Standalone_cache_mono_Linear on version CUSTOM-REVISION + agent: + type: Unity::metal::macmini + image: slough-ops/macos-10.14-xcode:stable + flavor: m1.mac + variables: + UPM_REGISTRY: https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates + CUSTOM_REVISION: custom_revision_not_set + UTR_VERSION: "current" + TEST_FILTER: .* + commands: + - curl -s https://artifactory.internal.unity3d.com/core-automation/tools/utr-standalone/utr --output TestProjects/VisualEffectGraph_URP/utr + - chmod +x TestProjects/VisualEffectGraph_URP/utr + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "bash -lc 'pip3 install unity-downloader-cli --user --index-url https://artifactory.prd.it.unity3d.com/artifactory/api/pypi/pypi/simple --upgrade'" + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r $YAMATO_SOURCE_DIR bokken@$BOKKEN_DEVICE_IP:~/Graphics + - scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" ~/.ssh/id_rsa_macmini bokken@$BOKKEN_DEVICE_IP:~/.ssh/id_rsa_macmini + - ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP '$(python3 -m site --user-base)/bin/unity-downloader-cli --source-file ~/Graphics/unity_revision.txt -c editor -c il2cpp --wait --published-only' + - |5- + + ssh -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" bokken@$BOKKEN_DEVICE_IP "export UPM_REGISTRY=https://artifactory-slo.bf.unity3d.com/artifactory/api/npm/upm-candidates; echo \$UPM_REGISTRY; cd ~/Graphics/TestProjects/VisualEffectGraph_URP && ~/Graphics/TestProjects/VisualEffectGraph_URP/utr --artifacts_path=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-enableCacheServer" --platform=StandaloneOSX --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP --timeout=1200 --zero-tests-are-ok=1" UTR_RESULT=$? mkdir -p TestProjects/VisualEffectGraph_URP/test-results/ scp -i ~/.ssh/id_rsa_macmini -o "StrictHostKeyChecking=no" -r bokken@$BOKKEN_DEVICE_IP:/Users/bokken/Graphics/TestProjects/VisualEffectGraph_URP/test-results/ TestProjects/VisualEffectGraph_URP/test-results/ diff --git a/.yamato/vfx_urp-osx-openglcore.yml b/.yamato/vfx_urp-osx-openglcore.yml index 7923c16d2b1..c359450283e 100644 --- a/.yamato/vfx_urp-osx-openglcore.yml +++ b/.yamato/vfx_urp-osx-openglcore.yml @@ -45,7 +45,7 @@ VFX_URP_OSX_OpenGLCore_playmode_cache_mono_Linear_trunk: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/VisualEffectGraph_URP && unity-downloader-cli -u {{editor_versions.trunk_latest_internal.macos.revision}} -c editor -c il2cpp --wait --published-only - - cd TestProjects/VisualEffectGraph_URP && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/VisualEffectGraph_URP && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: @@ -94,7 +94,7 @@ VFX_URP_OSX_OpenGLCore_playmode_cache_mono_Linear_CUSTOM-REVISION: - brew tap --force-auto-update unity/unity git@github.cds.internal.unity3d.com:unity/homebrew-unity.git - brew install unity-downloader-cli - cd TestProjects/VisualEffectGraph_URP && unity-downloader-cli --source-file ../../unity_revision.txt -c editor -c il2cpp --wait --published-only - - cd TestProjects/VisualEffectGraph_URP && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload true" --extra-editor-arg="-cacheServerEnableUpload true" --extra-editor-arg="-cacheServerEndpoint cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 + - cd TestProjects/VisualEffectGraph_URP && ./utr --artifacts_path=test-results --editor-location=.Editor --extra-editor-arg="-adb2" --extra-editor-arg="-cacheServerEnableDownload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEnableUpload" --extra-editor-arg="true" --extra-editor-arg="-cacheServerEndpoint" --extra-editor-arg="cacheserver-slo.hq.unity3d.com" --extra-editor-arg="-cacheServerNamespacePrefix" --extra-editor-arg="SRP" --extra-editor-arg="-colorspace=Linear" --extra-editor-arg="-enableCacheServer" --reruncount=2 --scripting-backend=Mono2x --suite=playmode --testfilter=$TEST_FILTER --testproject=. --zero-tests-are-ok=1 artifacts: logs: paths: diff --git a/.yamato/vfx_urp-win-dx11.yml b/.yamato/vfx_urp-win-dx11.yml index 70d6e55cae7..d75f535d0ff 100644 --- a/.yamato/vfx_urp-win-dx11.yml +++ b/.yamato/vfx_urp-win-dx11.yml @@ -106,12 +106,63 @@ VFX_URP_Win_DX11_playmode_cache_mono_Linear_trunk: set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= revdate.tmp + set /p GIT_REVISIONDATE= Date: Fri, 15 Jan 2021 10:18:12 +0100 Subject: [PATCH 013/148] Fix undo redo on layered lit editor (#3059) * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * Fix undo redo on layered lit editor * Update CHANGELOG.md Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre --- .../CHANGELOG.md | 1 + .../Material/LayeredLit/LayeredLitGUI.cs | 54 ++++++++++++------- .../Material/UIBlocks/LayerListUIBlock.cs | 38 +++++-------- 3 files changed, 48 insertions(+), 45 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index a8e2b7095c5..d8ffdbf0a79 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed side effect on styles during compositor rendering. - Fixed size and spacing of compositor info boxes (case 1305652). - Fixed spacing of UI widgets in the Graphics Compositor (case 1305638). +- Fixed undo-redo on layered lit editor. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs index d9083dba157..fbc15551b18 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs @@ -13,6 +13,7 @@ namespace UnityEditor.Rendering.HighDefinition internal struct SerializeableGUIDs { public string[] GUIDArray; + public bool[] withUV; } /// @@ -254,37 +255,27 @@ public static void SynchronizeAllLayers(Material material) AssetImporter materialImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(material.GetInstanceID())); Material[] layers = null; + bool[] withUV = null; // Material importer can be null when the selected material doesn't exists as asset (Material saved inside the scene) if (materialImporter != null) - InitializeMaterialLayers(material, ref layers); + InitializeMaterialLayers(material, ref layers, ref withUV); // We could have no userData in the assets, so test if we have load something - if (layers != null) + if (layers != null && withUV != null) { for (int i = 0; i < layerCount; ++i) { - SynchronizeLayerProperties(material, layers, i, true); + SynchronizeLayerProperties(material, i, layers[i], withUV[i]); } } } - public static void SynchronizeAllLayersProperties(Material material, Material[] materialLayers, bool excludeUVMappingProperties) - { - int numLayer = material.GetLayerCount(); - - for (int i = 0; i < numLayer; ++i) - { - SynchronizeLayerProperties(material, materialLayers, i, excludeUVMappingProperties); - } - } - // This function will look for all referenced lit material, and assign value from Lit to layered lit layers. // This is based on the naming of the variables, i.E BaseColor will match BaseColor0, if a properties shouldn't be override // put the name in the exclusionList below - public static void SynchronizeLayerProperties(Material material, Material[] layers, int layerIndex, bool excludeUVMappingProperties) + public static void SynchronizeLayerProperties(Material material, int layerIndex, Material layerMaterial, bool includeUVMappingProperties) { - Material layerMaterial = layers[layerIndex]; string[] exclusionList = { kTexWorldScale, kUVBase, kUVMappingMask, kUVDetail, kUVDetailsMappingMask }; if (layerMaterial != null) @@ -296,7 +287,7 @@ public static void SynchronizeLayerProperties(Material material, Material[] laye string propertyName = ShaderUtil.GetPropertyName(layerShader, i); string layerPropertyName = propertyName + layerIndex; - if (!exclusionList.Contains(propertyName) || !excludeUVMappingProperties) + if (includeUVMappingProperties || !exclusionList.Contains(propertyName)) { if (material.HasProperty(layerPropertyName)) { @@ -322,7 +313,7 @@ public static void SynchronizeLayerProperties(Material material, Material[] laye case ShaderUtil.ShaderPropertyType.TexEnv: { material.SetTexture(layerPropertyName, layerMaterial.GetTexture(propertyName)); - if (!excludeUVMappingProperties) + if (includeUVMappingProperties) { material.SetTextureOffset(layerPropertyName, layerMaterial.GetTextureOffset(propertyName)); material.SetTextureScale(layerPropertyName, layerMaterial.GetTextureScale(propertyName)); @@ -338,10 +329,14 @@ public static void SynchronizeLayerProperties(Material material, Material[] laye // We use the user data to save a string that represent the referenced lit material // so we can keep reference during serialization - public static void InitializeMaterialLayers(Material material, ref Material[] layers) + public static void InitializeMaterialLayers(Material material, ref Material[] layers, ref bool[] withUV) { AssetImporter materialImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(material.GetInstanceID())); + InitializeMaterialLayers(materialImporter, ref layers, ref withUV); + } + public static void InitializeMaterialLayers(AssetImporter materialImporter, ref Material[] layers, ref bool[] withUV) + { if (materialImporter.userData != string.Empty) { SerializeableGUIDs layersGUID = JsonUtility.FromJson(materialImporter.userData); @@ -353,19 +348,40 @@ public static void InitializeMaterialLayers(Material material, ref Material[] la layers[i] = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(layersGUID.GUIDArray[i]), typeof(Material)) as Material; } } + if (layersGUID.withUV.Length > 0) + { + withUV = new bool[layersGUID.withUV.Length]; + for (int i = 0; i < layersGUID.withUV.Length; ++i) + withUV[i] = layersGUID.withUV[i]; + } + } + else + { + if (layers != null) + { + for (int i = 0; i < layers.Length; ++i) + layers[i] = null; + } + if (withUV != null) + { + for (int i = 0; i < withUV.Length; ++i) + withUV[i] = true; + } } } - public static void SaveMaterialLayers(Material material, Material[] materialLayers) + public static void SaveMaterialLayers(Material material, Material[] materialLayers, bool[] withUV) { AssetImporter materialImporter = AssetImporter.GetAtPath(AssetDatabase.GetAssetPath(material.GetInstanceID())); SerializeableGUIDs layersGUID; layersGUID.GUIDArray = new string[materialLayers.Length]; + layersGUID.withUV = new bool[withUV.Length]; for (int i = 0; i < materialLayers.Length; ++i) { if (materialLayers[i] != null) layersGUID.GUIDArray[i] = AssetDatabase.AssetPathToGUID(AssetDatabase.GetAssetPath(materialLayers[i].GetInstanceID())); + layersGUID.withUV[i] = withUV[i]; } materialImporter.userData = JsonUtility.ToJson(layersGUID); diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LayerListUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LayerListUIBlock.cs index 01529ff8e52..ff91945e624 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LayerListUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LayerListUIBlock.cs @@ -35,7 +35,7 @@ internal class Styles MaterialProperty layerCount = null; ExpandableBit m_ExpandableBit; - bool[] m_WithUV; + bool[] m_WithUV = new bool[kMaxLayerCount]; Material[] m_MaterialLayers = new Material[kMaxLayerCount]; AssetImporter m_MaterialImporter; @@ -69,7 +69,6 @@ void UpdateEditorExpended(int layerNumber) public LayerListUIBlock(ExpandableBit expandableBit) { m_ExpandableBit = expandableBit; - m_WithUV = new bool[] { true, true, true, true }; } /// @@ -86,25 +85,7 @@ public override void LoadMaterialProperties() // Material importer can be null when the selected material doesn't exists as asset (Material saved inside the scene) if (m_MaterialImporter != null) - InitializeMaterialLayers(m_MaterialImporter, ref m_MaterialLayers); - } - - // We use the user data to save a string that represent the referenced lit material - // so we can keep reference during serialization - static void InitializeMaterialLayers(AssetImporter materialImporter, ref Material[] layers) - { - if (materialImporter.userData != string.Empty) - { - SerializeableGUIDs layersGUID = JsonUtility.FromJson(materialImporter.userData); - if (layersGUID.GUIDArray.Length > 0) - { - layers = new Material[layersGUID.GUIDArray.Length]; - for (int i = 0; i < layersGUID.GUIDArray.Length; ++i) - { - layers[i] = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(layersGUID.GUIDArray[i]), typeof(Material)) as Material; - } - } - } + LayeredLitGUI.InitializeMaterialLayers(m_MaterialImporter, ref m_MaterialLayers, ref m_WithUV); } /// @@ -153,19 +134,18 @@ void DrawLayerListGUI() { using (new EditorGUILayout.HorizontalScope()) { - EditorGUI.BeginChangeCheck(); - Rect lineRect = GUILayoutUtility.GetRect(1, EditorGUIUtility.singleLineHeight); Rect colorRect = new Rect(lineRect.x + 17f, lineRect.y + 7f, colorWidth, colorWidth); Rect materialRect = new Rect(lineRect.x + padding + colorRect.width, lineRect.y, lineRect.width - UVWidth - padding - 3 - resetButtonWidth + endOffset, lineRect.height); Rect uvRect = new Rect(lineRect.x + lineRect.width - resetButtonWidth - padding - UVWidth - endOffset, lineRect.y, UVWidth, lineRect.height); Rect resetRect = new Rect(lineRect.x + lineRect.width - resetButtonWidth - endOffset, lineRect.y, resetButtonWidth, lineRect.height); + EditorGUI.BeginChangeCheck(); m_MaterialLayers[layerIndex] = EditorGUI.ObjectField(materialRect, Styles.layerLabels[layerIndex], m_MaterialLayers[layerIndex], typeof(Material), allowSceneObjects: true) as Material; if (EditorGUI.EndChangeCheck()) { Undo.RecordObjects(new UnityEngine.Object[] { material, m_MaterialImporter }, "Change layer material"); - LayeredLitGUI.SynchronizeLayerProperties(material, m_MaterialLayers, layerIndex, true); + LayeredLitGUI.SynchronizeLayerProperties(material, layerIndex, m_MaterialLayers[layerIndex], m_WithUV[layerIndex]); layersChanged = true; // Update external reference. @@ -178,12 +158,18 @@ void DrawLayerListGUI() EditorGUI.DrawRect(colorRect, kLayerColors[layerIndex]); + EditorGUI.BeginChangeCheck(); m_WithUV[layerIndex] = EditorGUI.Toggle(uvRect, m_WithUV[layerIndex]); + if (EditorGUI.EndChangeCheck()) + { + Undo.RecordObjects(new UnityEngine.Object[] { material, m_MaterialImporter }, "Change layer material"); + layersChanged = true; + } if (GUI.Button(resetRect, GUIContent.none)) { Undo.RecordObjects(new UnityEngine.Object[] { material, m_MaterialImporter }, "Reset layer material"); - LayeredLitGUI.SynchronizeLayerProperties(material, m_MaterialLayers, layerIndex, !m_WithUV[layerIndex]); + LayeredLitGUI.SynchronizeLayerProperties(material, layerIndex, m_MaterialLayers[layerIndex], m_WithUV[layerIndex]); layersChanged = true; } @@ -212,7 +198,7 @@ void DrawLayerListGUI() // SaveAssetsProcessor the referenced material in the users data if (m_MaterialImporter != null) - LayeredLitGUI.SaveMaterialLayers(material, m_MaterialLayers); + LayeredLitGUI.SaveMaterialLayers(material, m_MaterialLayers, m_WithUV); // We should always do this call at the end materialEditor.serializedObject.ApplyModifiedProperties(); From 9c216c85c5e1eec6707a94ca1e06e2df9a697b3e Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Fri, 15 Jan 2021 11:12:35 +0100 Subject: [PATCH 014/148] [HDRP] Added Vulkan install in system requirements (#3122) * Added vulkan install in system requirements * Reworded content Co-authored-by: Lewis Jordan --- .../Documentation~/System-Requirements.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md b/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md index 6add0640630..1f90455530b 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/System-Requirements.md @@ -37,7 +37,7 @@ HRDP is only compatible with the following platforms: - MacOS (minimum version 10.13) using Metal graphics - Linux and Windows platforms with Vulkan -**Note: HDRP only works on these platforms if the device used supports Compute Shaders. HDRP does not support OpenGL or OpenGL ES devices.** +**Note: HDRP only works on these platforms if the device used supports Compute Shaders. HDRP does not support OpenGL or OpenGL ES devices. On Linux, Vulkan may not be installed by default. In that case you need to install it manually to run HDRP.** ### Ray tracing From 8dbde86d66635510a049885a758eb9ca78ddef4c Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Fri, 15 Jan 2021 11:54:19 +0100 Subject: [PATCH 015/148] [HDRP] Fix issue with compositor related custom passes (#3055) * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * Fix issue with compositor related custom passes still active after disabling the compositor Co-authored-by: JulienIgnace-Unity Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Antoine Lelievre --- .../CHANGELOG.md | 1 + .../Runtime/Compositor/AlphaInjection.cs | 2 + .../Runtime/Compositor/ChromaKeying.cs | 2 + .../Runtime/Compositor/CompositionManager.cs | 72 +++++++++++++++---- 4 files changed, 62 insertions(+), 15 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5fd18cb6302..abf1ddebe2f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed spacing of UI widgets in the Graphics Compositor (case 1305638). - Fixed undo-redo on layered lit editor. - Fixed tesselation culling, big triangles using lit tesselation shader would dissapear when camera is too close to them (case 1299116) +- Fixed issue with compositor related custom passes still active after disabling the compositor (case 1305330) ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs index 8e7ee09e4eb..4eed8e821fb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs @@ -27,6 +27,8 @@ public override void Setup() var hdrpAsset = HDRenderPipeline.defaultAsset; if (hdrpAsset != null) m_Material = CoreUtils.CreateEngineMaterial(hdrpAsset.renderPipelineResources.shaders.alphaInjectionPS); + + name = "AlphaInjection"; // Needed to get a scope name in RenderDoc captures } public override void Render(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandle destination) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs index 42241172924..03e13a689e1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs @@ -30,6 +30,8 @@ public override void Setup() var hdrpAsset = HDRenderPipeline.defaultAsset; if (hdrpAsset != null) m_Material = CoreUtils.CreateEngineMaterial(hdrpAsset.renderPipelineResources.shaders.chromaKeyingPS); + + name = "ChromaKeying"; // Needed to get a scope name in RenderDoc captures } public override void Render(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandle destination) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs index 103a3bc93f7..a475ebe798a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs @@ -63,7 +63,7 @@ public bool enableOutput { m_OutputCamera.enabled = value; - // also change the layers + // Aside from the output compositor camera, we also have to change the cameras of the layers foreach (var layer in m_InputLayers) { if (layer.camera && layer.isUsingACameraClone) @@ -72,11 +72,22 @@ public bool enableOutput } else { - // The target texture was managed by the compositor, reset it so the user can se the camera output + // The target texture was managed by the compositor, reset it so the user can see the camera output if (layer.camera && value == false) layer.camera.targetTexture = null; } } + + // Toggle the compositor-related custom passes + var hdPipeline = RenderPipelineManager.currentPipeline as HDRenderPipeline; + if (value) + { + RegisterCustomPasses(hdPipeline); + } + else + { + UnRegisterCustomPasses(hdPipeline); + } } } } @@ -186,19 +197,7 @@ bool ValidatePipeline() m_AlphaSupport = AlphaChannelSupport.Rendering; } - int indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(ChromaKeying).AssemblyQualifiedName); - if (indx < 0) - { - //Debug.Log("Registering chroma keying pass for the HDRP pipeline"); - hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(ChromaKeying).AssemblyQualifiedName); - } - - indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(AlphaInjection).AssemblyQualifiedName); - if (indx < 0) - { - //Debug.Log("Registering alpha injection pass for the HDRP pipeline"); - hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(AlphaInjection).AssemblyQualifiedName); - } + RegisterCustomPasses(hdPipeline); return true; } return false; @@ -920,5 +919,48 @@ static internal RenderTexture GetClearDepthForStackedCamera(HDCamera hdCamera) } return null; } + + // Register the custom pp passes used by the compositor + static internal void RegisterCustomPasses(HDRenderPipeline hdPipeline) + { + if (hdPipeline == null) + { + return; + } + + // If custom post processes are not registered in the HDRP asset, they are never executed so we have to add them manually + int indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(ChromaKeying).AssemblyQualifiedName); + if (indx < 0) + { + hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(ChromaKeying).AssemblyQualifiedName); + } + + indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(AlphaInjection).AssemblyQualifiedName); + if (indx < 0) + { + hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(AlphaInjection).AssemblyQualifiedName); + } + } + + // Unregister the custom pp passes used by the compositor + static internal void UnRegisterCustomPasses(HDRenderPipeline hdPipeline) + { + if (hdPipeline == null) + { + return; + } + + int indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(ChromaKeying).AssemblyQualifiedName); + if (indx >= 0) + { + hdPipeline.asset.beforePostProcessCustomPostProcesses.Remove(typeof(ChromaKeying).AssemblyQualifiedName); + } + + indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(AlphaInjection).AssemblyQualifiedName); + if (indx >= 0) + { + hdPipeline.asset.beforePostProcessCustomPostProcesses.Remove(typeof(AlphaInjection).AssemblyQualifiedName); + } + } } } From a5a659080715d0ac33b81833a120437f875d224d Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Fri, 15 Jan 2021 12:16:03 +0100 Subject: [PATCH 016/148] Fixed some render texture leaks. (#3050) * Fixed Render Graph immediate mode. (#3033) Co-authored-by: Sebastien Lagarde * Fix issue with shadow mask and area lights (#3019) * Not checking NdotL since it's not really valid for area lights (We have multiple valid light directions, not one) * Changelog Co-authored-by: sebastienlagarde * Fix issue with capture callback (now includes post processing results) (#3035) Co-authored-by: sebastienlagarde * [HDRP] Fix decal draw order for ShaderGraph decal materials (#3018) * Fixed ShaderGraph decal draw order * Updated changelog Co-authored-by: sebastienlagarde * Fixed various Look Dev issues after exiting Playmode (#2956) * Fixed access to invalid Contexts references after exiting playmode. * Fixed comparison gizmo after playmode. * Fixes from PR feedback * Fixed a few render texture memory leaks. * Update changelog * Added comment * Update CHANGELOG.md Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: Antoine Lelievre --- .../RenderGraph/RenderGraphResourceComputeBuffer.cs | 2 +- .../Runtime/RenderGraph/RenderGraphResourcePool.cs | 9 +++++++++ .../Runtime/RenderGraph/RenderGraphResourceTexture.cs | 2 +- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Camera/HDCamera.cs | 2 ++ .../Runtime/RenderPipeline/Utility/Texture3DAtlas.cs | 3 ++- 6 files changed, 16 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceComputeBuffer.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceComputeBuffer.cs index 6455ba5aba9..15c167c8ec9 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceComputeBuffer.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceComputeBuffer.cs @@ -203,7 +203,7 @@ override public void PurgeUnusedResources(int currentFrameIndex) var list = kvp.Value; list.RemoveAll(obj => { - if (obj.frameIndex < s_CurrentFrameIndex) + if (ShouldReleaseResource(obj.frameIndex, s_CurrentFrameIndex)) { obj.resource.Release(); return true; diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs index bfc3f65d116..00c3e0d4898 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs @@ -21,6 +21,7 @@ abstract class RenderGraphResourcePool : IRenderGraphResourcePool where Ty List<(int, Type)> m_FrameAllocatedResources = new List<(int, Type)>(); protected static int s_CurrentFrameIndex; + const int kStaleResourceLifetime = 10; // Release the GPU resource itself protected abstract void ReleaseInternalResource(Type res); @@ -123,5 +124,13 @@ public override void LogResources(RenderGraphLogger logger) foreach (var element in allocationList) logger.LogLine("[{0}]\t[{1:#.##} MB]\t{2}", index++, element.size / 1024.0f, element.name); } + + static protected bool ShouldReleaseResource(int lastUsedFrameIndex, int currentFrameIndex) + { + // We need to have a delay of a few frames before releasing resources for good. + // Indeed, when having multiple off-screen cameras, they are rendered in a separate SRP render call and thus with a different frame index than main camera + // This causes texture to be deallocated/reallocated every frame if the two cameras don't need the same buffers. + return (lastUsedFrameIndex + kStaleResourceLifetime) < currentFrameIndex; + } } } diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceTexture.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceTexture.cs index dd2056ed7c8..768763c681d 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceTexture.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceTexture.cs @@ -406,7 +406,7 @@ override public void PurgeUnusedResources(int currentFrameIndex) var list = kvp.Value; list.RemoveAll(obj => { - if (obj.frameIndex < s_CurrentFrameIndex) + if (ShouldReleaseResource(obj.frameIndex, s_CurrentFrameIndex)) { obj.resource.Release(); return true; diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index abf1ddebe2f..15c956b6ccc 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed undo-redo on layered lit editor. - Fixed tesselation culling, big triangles using lit tesselation shader would dissapear when camera is too close to them (case 1299116) - Fixed issue with compositor related custom passes still active after disabling the compositor (case 1305330) +- Fixed some render texture leaks. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). 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 7ecf73340e1..34305f761c2 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 @@ -1365,6 +1365,8 @@ Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewCon void Dispose() { + HDRenderPipeline.DestroyVolumetricHistoryBuffers(this); + VolumeManager.instance.DestroyStack(volumeStack); if (m_HistoryRTSystem != null) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/Texture3DAtlas.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/Texture3DAtlas.cs index 1d89cf6e6ed..1878d8beafb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/Texture3DAtlas.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/Texture3DAtlas.cs @@ -525,7 +525,8 @@ void GenerateMip(CommandBuffer cmd, Texture source, Vector3Int sourceOffset, int public void Release() { ClearTextures(); - m_Atlas.Release(); + CoreUtils.Destroy(m_Atlas); + CoreUtils.Destroy(m_MipMapGenerationTemp); } public static long GetApproxCacheSizeInByte(int elementSize, int elementCount, GraphicsFormat format, bool hasMipMaps) From 229f3e8e7e3f3a9a0e504eb88e0e699bb87ffda6 Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Fri, 15 Jan 2021 12:30:18 +0100 Subject: [PATCH 017/148] Hd/fix wizard runtime resources (#3123) * Fix runtim resource wizard fix regression * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Editor/Wizard/HDWizard.Configuration.cs | 12 ++++++------ 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 15c956b6ccc..febe313733e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed tesselation culling, big triangles using lit tesselation shader would dissapear when camera is too close to them (case 1299116) - Fixed issue with compositor related custom passes still active after disabling the compositor (case 1305330) - Fixed some render texture leaks. +- Fixed regression in Wizard that not fix runtime ressource anymore (case 1287627) ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs index 4c7d8375220..f385c47b157 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs @@ -403,15 +403,15 @@ void FixHdrpAssetRuntimeResources(bool fromAsyncUnused) if (hdrpAsset == null) return; - var editorResourcesPath = HDUtils.GetHDRenderPipelinePath() + "Editor/RenderPipelineResources/HDRenderPipelineEditorResources.asset"; - var objs = InternalEditorUtility.LoadSerializedFileAndForget(editorResourcesPath); - hdrpAsset.renderPipelineEditorResources = objs != null && objs.Length > 0 ? objs.First() as HDRenderPipelineEditorResources : null; - if (ResourceReloader.ReloadAllNullIn(HDRenderPipeline.defaultAsset.renderPipelineEditorResources, + var runtimeResourcesPath = HDUtils.GetHDRenderPipelinePath() + "Runtime/RenderPipelineResources/HDRenderPipelineResources.asset"; + var objs = InternalEditorUtility.LoadSerializedFileAndForget(runtimeResourcesPath); + hdrpAsset.renderPipelineResources = objs != null && objs.Length > 0 ? objs.First() as RenderPipelineResources : null; + if (ResourceReloader.ReloadAllNullIn(HDRenderPipeline.defaultAsset.renderPipelineResources, HDUtils.GetHDRenderPipelinePath())) { InternalEditorUtility.SaveToSerializedFileAndForget( - new UnityEngine.Object[] { HDRenderPipeline.defaultAsset.renderPipelineEditorResources }, - editorResourcesPath, + new UnityEngine.Object[] { HDRenderPipeline.defaultAsset.renderPipelineResources }, + runtimeResourcesPath, true); } } From 0a42f9b913265011e7d2202f272545fb1a7b5a40 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Fri, 15 Jan 2021 14:16:38 +0100 Subject: [PATCH 018/148] [HDRP] Fixed lookdev reload bug when viewing a scene object (#3108) * Fixed lookdev reload bug when viewing a scene object * Updated changelog * Re-added lookdev fix Co-authored-by: sebastienlagarde --- .../Editor/LookDev/LookDev.cs | 9 ++++----- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs b/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs index 756dacb06b9..6548aa12bef 100644 --- a/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs +++ b/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs @@ -129,7 +129,10 @@ internal static void Initialize(DisplayWindow window) s_ViewDisplayer = window; s_EnvironmentDisplayer = window; open = true; - ConfigureLookDev(reloadWithTemporaryID: false); + + // Lookdev Initialize can be called when the window is re-created by the editor layout system. + // In that case, the current context won't be null and there might be objects to reload from the temp ID + ConfigureLookDev(reloadWithTemporaryID: s_CurrentContext != null); } [Callbacks.DidReloadScripts] @@ -188,10 +191,6 @@ static void LinkViewDisplayer() s_ViewDisplayer = null; //currentContext = null; - //release editorInstanceIDs - currentContext.GetViewContent(ViewIndex.First).CleanTemporaryObjectIndexes(); - currentContext.GetViewContent(ViewIndex.Second).CleanTemporaryObjectIndexes(); - SaveConfig(); open = false; diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index febe313733e..91fbe79c9c6 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -69,6 +69,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed box light attenuation. - Fixed compilation issues on platforms that don't support XR. - Fixed issue with compute shader stripping for probe volumes variants. +- Fixed a reload bug when using objects from the scene in the lookdev (case 1300916). ### Changed - Removed the material pass probe volumes evaluation mode. From eb1d07499f677c8308fc198b9d5180a0c1ab47af Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Fri, 15 Jan 2021 16:11:57 +0100 Subject: [PATCH 019/148] [HDRP] Fix error in Depth Of Field near radius blur calculation (#3131) * Fix error in Depth Of Field near radius blur calculation * Fix typo Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../PostProcessing/PostProcessSystem.RenderGraph.cs | 5 ++++- .../Runtime/PostProcessing/PostProcessSystem.cs | 9 +++++++-- 3 files changed, 12 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 91fbe79c9c6..6c3c95d0c15 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -23,6 +23,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with compositor related custom passes still active after disabling the compositor (case 1305330) - Fixed some render texture leaks. - Fixed regression in Wizard that not fix runtime ressource anymore (case 1287627) +- Fixed error in Depth Of Field near radius blur calculation (case 1306228). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs index bf1869b7ef9..52848d3862b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs @@ -507,7 +507,10 @@ TextureHandle DepthOfFieldPass(RenderGraph renderGraph, HDCamera hdCamera, Textu passData.fullresCoC = builder.CreateTransientTexture(new TextureDesc(Vector2.one, true, true) { colorFormat = k_CoCFormat, enableRandomWrite = true, name = "Full res CoC" }); - int passCount = Mathf.CeilToInt((passData.parameters.nearMaxBlur + 2f) / 4f); + GetDoFResolutionScale(passData.parameters, out float unused, out float resolutionScale); + float actualNearMaxBlur = passData.parameters.nearMaxBlur * resolutionScale; + int passCount = Mathf.CeilToInt((actualNearMaxBlur + 2f) / 4f); + passData.dilationPingPongRT = TextureHandle.nullHandle; if (passCount > 1) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs index 6d6f68999d4..d1a37c0f329 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -1498,6 +1498,12 @@ DepthOfFieldParameters PrepareDoFParameters(HDCamera camera) return parameters; } + static void GetDoFResolutionScale(in DepthOfFieldParameters dofParameters, out float scale, out float resolutionScale) + { + scale = 1f / (float)dofParameters.resolution; + resolutionScale = (dofParameters.camera.actualHeight / 1080f) * (scale * 2f); + } + // // Reference used: // "A Lens and Aperture Camera Model for Synthetic Image Generation" [Potmesil81] @@ -1551,14 +1557,13 @@ static void DoDepthOfField(in DepthOfFieldParameters dofParameters, CommandBuffe float anamorphism = dofParameters.physicalCameraAnamorphism / 4f; float barrelClipping = dofParameters.physicalCameraBarrelClipping / 3f; - float scale = 1f / (float)dofParameters.resolution; + GetDoFResolutionScale(dofParameters, out float scale, out float resolutionScale); var screenScale = new Vector2(scale, scale); int targetWidth = Mathf.RoundToInt(dofParameters.camera.actualWidth * scale); int targetHeight = Mathf.RoundToInt(dofParameters.camera.actualHeight * scale); cmd.SetGlobalVector(HDShaderIDs._TargetScale, new Vector4((float)dofParameters.resolution, scale, 0f, 0f)); - float resolutionScale = (dofParameters.camera.actualHeight / 1080f) * (scale * 2f); int farSamples = dofParameters.farSampleCount; int nearSamples = dofParameters.nearSampleCount; From 22b5b7f13ed66571fa0139bc8b5ffb6a379f5bc4 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Fri, 15 Jan 2021 19:45:56 +0100 Subject: [PATCH 020/148] [HDRP] Fix GC allocs (#3136) * Fix gc alloc errors * Avoid setting the name of an object during render (gc alloc) * Avoid gc allocs (for real this time) --- .../Runtime/Compositor/AlphaInjection.cs | 2 -- .../Runtime/Compositor/ChromaKeying.cs | 2 -- .../Runtime/Compositor/CompositionManager.cs | 16 ++++++++-------- 3 files changed, 8 insertions(+), 12 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs index 4eed8e821fb..8e7ee09e4eb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/AlphaInjection.cs @@ -27,8 +27,6 @@ public override void Setup() var hdrpAsset = HDRenderPipeline.defaultAsset; if (hdrpAsset != null) m_Material = CoreUtils.CreateEngineMaterial(hdrpAsset.renderPipelineResources.shaders.alphaInjectionPS); - - name = "AlphaInjection"; // Needed to get a scope name in RenderDoc captures } public override void Render(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandle destination) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs index 03e13a689e1..42241172924 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/ChromaKeying.cs @@ -30,8 +30,6 @@ public override void Setup() var hdrpAsset = HDRenderPipeline.defaultAsset; if (hdrpAsset != null) m_Material = CoreUtils.CreateEngineMaterial(hdrpAsset.renderPipelineResources.shaders.chromaKeyingPS); - - name = "ChromaKeying"; // Needed to get a scope name in RenderDoc captures } public override void Render(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandle destination) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs index a475ebe798a..df1272d3647 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs @@ -551,6 +551,10 @@ void OnDestroy() CoreUtils.Destroy(volume); } } + + // We don't need the custom passes anymore + var hdPipeline = RenderPipelineManager.currentPipeline as HDRenderPipeline; + UnRegisterCustomPasses(hdPipeline); } public void AddInputFilterAtLayer(CompositionFilter filter, int index) @@ -929,14 +933,12 @@ static internal void RegisterCustomPasses(HDRenderPipeline hdPipeline) } // If custom post processes are not registered in the HDRP asset, they are never executed so we have to add them manually - int indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(ChromaKeying).AssemblyQualifiedName); - if (indx < 0) + if (!hdPipeline.asset.beforePostProcessCustomPostProcesses.Contains(typeof(ChromaKeying).AssemblyQualifiedName)) { hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(ChromaKeying).AssemblyQualifiedName); } - indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(AlphaInjection).AssemblyQualifiedName); - if (indx < 0) + if (!hdPipeline.asset.beforePostProcessCustomPostProcesses.Contains(typeof(AlphaInjection).AssemblyQualifiedName)) { hdPipeline.asset.beforePostProcessCustomPostProcesses.Add(typeof(AlphaInjection).AssemblyQualifiedName); } @@ -950,14 +952,12 @@ static internal void UnRegisterCustomPasses(HDRenderPipeline hdPipeline) return; } - int indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(ChromaKeying).AssemblyQualifiedName); - if (indx >= 0) + if (hdPipeline.asset.beforePostProcessCustomPostProcesses.Contains(typeof(ChromaKeying).AssemblyQualifiedName)) { hdPipeline.asset.beforePostProcessCustomPostProcesses.Remove(typeof(ChromaKeying).AssemblyQualifiedName); } - indx = hdPipeline.asset.beforePostProcessCustomPostProcesses.FindIndex(x => x == typeof(AlphaInjection).AssemblyQualifiedName); - if (indx >= 0) + if (hdPipeline.asset.beforePostProcessCustomPostProcesses.Contains(typeof(AlphaInjection).AssemblyQualifiedName)) { hdPipeline.asset.beforePostProcessCustomPostProcesses.Remove(typeof(AlphaInjection).AssemblyQualifiedName); } From 8cd8fe61cfd9de0e5caa0258517de7cd241b44fc Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 15 Jan 2021 20:16:40 +0100 Subject: [PATCH 021/148] Revert: Fix 1299233 ies resize bug (#3094) --- .../CHANGELOG.md | 1 - .../Runtime/Lighting/LightCookieManager.cs | 6 ++-- .../Utility/PowerOfTwoTextureAtlas.cs | 29 +------------------ 3 files changed, 4 insertions(+), 32 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 6c3c95d0c15..636edca9a23 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -10,7 +10,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed GC allocations from XR occlusion mesh when using multipass. - Fixed XR depth copy when using MSAA. - Fixed register spilling on FXC in light list shaders. -- Fixed resize IES when already baked in the Atlas 1299233 - Fixed after post process custom pass scale issue when dynamic resolution is enabled (case 1299194). - Fixed an issue with light intensity prefab override application not visible in the inspector (case 1299563). - Fixed Undo/Redo instability of light temperature. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs index fed7f14959a..d2cb31d2e1e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs @@ -341,7 +341,7 @@ public void ReserveSpace(Texture cookieA, Texture cookieB) if (width < k_MinCookieSize || height < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(cookieA, cookieB, width, height)) + if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookieA, cookieB), width, height)) m_2DCookieAtlasNeedsLayouting = true; } @@ -369,7 +369,7 @@ public void ReserveSpaceCube(Texture cookie) if (projectionSize < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(cookie, projectionSize, projectionSize)) + if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookie), projectionSize, projectionSize)) m_2DCookieAtlasNeedsLayouting = true; } @@ -385,7 +385,7 @@ public void ReserveSpaceCube(Texture cookieA, Texture cookieB) if (projectionSize < k_MinCookieSize) return; - if (!m_CookieAtlas.ReserveSpace(cookieA, cookieB, projectionSize, projectionSize)) + if (!m_CookieAtlas.ReserveSpace(m_CookieAtlas.GetTextureID(cookieA, cookieB), projectionSize, projectionSize)) m_2DCookieAtlasNeedsLayouting = true; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs index ed9218ce65e..4d7e0830bc5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/PowerOfTwoTextureAtlas.cs @@ -195,9 +195,6 @@ public bool ReserveSpace(Texture texture) { m_RequestedTextures[texture.GetInstanceID()] = new Vector2Int(texture.width, texture.height); - if (NeedsUpdate(texture)) - return false; - // new texture if (!IsCached(out _, texture)) { @@ -208,34 +205,10 @@ public bool ReserveSpace(Texture texture) return true; } - // pass width and height for CubeMap (use 2*width) & Texture2D (use width) - public bool ReserveSpace(Texture texture, int width, int height) + public bool ReserveSpace(int id, int width, int height) { - int id = GetTextureID(texture); m_RequestedTextures[id] = new Vector2Int(width, height); - if (NeedsUpdate(texture)) - return false; - - // new texture - if (!IsCached(out _, id)) - { - Vector4 scaleBias = Vector4.zero; - if (!AllocateTextureWithoutBlit(id, width, height, ref scaleBias)) - return false; - } - return true; - } - - // pass width and height for CubeMap (use 2*width) & Texture2D (use width) - public bool ReserveSpace(Texture textureA, Texture textureB, int width, int height) - { - int id = GetTextureID(textureA, textureB); - m_RequestedTextures[id] = new Vector2Int(width, height); - - if (NeedsUpdate(textureA, textureB)) - return false; - // new texture if (!IsCached(out _, id)) { From 6dffbc864f3c3803b0ac76e1eaa75c7e4149d640 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Sat, 16 Jan 2021 12:37:06 +0100 Subject: [PATCH 022/148] Hide light shadow near plane gizmo when shadows are disabled (#3114) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Editor/Lighting/HDLightUI.Handles.cs | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c690abb4e01..27b3ae3dafa 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -24,6 +24,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed regression in Wizard that not fix runtime ressource anymore (case 1287627) - Fixed error in Depth Of Field near radius blur calculation (case 1306228). - Fixed a reload bug when using objects from the scene in the lookdev (case 1300916). +- Fixed light gizmo showing shadow near plane when shadows are disabled. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.Handles.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.Handles.cs index 5a449df82d8..10b5e9904ff 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.Handles.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.Handles.cs @@ -528,6 +528,7 @@ static Vector4 DrawOrthoFrustumHandle(Vector4 widthHeightMaxRangeMinRange, bool public static void DrawHandles(HDAdditionalLightData additionalData, Editor owner) { Light light = additionalData.legacyLight; + float shadowNearPlane = light.shadows != LightShadows.None ? additionalData.shadowNearPlane : 0.0f; Color wireframeColorAbove = (owner as HDLightEditor).legacyLightColor; Color handleColorAbove = GetLightHandleColor(wireframeColorAbove); @@ -550,10 +551,10 @@ public static void DrawHandles(HDAdditionalLightData additionalData, Editor owne Vector3 outterAngleInnerAngleRange = new Vector3(light.spotAngle, light.spotAngle * additionalData.innerSpotPercent01, light.range); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = wireframeColorBehind; - DrawSpotlightWireframe(outterAngleInnerAngleRange, additionalData.shadowNearPlane); + DrawSpotlightWireframe(outterAngleInnerAngleRange, shadowNearPlane); Handles.zTest = UnityEngine.Rendering.CompareFunction.LessEqual; Handles.color = wireframeColorAbove; - DrawSpotlightWireframe(outterAngleInnerAngleRange, additionalData.shadowNearPlane); + DrawSpotlightWireframe(outterAngleInnerAngleRange, shadowNearPlane); EditorGUI.BeginChangeCheck(); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = handleColorBehind; @@ -578,10 +579,10 @@ public static void DrawHandles(HDAdditionalLightData additionalData, Editor owne Vector4 aspectFovMaxRangeMinRange = new Vector4(additionalData.aspectRatio, light.spotAngle, light.range); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = wireframeColorBehind; - DrawSpherePortionWireframe(aspectFovMaxRangeMinRange, additionalData.shadowNearPlane); + DrawSpherePortionWireframe(aspectFovMaxRangeMinRange, shadowNearPlane); Handles.zTest = UnityEngine.Rendering.CompareFunction.LessEqual; Handles.color = wireframeColorAbove; - DrawSpherePortionWireframe(aspectFovMaxRangeMinRange, additionalData.shadowNearPlane); + DrawSpherePortionWireframe(aspectFovMaxRangeMinRange, shadowNearPlane); EditorGUI.BeginChangeCheck(); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = handleColorBehind; @@ -606,10 +607,10 @@ public static void DrawHandles(HDAdditionalLightData additionalData, Editor owne Vector4 widthHeightMaxRangeMinRange = new Vector4(additionalData.shapeWidth, additionalData.shapeHeight, light.range); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = wireframeColorBehind; - DrawOrthoFrustumWireframe(widthHeightMaxRangeMinRange, additionalData.shadowNearPlane); + DrawOrthoFrustumWireframe(widthHeightMaxRangeMinRange, shadowNearPlane); Handles.zTest = UnityEngine.Rendering.CompareFunction.LessEqual; Handles.color = wireframeColorAbove; - DrawOrthoFrustumWireframe(widthHeightMaxRangeMinRange, additionalData.shadowNearPlane); + DrawOrthoFrustumWireframe(widthHeightMaxRangeMinRange, shadowNearPlane); EditorGUI.BeginChangeCheck(); Handles.zTest = UnityEngine.Rendering.CompareFunction.Greater; Handles.color = handleColorBehind; From 9ba9620c99f6135c476dca5f1d44728759105859 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Mon, 18 Jan 2021 15:07:33 +0100 Subject: [PATCH 023/148] Hd/fix backplate globalcubemap2 (#3111) * Removed backplate from rendering of lighting cubemap as it did not really work conceptually and caused artefacts. * Update changelog * Remove useless code * Compilation fix. * Update doc * Update Override-HDRI-Sky.md Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Documentation~/Override-HDRI-Sky.md | 4 +- .../Runtime/Sky/HDRISky/HDRISky.shader | 39 ------------------- .../Runtime/Sky/HDRISky/HDRISkyRenderer.cs | 32 +++++++-------- .../Runtime/Sky/SkyManager.cs | 4 +- .../Runtime/Sky/SkyRenderer.cs | 13 ++++++- 6 files changed, 30 insertions(+), 63 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 27b3ae3dafa..152d8418df6 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -91,6 +91,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Changed the clamping approach for RTR and RTGI (in both perf and quality) to improve visual quality. - Changed the warning message for ray traced area shadows (case 1303410). - Disabled specular occlusion for what we consider medium and larger scale ao > 1.25 with a 25cm falloff interval. +- Removed backplate from rendering of lighting cubemap as it did not really work conceptually and caused artefacts. ## [10.3.0] - 2020-12-01 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md index 2d3683706f1..dfe0e97852a 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md @@ -65,4 +65,6 @@ These properties only appear if you enable [more options](More-Options.md). | -**Shadow Tint** | Specifies the color to tint shadows cast onto the backplate. | | - **Reset Color** | Resets the saved **Shadow Tint** for the shadow. HDRP calculates a new default shadow tint when the HDRI changes. | -**Note**: To use ambient occlusion in the backplate, increase the value of the **Direct Lighting Strength** property on the [Ambient Occlusion](Override-Ambient-Occlusion.md) component override. As the backplate does not have global illumination, it can only get ambient occlusion from direct lighting. \ No newline at end of file +**Note**: To use ambient occlusion in the backplate, increase the value of the **Direct Lighting Strength** property on the [Ambient Occlusion](Override-Ambient-Occlusion.md) component override. As the backplate does not have global illumination, it can only get ambient occlusion from direct lighting. + +**Limitation**: The backplate don't affect the Sky lighting (Sky Reflection / Ligthmaps / LightProbes / Ambient Probe). It will not appear with the default sky reflection but only in local reflection probes. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.shader b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.shader index 6920dd77836..48f79b2a2a3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.shader @@ -310,11 +310,6 @@ Shader "Hidden/HDRP/Sky/HDRISky" return results; } - float4 FragBakingBackplate(Varyings input) : SV_Target - { - return RenderBackplate(input, 1.0); - } - float4 FragRenderBackplate(Varyings input) : SV_Target { UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); @@ -338,12 +333,6 @@ Shader "Hidden/HDRP/Sky/HDRISky" return depth; } - float FragBakingBackplateDepth(Varyings input) : SV_Depth - { - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); - return GetDepthWithBackplate(input); - } - float4 FragRenderBackplateDepth(Varyings input, out float depth : SV_Depth) : SV_Target0 { UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input); @@ -392,20 +381,6 @@ Shader "Hidden/HDRP/Sky/HDRISky" ENDHLSL } - // HDRI Sky with Backplate - // For cubemap with Backplate - Pass - { - ZWrite Off - ZTest Always - Blend Off - Cull Off - - HLSLPROGRAM - #pragma fragment FragBakingBackplate - ENDHLSL - } - // For fullscreen Sky with Backplate Pass { @@ -419,20 +394,6 @@ Shader "Hidden/HDRP/Sky/HDRISky" ENDHLSL } - // HDRI Sky with Backplate for PreRenderSky (Depth Only Pass) - // DepthOnly For cubemap with Backplate - Pass - { - ZWrite On - ZTest LEqual - Blend Off - Cull Off - - HLSLPROGRAM - #pragma fragment FragBakingBackplateDepth - ENDHLSL - } - // DepthOnly For fullscreen Sky with Backplate Pass { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISkyRenderer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISkyRenderer.cs index db4cca4e8b9..809f64f1102 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISkyRenderer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISkyRenderer.cs @@ -13,10 +13,8 @@ class HDRISkyRenderer : SkyRenderer private static int m_RenderCubemapID = 0; // FragBaking private static int m_RenderFullscreenSkyID = 1; // FragRender - private static int m_RenderCubemapWithBackplateID = 2; // FragBakingBackplate - private static int m_RenderFullscreenSkyWithBackplateID = 3; // FragRenderBackplate - private static int m_RenderDepthOnlyCubemapWithBackplateID = 4; // FragBakingBackplateDepth - private static int m_RenderDepthOnlyFullscreenSkyWithBackplateID = 5; // FragRenderBackplateDepth + private static int m_RenderFullscreenSkyWithBackplateID = 2; // FragRenderBackplate + private static int m_RenderDepthOnlyFullscreenSkyWithBackplateID = 3; // FragRenderBackplateDepth public HDRISkyRenderer() { @@ -92,16 +90,10 @@ public override bool RequiresPreRenderSky(BuiltinSkyParameters builtinParams) return hdriSky.enableBackplate.value; } - public override void PreRenderSky(BuiltinSkyParameters builtinParams, bool renderForCubemap, bool renderSunDisk) + public override void PreRenderSky(BuiltinSkyParameters builtinParams) { var hdriSky = builtinParams.skySettings as HDRISky; - int passID; - if (renderForCubemap) - passID = m_RenderDepthOnlyCubemapWithBackplateID; - else - passID = m_RenderDepthOnlyFullscreenSkyWithBackplateID; - float intensity, phi, backplatePhi; GetParameters(out intensity, out phi, out backplatePhi, builtinParams, hdriSky); @@ -113,7 +105,7 @@ public override void PreRenderSky(BuiltinSkyParameters builtinParams, bool rende m_PropertyBlock.SetMatrix(HDShaderIDs._PixelCoordToViewDirWS, builtinParams.pixelCoordToViewDirMatrix); - CoreUtils.DrawFullScreen(builtinParams.commandBuffer, m_SkyHDRIMaterial, m_PropertyBlock, passID); + CoreUtils.DrawFullScreen(builtinParams.commandBuffer, m_SkyHDRIMaterial, m_PropertyBlock, m_RenderDepthOnlyFullscreenSkyWithBackplateID); } } @@ -123,19 +115,20 @@ public override void RenderSky(BuiltinSkyParameters builtinParams, bool renderFo float intensity, phi, backplatePhi; GetParameters(out intensity, out phi, out backplatePhi, builtinParams, hdriSky); int passID; - if (hdriSky.enableBackplate.value == false) + if (renderForCubemap) { - if (renderForCubemap) - passID = m_RenderCubemapID; - else - passID = m_RenderFullscreenSkyID; + passID = m_RenderCubemapID; } else { - if (renderForCubemap) - passID = m_RenderCubemapWithBackplateID; + if (hdriSky.enableBackplate.value == false) + { + passID = m_RenderFullscreenSkyID; + } else + { passID = m_RenderFullscreenSkyWithBackplateID; + } } if (hdriSky.enableDistortion.value == true) @@ -182,6 +175,7 @@ public override void RenderSky(BuiltinSkyParameters builtinParams, bool renderFo shadowFilter |= unchecked((uint)LightFeatureFlags.Area); m_SkyHDRIMaterial.SetInt(HDShaderIDs._BackplateShadowFilter, unchecked((int)shadowFilter)); + // This matrix needs to be updated at the draw call frequency. m_PropertyBlock.SetMatrix(HDShaderIDs._PixelCoordToViewDirWS, builtinParams.pixelCoordToViewDirMatrix); CoreUtils.DrawFullScreen(builtinParams.commandBuffer, m_SkyHDRIMaterial, m_PropertyBlock, passID); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs index d66cca43514..9be57947a74 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -325,8 +325,6 @@ public void Build(HDRenderPipelineAsset hdAsset, RenderPipelineResources default m_SkyboxBSDFCubemapIntermediate = RTHandles.Alloc(resolution, resolution, colorFormat: GraphicsFormat.R16G16B16A16_SFloat, dimension: TextureDimension.Cube, useMipMap: true, autoGenerateMips: false, filterMode: FilterMode.Trilinear, name: "SkyboxBSDFIntermediate"); m_CubemapScreenSize = new Vector4((float)resolution, (float)resolution, 1.0f / (float)resolution, 1.0f / (float)resolution); - var cubeProj = Matrix4x4.Perspective(90.0f, 1.0f, 0.01f, 1.0f); - for (int i = 0; i < 6; ++i) { var lookAt = Matrix4x4.LookAt(Vector3.zero, CoreUtils.lookAtList[i], CoreUtils.upVectorList[i]); @@ -962,7 +960,7 @@ public void PreRenderSky(HDCamera hdCamera, Light sunLight, RTHandle colorBuffer } if (preRenderSky) - skyContext.skyRenderer.PreRenderSky(m_BuiltinParameters, false, hdCamera.camera.cameraType != CameraType.Reflection || skyContext.skySettings.includeSunInBaking.value); + skyContext.skyRenderer.PreRenderSky(m_BuiltinParameters); if (skyContext.HasClouds() && skyContext.cloudRenderer.RequiresPreRenderClouds(m_BuiltinParameters)) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs index d7592eef990..2e7d3fb760a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs @@ -33,7 +33,18 @@ public abstract class SkyRenderer /// Engine parameters that you can use to render the sky. /// Pass in true if you want to render the sky into a cubemap for lighting. This is useful when the sky renderer needs a different implementation in this case. /// If the sky renderer supports the rendering of a sun disk, it must not render it if this is set to false. - public virtual void PreRenderSky(BuiltinSkyParameters builtinParams, bool renderForCubemap, bool renderSunDisk) {} + [System.Obsolete("Please override PreRenderSky(BuiltinSkyParameters) instead.")] + public virtual void PreRenderSky(BuiltinSkyParameters builtinParams, bool renderForCubemap, bool renderSunDisk) + { + PreRenderSky(builtinParams); + } + + /// + /// Preprocess for rendering the sky. Called before the DepthPrePass operations + /// + /// Engine parameters that you can use to render the sky. + public virtual void PreRenderSky(BuiltinSkyParameters builtinParams) {} + /// /// Whether the PreRenderSky step is required. From b4214a472314bfa28090833567eb4ca00c953d41 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Mon, 18 Jan 2021 17:08:53 +0100 Subject: [PATCH 024/148] [HDRP][Path Tracing] Added alpha channel to path traced results (#3127) * Added alpha support changes for path tracing in bugfix branch. * Updated changelog and added doc. Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Documentation~/Alpha-Output.md | 2 ++ .../Accumulation/Shaders/Accumulation.compute | 12 +++++++----- .../PathTracing/Shaders/PathTracingIntersection.hlsl | 5 ++++- .../PathTracing/Shaders/PathTracingMain.raytrace | 11 ++++++----- 5 files changed, 20 insertions(+), 11 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 152d8418df6..c5ea972f5d5 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -25,6 +25,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed error in Depth Of Field near radius blur calculation (case 1306228). - Fixed a reload bug when using objects from the scene in the lookdev (case 1300916). - Fixed light gizmo showing shadow near plane when shadows are disabled. +- Fixed path tracing alpha channel support (case 1304187). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Alpha-Output.md b/com.unity.render-pipelines.high-definition/Documentation~/Alpha-Output.md index 745072311fd..9e06b0f9ac5 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Alpha-Output.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Alpha-Output.md @@ -14,6 +14,8 @@ Rendering Buffer Format | Post-processing Buffer Format | Alpha Output **R16G16B16A16** | **R11G11B10** | Alpha channel without post-processing (AlphaCopy) **R16G16B16A16** | **R16G16B16A16** | Alpha channel with post-processing +Note that alpha output is also supported in [Path Tracing](Ray-Tracing-Path-Tracing.md). + ## DoF and Alpha Output Another case which might require post-processing of the alpha channel is for scenes that use Depth Of Field. In this case, if the alpha is not processed, compositing will result in a sharp cut-off of an object that should appear blurred. This is better is illustrated in the images below: diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Accumulation/Shaders/Accumulation.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Accumulation/Shaders/Accumulation.compute index 2b9c8159d3f..be5d5af81ea 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Accumulation/Shaders/Accumulation.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Accumulation/Shaders/Accumulation.compute @@ -51,13 +51,15 @@ void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) UNITY_XR_ASSIGN_VIEW_INDEX(dispatchThreadId.z); uint2 currentPixelCoord = dispatchThreadId.xy; - float exposureMultiplier = (_AccumulationNeedsExposure != 0) ? GetCurrentExposureMultiplier() : 1.0; + float4 exposureMultiplier; + exposureMultiplier.xyz = (_AccumulationNeedsExposure != 0) ? GetCurrentExposureMultiplier() : 1.0; + exposureMultiplier.w = 1.0; // Have we reached max sampling? uint sampleCount = _AccumulationFrameIndex; if (sampleCount >= _AccumulationNumSamples) { - _CameraColorTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = float4(_AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)].xyz * exposureMultiplier, 1.0); + _CameraColorTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = _AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)] * exposureMultiplier; } else { @@ -68,9 +70,9 @@ void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) #endif if (sampleCount++) - color.xyz = (_AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)].xyz * _AccumulationWeights.y + _AccumulationWeights.x * color.xyz) * _AccumulationWeights.z; + color = (_AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)] * _AccumulationWeights.y + _AccumulationWeights.x * color) * _AccumulationWeights.z; - _AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)] = float4(color.xyz, 1.0); + _AccumulatedFrameTexture[COORD_TEXTURE2D_X(currentPixelCoord)] = color; // Apply exposure modifier color *= exposureMultiplier; @@ -78,6 +80,6 @@ void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) // Add a little convergence cue to our result AddConvergenceCue(currentPixelCoord, sampleCount, color.xyz); - _CameraColorTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = float4(color.xyz, 1.0); + _CameraColorTextureRW[COORD_TEXTURE2D_X(currentPixelCoord)] = color; } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingIntersection.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingIntersection.hlsl index 42fe7f6a366..b803427b1b7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingIntersection.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingIntersection.hlsl @@ -6,12 +6,15 @@ // Structure that defines the current state of the intersection, for path tracing struct PathIntersection { + // t as in: O + t*D = H (i.e. distance between O and H, if D is normalized) float t; // Resulting value (often color) of the ray float3 value; + // Resulting alpha (camera rays only) + float alpha; // Cone representation of the ray RayCone cone; - // The remaining available depth for the current Ray + // The remaining available depth for the current ray uint remainingDepth; // Pixel coordinate from which the initial ray was launched uint2 pixelCoord; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMain.raytrace b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMain.raytrace index 04b8b7e47dc..3e6aae936be 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMain.raytrace +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMain.raytrace @@ -25,7 +25,7 @@ // Input(s) float4x4 _PixelCoordToViewDirWS; int _RaytracingCameraSkyEnabled; -float3 _RaytracingCameraClearColor; +float4 _RaytracingCameraClearColor; // DoF related parameters float4 _PathTracedDoFConstants; // x: aperture radius, y: focus distance, zw: unused @@ -36,9 +36,9 @@ RWTexture2D _RadianceTexture; [shader("miss")] void MissCamera(inout PathIntersection pathIntersection : SV_RayPayload) { - // If the _RaytracingCameraClearColor content is positive, we override the camera sky display with a bg color - pathIntersection.value = _EnvLightSkyEnabled && _RaytracingCameraSkyEnabled ? - SampleSkyTexture(WorldRayDirection(), 0.0, 0).xyz : _RaytracingCameraClearColor * GetInverseCurrentExposureMultiplier(); + bool skyEnabled = _EnvLightSkyEnabled && _RaytracingCameraSkyEnabled; + pathIntersection.value = skyEnabled ? SampleSkyTexture(WorldRayDirection(), 0.0, 0).xyz : _RaytracingCameraClearColor.xyz * GetInverseCurrentExposureMultiplier(); + pathIntersection.alpha = skyEnabled ? 1.0 : _RaytracingCameraClearColor.w; ApplyFogAttenuation(WorldRayOrigin(), WorldRayDirection(), pathIntersection.value); @@ -137,6 +137,7 @@ void RayGen() // Create and init the PathIntersection structure for this PathIntersection pathIntersection; pathIntersection.value = 1.0; + pathIntersection.alpha = 1.0; pathIntersection.remainingDepth = _RaytracingMaxRecursion; pathIntersection.pixelCoord = currentPixelCoord; pathIntersection.maxRoughness = 0.0; @@ -148,7 +149,7 @@ void RayGen() // Evaluate the ray intersection TraceRay(_RaytracingAccelerationStructure, RAY_FLAG_CULL_BACK_FACING_TRIANGLES, RAYTRACINGRENDERERFLAG_PATH_TRACING, 0, 1, 0, rayDescriptor, pathIntersection); - _RadianceTexture[currentPixelCoord] = float4(pathIntersection.value, 1.0); + _RadianceTexture[currentPixelCoord] = float4(pathIntersection.value, pathIntersection.alpha); } // This should never be called, return magenta just in case From feb0fe091e6e2ee6796be48c32a2e8ca98b3be12 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Mon, 18 Jan 2021 17:36:34 +0100 Subject: [PATCH 025/148] Doc update (#3160) --- .../Documentation~/Override-HDRI-Sky.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md index dfe0e97852a..75dbe252d3c 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-HDRI-Sky.md @@ -67,4 +67,4 @@ These properties only appear if you enable [more options](More-Options.md). **Note**: To use ambient occlusion in the backplate, increase the value of the **Direct Lighting Strength** property on the [Ambient Occlusion](Override-Ambient-Occlusion.md) component override. As the backplate does not have global illumination, it can only get ambient occlusion from direct lighting. -**Limitation**: The backplate don't affect the Sky lighting (Sky Reflection / Ligthmaps / LightProbes / Ambient Probe). It will not appear with the default sky reflection but only in local reflection probes. +**Limitation**: The backplate only appears in local reflection probes and it does not appear in the default sky reflection. This is because the default sky reflection is a cubemap projected at infinity which is incompatible with how Unity renders the backplate. \ No newline at end of file From f9c97c1a3d1365d5e65ed597bdf6307f0770669f Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Mon, 18 Jan 2021 17:47:20 +0100 Subject: [PATCH 026/148] Fix various shader warnings (#3158) * Histogram and scalarization warnings. * Fix warning in probe * Changelog * Update CHANGELOG.md Co-authored-by: Sebastien Lagarde --- .../Lighting/ProbeVolume/ProbeVolume.hlsl | 10 ++++++---- .../Shaders/HistogramExposure.compute | 1 + .../ShaderLibrary/ShaderVariablesFunctions.hlsl | 17 ++++++++--------- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl b/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl index 4b727772b42..f3c630f60dc 100644 --- a/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl +++ b/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl @@ -93,6 +93,8 @@ void EvaluateAPVL1(APVResources apvRes, float3 L0, float3 N, float3 backN, float bool TryToGetPoolUVW(APVResources apvRes, float3 posWS, float3 normalWS, out float3 uvw) { uvw = 0; + // Note: we could instead early return when we know we'll have invalid UVs, but some bade code gen on Vulkan generates shader warnings if we do. + bool hasValidUVW = true; APVConstants apvConst = LoadAPVConstants(apvRes.index); // transform into APV space @@ -106,7 +108,7 @@ bool TryToGetPoolUVW(APVResources apvRes, float3 posWS, float3 normalWS, out flo if (any(abs(posRS) > float3(apvConst.indexDim / 2))) #endif { - return false; + hasValidUVW = false; } // convert to index @@ -118,7 +120,7 @@ bool TryToGetPoolUVW(APVResources apvRes, float3 posWS, float3 normalWS, out flo int yoffset = apvRes.index[kAPVConstantsSize + index.z * apvConst.indexDim.x + index.x]; if (yoffset == -1 || posRS.y < yoffset || posRS.y >= float(apvConst.indexDim.y)) { - return false; + hasValidUVW = false; } index.y = posRS.y - yoffset; @@ -132,7 +134,7 @@ bool TryToGetPoolUVW(APVResources apvRes, float3 posWS, float3 normalWS, out flo // no valid brick loaded for this index, fallback to ambient probe if (packed_pool_idx == 0xffffffff) { - return false; + hasValidUVW = false; } // unpack pool idx @@ -153,7 +155,7 @@ bool TryToGetPoolUVW(APVResources apvRes, float3 posWS, float3 normalWS, out flo offset *= 3.0 / (float3) apvConst.poolDim; // convert brick footprint to texels footprint in pool texel space uvw += offset; // add the final offset - return true; + return hasValidUVW; } void EvaluateAdaptiveProbeVolume(in float3 posWS, in float3 normalWS, in float3 backNormalWS, in APVResources apvRes, diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/HistogramExposure.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/HistogramExposure.compute index 3be9ef43963..9db80c179e9 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/HistogramExposure.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/HistogramExposure.compute @@ -95,6 +95,7 @@ float ComputeTotalSum(uint threadID, float threadVal) GroupMemoryBarrierWithGroupSync(); sum = gs_partialSums[0]; + [unroll] for (uint i = 1u; i < waveCount; ++i) { sum += gs_partialSums[i]; diff --git a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariablesFunctions.hlsl b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariablesFunctions.hlsl index 69a5c5e5011..3de4892d739 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariablesFunctions.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariablesFunctions.hlsl @@ -188,16 +188,15 @@ uint ScalarizeElementIndex(uint v_elementIdx, bool fastPath) { // If we are not in fast path, v_elementIdx is not scalar, so we need to query the Min value across the wave. s_elementIdx = WaveActiveMin(v_elementIdx); - // If WaveActiveMin returns 0xffffffff it means that all lanes are actually dead, so we can safely ignore the loop and move forward. - // This could happen as an helper lane could reach this point, hence having a valid v_elementIdx, but their values will be ignored by the WaveActiveMin - if (s_elementIdx == -1) - { - return -1; - } } - // Note that the WaveReadLaneFirst should not be needed, but the compiler might insist in putting the result in VGPR. - // However, we are certain at this point that the index is scalar. - s_elementIdx = WaveReadLaneFirst(s_elementIdx); + // If WaveActiveMin returns 0xffffffff it means that all lanes are actually dead, so we can safely ignore the loop and move forward. + // This could happen as an helper lane could reach this point, hence having a valid v_elementIdx, but their values will be ignored by the WaveActiveMin. + // If that's not the case we make sure the index is put into a scalar register. + if (s_elementIdx != -1) + { + s_elementIdx = WaveReadLaneFirst(s_elementIdx); + } + #endif return s_elementIdx; } From 316d6a6ff193a3861f6f85a6a1e0a0f384db0bc2 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 18 Jan 2021 19:44:38 +0100 Subject: [PATCH 027/148] Update Override-Screen-Space-GI.md --- .../Documentation~/Override-Screen-Space-GI.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index ad13c6f56ad..b841ca86f37 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -45,7 +45,7 @@ The properties visible in the Inspector change depending on whether or not you e | **Full Resolution** | Toggles whether HDRP calculates SSGI at full resolution. | | **Ray Steps** | The number of ray steps to use to calculate SSGI. If you set this to a higher value, the quality of the effect improves, however it is more resource intensive to process. | | **Filter Radius** | The size of the filter use to smooth the effect after raymarching. Higher value mean blurrier result and is more resource intensive. | -| **Object Thickness** | Use the slider to control the thickness of the GameObjects on screen. Because the SSR algorithm can not distinguish thin GameObjects from thick ones, this property helps trace rays behind GameObjects. The algorithm applies this property to every GameObject uniformly. | +| **Depth Tolerance** | Use the slider to control the tolerance when comparing the depth of the GameObjects on screen and the depth buffer. Because the SSR algorithm can not distinguish thin GameObjects from thick ones, this property helps trace rays behind GameObjects. The algorithm applies this property to every GameObject uniformly. | ### Ray-traced From be8f68588ec4d7a56de3c706d3b62ee486f5dab9 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Mon, 18 Jan 2021 21:58:24 +0100 Subject: [PATCH 028/148] =?UTF-8?q?Fixed=20shadow=20matte=20not=20working?= =?UTF-8?q?=20with=20ambient=20occlusion=20when=20MSAA=20is=20en=E2=80=A6?= =?UTF-8?q?=20(#3157)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed shadow matte not working with ambient occlusion when MSAA is enabled * Add MSAA test * update refrence screenshots win dx11 * update DX12 and win vulkan screen * update screenshots for mac * update screen of linux vulkan --- ...nlitShadowMatteAmbientOcclusion.unity.meta | 2 +- ...UnlitShadowMatteAmbientOcclusionMSAA.unity | 843 ++++++++++++++++++ ...ShadowMatteAmbientOcclusionMSAA.unity.meta | 7 + ...8_UnlitShadowMatteAmbientOcclusionMSAA.png | 3 + ...8_UnlitShadowMatteAmbientOcclusionMSAA.png | 3 + ...8_UnlitShadowMatteAmbientOcclusionMSAA.png | 3 + ...itShadowMatteAmbientOcclusionMSAA.png.meta | 108 +++ ...8_UnlitShadowMatteAmbientOcclusionMSAA.png | 3 + ...8_UnlitShadowMatteAmbientOcclusionMSAA.png | 3 + .../ProjectSettings/EditorBuildSettings.asset | 9 +- .../CHANGELOG.md | 1 + .../Material/ShaderGraph/HDShaderPasses.cs | 42 +- .../Editor/Material/ShaderGraph/HDTarget.cs | 7 + .../Runtime/Material/Unlit/Unlit.shader | 18 +- .../HDRenderPipeline.Prepass.cs | 3 - .../RenderPipeline/HDRenderPipeline.cs | 3 - .../RenderPipeline/HDStringConstants.cs | 1 - 17 files changed, 995 insertions(+), 64 deletions(-) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8107_UnlitShadowMatteAmbientOcclusion.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8107_UnlitShadowMatteAmbientOcclusion.unity.meta index 8757d703e24..095f9a5784f 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8107_UnlitShadowMatteAmbientOcclusion.unity.meta +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8107_UnlitShadowMatteAmbientOcclusion.unity.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: c2efdf3fe2a75b54588a53fc3be2bd17 +guid: 3258eb67f3c2f974bb87d063ef60ccb5 DefaultImporter: externalObjects: {} userData: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity new file mode 100644 index 00000000000..30d4039050e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity @@ -0,0 +1,843 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1 &78797985 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 78797989} + - component: {fileID: 78797988} + - component: {fileID: 78797987} + - component: {fileID: 78797986} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &78797986 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78797985} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &78797987 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78797985} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: be5485357d6a4fa468405933558de58b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &78797988 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78797985} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &78797989 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 78797985} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.5, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &257995890 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 257995894} + - component: {fileID: 257995893} + - component: {fileID: 257995892} + - component: {fileID: 257995891} + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &257995891 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257995890} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &257995892 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257995890} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 64d90d4fe71d92f40b717a5e9451a0d2, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &257995893 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257995890} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &257995894 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 257995890} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &343104694 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 343104698} + - component: {fileID: 343104697} + - component: {fileID: 343104696} + - component: {fileID: 343104695} + m_Layer: 0 + m_Name: Plane (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &343104695 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343104694} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &343104696 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343104694} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 95ef0dd7a10f74b4eb9a30df2a789d26, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &343104697 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343104694} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &343104698 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 343104694} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.5, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &554665913 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 554665915} + - component: {fileID: 554665914} + m_Layer: 0 + m_Name: Global Volume + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &554665914 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 554665913} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 172515602e62fb746b5d573b38a5fe58, type: 3} + m_Name: + m_EditorClassIdentifier: + isGlobal: 1 + priority: 0 + blendDistance: 0 + weight: 1 + sharedProfile: {fileID: 11400000, guid: 4759be3472437da46a7e75d343dfa93f, type: 2} +--- !u!4 &554665915 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 554665913} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -1.0598518, y: -7.32687, z: -1.159614} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &791501204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 791501206} + - component: {fileID: 791501205} + - component: {fileID: 791501207} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!108 &791501205 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791501204} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} + m_Intensity: 3.1415927 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 2 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 0.5, y: 0.5} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &791501206 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791501204} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: 0, y: 3, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!114 &791501207 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 791501204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Intensity: 3.1415927 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 1024 + m_UseOverride: 1 + m_Level: 0 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!1001 &811356292 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1132393308280272, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: 3.97 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -3.27 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0.8660254 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.x + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 60 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: xrCompatible + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelineAsset + value: + objectReference: {fileID: 11400000, guid: 8650072ee85219341b65a263bf871815, + type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!1 &1495890662 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1495890666} + - component: {fileID: 1495890665} + - component: {fileID: 1495890664} + - component: {fileID: 1495890663} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &1495890663 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495890662} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1495890664 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495890662} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: be5485357d6a4fa468405933558de58b, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1495890665 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495890662} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1495890666 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1495890662} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -2.5, y: 0.5, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity.meta new file mode 100644 index 00000000000..8757d703e24 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: c2efdf3fe2a75b54588a53fc3be2bd17 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png new file mode 100644 index 00000000000..3c10221e0d8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70feedb69c19f0d4a5918a1d503e068ecacf3c858c04872fbe3adc9a2c00d736 +size 91585 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png new file mode 100644 index 00000000000..38a632ae71f --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4cb1e1c5295af9808796ed508f6f992dd97292d1d59c5c85f7ffe8ee9496a966 +size 93923 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png new file mode 100644 index 00000000000..9ffefe50791 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59ed5afa0f05b464bf6eeb1ab72261c61abc802d52ed19ed63e2e6f252c0bdca +size 90166 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png.meta new file mode 100644 index 00000000000..e21345deee5 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 12d1887ba935d5243b145f8c17f47042 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png new file mode 100644 index 00000000000..cae94555dda --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6d4f25f3cac2e181874a610cef34a950731fa3d493a8a9fc66ad9c39b2f57d78 +size 90843 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png new file mode 100644 index 00000000000..3c10221e0d8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/8108_UnlitShadowMatteAmbientOcclusionMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:70feedb69c19f0d4a5918a1d503e068ecacf3c858c04872fbe3adc9a2c00d736 +size 91585 diff --git a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset index 48ab39900e9..533e2de4e95 100644 --- a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset @@ -179,6 +179,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1712_DecalAngleFading.unity guid: 4b93985ba01d5aa49a5f0cdd342faa27 + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1713_MeshDecalViewBias.unity + guid: 0adc2fcc221085f45ba4dce7e4afae0d - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1800_Classification.unity guid: 5043daebf48d1b740bb244b9a55508ef @@ -565,6 +568,9 @@ EditorBuildSettings: guid: 446a8abf33eabaa4eb3228747da30066 - enabled: 1 path: Assets/GraphicTests/Scenes/8x_ShaderGraph/8107_UnlitShadowMatteAmbientOcclusion.unity + guid: 3258eb67f3c2f974bb87d063ef60ccb5 + - enabled: 1 + path: Assets/GraphicTests/Scenes/8x_ShaderGraph/8108_UnlitShadowMatteAmbientOcclusionMSAA.unity guid: c2efdf3fe2a75b54588a53fc3be2bd17 - enabled: 1 path: Assets/GraphicTests/Scenes/8x_ShaderGraph/8201_VertexAnimation.unity @@ -686,7 +692,4 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/9x_Other/9901_AOV_buffers.unity guid: 5b7d40e46ea038446bf4f714c9d89eaf - - enabled: 1 - path: Assets/GraphicTests/Scenes/1x_Materials/1713_MeshDecalViewBias.unity - guid: 0adc2fcc221085f45ba4dce7e4afae0d m_configObjects: {} diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index e4c1fbef6aa..3e203bd6b63 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a reload bug when using objects from the scene in the lookdev (case 1300916). - Fixed light gizmo showing shadow near plane when shadows are disabled. - Fixed path tracing alpha channel support (case 1304187). +- Fixed shadow matte not working with ambient occlusion when MSAA is enabled ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs index a2ab4acf30f..8d4bfbf6cda 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs @@ -270,18 +270,6 @@ public static PassDescriptor GenerateDepthForwardOnlyPass(bool supportLighting) RenderStateCollection GenerateRenderState() { var renderState = new RenderStateCollection { CoreRenderStates.DepthOnly }; - - if (!supportLighting) - { - // Caution: When using MSAA we have normal and depth buffer bind. - // Unlit objects need to NOT write in normal buffer (or write 0) - Disable color mask for this RT - // Note: ShaderLab doesn't allow to have a variable on the second parameter of ColorMask - // - When MSAA: disable target 1 (normal buffer) - // - When no MSAA: disable target 0 (normal buffer) and 1 (unused) - renderState.Add(RenderState.ColorMask("ColorMask [_ColorMaskNormal]")); - renderState.Add(RenderState.ColorMask("ColorMask 0 1")); - } - return renderState; } @@ -348,11 +336,14 @@ public static PassDescriptor GenerateMotionVectors(bool supportLighting, bool su DefineCollection GenerateDefines() { if (!supportLighting) - return null; + { + // For shadow matte (unlit SG only) we need to enable write normal buffer + return CoreDefines.MotionVectorUnlit; + } var defines = new DefineCollection { Defines.raytracingDefault }; - // #define WRITE_NORMAL_BUFFER for motion vector in forward case + // TODO: do a #define WRITE_NORMAL_BUFFER for motion vector in forward only material case instead of a multi-compile // if (supportForward) // { // defines.Add(CoreKeywordDescriptors.WriteNormalBuffer, 1); @@ -365,18 +356,6 @@ RenderStateCollection GenerateRenderState() { var renderState = new RenderStateCollection(); renderState.Add(CoreRenderStates.MotionVectors); - - if (!supportLighting) - { - // Caution: When using MSAA we have motion vector, normal and depth buffer bind. - // Unlit objects need to NOT write in normal buffer (or write 0) - Disable color mask for this RT - // Note: ShaderLab doesn't allow to have a variable on the second parameter of ColorMask - // - When MSAA: disable target 2 (normal buffer) - // - When no MSAA: disable target 1 (normal buffer) and 2 (unused) - renderState.Add(RenderState.ColorMask("ColorMask [_ColorMaskNormal] 1")); - renderState.Add(RenderState.ColorMask("ColorMask 0 2")); - } - return renderState; } @@ -581,17 +560,6 @@ RenderStateCollection GenerateRenderState() }) }, }; - if (!supportLighting) - { - // Caution: When using MSAA we have normal and depth buffer bind. - // Unlit objects need to NOT write in normal buffer (or write 0) - Disable color mask for this RT - // Note: ShaderLab doesn't allow to have a variable on the second parameter of ColorMask - // - When MSAA: disable target 1 (normal buffer) - // - When no MSAA: disable target 0 (normal buffer) and 1 (unused) - renderState.Add(RenderState.ColorMask("ColorMask [_ColorMaskNormal]")); - renderState.Add(RenderState.ColorMask("ColorMask 0 1")); - } - return renderState; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs index 9837c1c5976..af7ac0a505f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDTarget.cs @@ -823,6 +823,13 @@ static class CoreDefines public static DefineCollection DepthForwardOnlyUnlit = new DefineCollection { + // When using Shadow matte, we need to output a normal buffer even for unlit so it is compatible with ambient occlusion + { CoreKeywordDescriptors.WriteNormalBuffer, 1, new FieldCondition(HDUnlitSubTarget.EnableShadowMatte, true)}, + }; + + public static DefineCollection MotionVectorUnlit = new DefineCollection + { + // When using Shadow matte, we need to output a normal buffer even for unlit so it is compatible with ambient occlusion { CoreKeywordDescriptors.WriteNormalBuffer, 1, new FieldCondition(HDUnlitSubTarget.EnableShadowMatte, true)}, }; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Unlit/Unlit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Unlit/Unlit.shader index 64197367440..80cedfe1b5f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Unlit/Unlit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Unlit/Unlit.shader @@ -198,14 +198,6 @@ Shader "HDRP/Unlit" ZWrite On - // Caution: When using MSAA we have normal and depth buffer bind. - // Unlit objects need to NOT write in normal buffer (or write 0) - Disable color mask for this RT - // Note: ShaderLab doesn't allow to have a variable on the second parameter of ColorMask - // - When MSAA: disable target 1 (normal buffer) - // - When no MSAA: disable target 0 (normal buffer) and 1 (unused) - ColorMask [_ColorMaskNormal] - ColorMask 0 1 - HLSLPROGRAM #pragma only_renderers d3d11 playstation xboxone vulkan metal switch @@ -214,6 +206,7 @@ Shader "HDRP/Unlit" #pragma multi_compile _ DOTS_INSTANCING_ON #pragma multi_compile _ WRITE_MSAA_DEPTH + // Note: Only shader graph support Shadow Matte, so we do'nt need normal buffer here // Note we don't need to define WRITE_NORMAL_BUFFER // Note we don't need to define WRITE_DECAL_BUFFER @@ -251,14 +244,6 @@ Shader "HDRP/Unlit" ZWrite On - // Caution: When using MSAA we have motion vector, normal and depth buffer bind. - // Unlit objects need to NOT write in normal buffer (or write 0) - Disable color mask for this RT - // Note: ShaderLab doesn't allow to have a variable on the second parameter of ColorMask - // - When MSAA: disable target 2 (normal buffer) - // - When no MSAA: disable target 1 (normal buffer) and 2 (unused) - ColorMask [_ColorMaskNormal] 1 - ColorMask 0 2 - HLSLPROGRAM #pragma only_renderers d3d11 playstation xboxone vulkan metal switch @@ -267,6 +252,7 @@ Shader "HDRP/Unlit" #pragma multi_compile _ DOTS_INSTANCING_ON #pragma multi_compile _ WRITE_MSAA_DEPTH + // Note: Only shader graph support Shadow Matte, so we do'nt need normal buffer here // Note we don't need to define WRITE_NORMAL_BUFFER // Note we don't need to define WRITE_DECAL_BUFFER 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 4bf62ccb967..9d69d22dcef 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 @@ -448,9 +448,6 @@ void RenderObjectsMotionVectors(RenderGraph renderGraph, CullingResults cull, HD builder.SetRenderFunc( (ObjectMotionVectorsPassData data, RenderGraphContext context) => { - // Disable write to normal buffer for unlit shader (the normal buffer binding change when using MSAA) - context.cmd.SetGlobalInt(HDShaderIDs._ColorMaskNormal, data.frameSettings.IsEnabled(FrameSettingsField.MSAA) ? (int)ColorWriteMask.All : 0); - DrawOpaqueRendererList(context, data.frameSettings, data.rendererList); }); } 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 2bd77935229..c84a74127cc 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2764,9 +2764,6 @@ static void RenderDepthPrepass(ScriptableRenderContext renderContext, bool hasDepthDeferredPass ) { - // Disable write to normal buffer for unlit shader (the normal buffer binding change when using MSAA) - cmd.SetGlobalInt(HDShaderIDs._ColorMaskNormal, frameSettings.IsEnabled(FrameSettingsField.MSAA) ? (int)ColorWriteMask.All : 0); - if (hasDepthDeferredPass) { if (deferredMrt == null) 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 b72c059cd7a..1c410a5572d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -220,7 +220,6 @@ static class HDShaderIDs public static readonly int _DstBlend = Shader.PropertyToID("_DstBlend"); public static readonly int _ColorMaskTransparentVel = Shader.PropertyToID("_ColorMaskTransparentVel"); - public static readonly int _ColorMaskNormal = Shader.PropertyToID("_ColorMaskNormal"); public static readonly int _DecalColorMask0 = Shader.PropertyToID(HDMaterialProperties.kDecalColorMask0); public static readonly int _DecalColorMask1 = Shader.PropertyToID(HDMaterialProperties.kDecalColorMask1); public static readonly int _DecalColorMask2 = Shader.PropertyToID(HDMaterialProperties.kDecalColorMask2); From 4de9b07989780e9337304efcceeb21e248371a55 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Wed, 20 Jan 2021 19:02:36 +0100 Subject: [PATCH 029/148] Update HDLightUI.cs (#3203) --- .../Editor/Lighting/HDLightUI.cs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index a2cf3026925..8a09eaecb62 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -28,7 +28,7 @@ public static IntScalableSetting ShadowResolution(HDLightType lightType, HDRende enum ShadowmaskMode { - ShadowMask, + Shadowmask, DistanceShadowmask } @@ -1086,14 +1086,14 @@ static void DrawShadowMapContent(SerializedHDLight serialized, Editor owner) EditorGUI.BeginProperty(nonLightmappedOnlyRect, s_Styles.nonLightmappedOnly, serialized.nonLightmappedOnly); { EditorGUI.BeginChangeCheck(); - ShadowmaskMode shadowmask = serialized.nonLightmappedOnly.boolValue ? ShadowmaskMode.ShadowMask : ShadowmaskMode.DistanceShadowmask; + ShadowmaskMode shadowmask = serialized.nonLightmappedOnly.boolValue ? ShadowmaskMode.Shadowmask : ShadowmaskMode.DistanceShadowmask; shadowmask = (ShadowmaskMode)EditorGUI.EnumPopup(nonLightmappedOnlyRect, s_Styles.nonLightmappedOnly, shadowmask); if (EditorGUI.EndChangeCheck()) { Undo.RecordObjects(owner.targets, "Light Update Shadowmask Mode"); - serialized.nonLightmappedOnly.boolValue = shadowmask == ShadowmaskMode.ShadowMask; + serialized.nonLightmappedOnly.boolValue = shadowmask == ShadowmaskMode.Shadowmask; foreach (Light target in owner.targets) - target.lightShadowCasterMode = shadowmask == ShadowmaskMode.ShadowMask ? LightShadowCasterMode.NonLightmappedOnly : LightShadowCasterMode.Everything; + target.lightShadowCasterMode = shadowmask == ShadowmaskMode.Shadowmask ? LightShadowCasterMode.NonLightmappedOnly : LightShadowCasterMode.Everything; } } EditorGUI.EndProperty(); From 1557004c72c567589649d07cf95671203557e700 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Wed, 20 Jan 2021 19:06:25 +0100 Subject: [PATCH 030/148] [HDRP] fix nullref when chaging RP from HDRP to URP (#3191) * Fixed volume atlas release * Updated changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Lighting/VolumetricLighting/DensityVolumeManager.cs | 7 +++++-- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5e044da921b..08e22b41171 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed light gizmo showing shadow near plane when shadows are disabled. - Fixed path tracing alpha channel support (case 1304187). - Fixed shadow matte not working with ambient occlusion when MSAA is enabled +- Fixed exception when changing the current render pipeline to from HDRP to universal (case 1306291). ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/DensityVolumeManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/DensityVolumeManager.cs index 8927159c156..ce4638c86e4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/DensityVolumeManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/VolumetricLighting/DensityVolumeManager.cs @@ -124,8 +124,11 @@ public List PrepareDensityVolumeData(CommandBuffer cmd, HDCamera internal void ReleaseAtlas() { // Release the atlas so next time the manager is used, it is reallocated with new HDRP settings. - volumeAtlas.Release(); - m_VolumeAtlas = null; + if (m_VolumeAtlas != null) + { + volumeAtlas.Release(); + m_VolumeAtlas = null; + } } } } From acd619909206157574f9c254f44da0770cc8815c Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Wed, 20 Jan 2021 21:11:46 +0100 Subject: [PATCH 031/148] fix case 1307653 (#3205) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/ShaderGraph/HDSubShaderUtilities.cs | 8 ++++++++ .../Material/ShaderGraph/SurfaceOptionPropertyBlock.cs | 5 +++++ 3 files changed, 14 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 08e22b41171..423d099e086 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed path tracing alpha channel support (case 1304187). - Fixed shadow matte not working with ambient occlusion when MSAA is enabled - Fixed exception when changing the current render pipeline to from HDRP to universal (case 1306291). +- Fixed an issue in shadergraph when switch from a RenderingPass (case 1307653) ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubShaderUtilities.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubShaderUtilities.cs index 95d1dec716b..b00fcce6ecb 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubShaderUtilities.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubShaderUtilities.cs @@ -275,6 +275,14 @@ public static string RenderQueueName(HDRenderQueue.RenderQueueType value) return result; } + public static bool IsValidRenderingPassValue(HDRenderQueue.RenderQueueType value, bool needAfterPostProcess) + { + if (!needAfterPostProcess && (value == HDRenderQueue.RenderQueueType.AfterPostProcessOpaque || value == HDRenderQueue.RenderQueueType.AfterPostprocessTransparent)) + return false; + + return true; + } + public static bool UpgradeLegacyAlphaClip(IMasterNode1 masterNode) { var clipThresholdId = 8; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceOptionPropertyBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceOptionPropertyBlock.cs index 39b30d68acf..738720cb50f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceOptionPropertyBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceOptionPropertyBlock.cs @@ -48,6 +48,11 @@ protected override void CreatePropertyGUI() context.globalIndentLevel++; var renderingPassList = HDSubShaderUtilities.GetRenderingPassList(systemData.surfaceType == SurfaceType.Opaque, enabledFeatures == Features.Unlit); // Show after post process for unlit shaders var renderingPassValue = systemData.surfaceType == SurfaceType.Opaque ? HDRenderQueue.GetOpaqueEquivalent(systemData.renderQueueType) : HDRenderQueue.GetTransparentEquivalent(systemData.renderQueueType); + // It is possible when switching from Unlit with an after postprocess pass to any kind of lit shader to get an out of array value. In this case we switch back to default. + if (!HDSubShaderUtilities.IsValidRenderingPassValue(renderingPassValue, enabledFeatures == Features.Unlit)) + { + renderingPassValue = systemData.surfaceType == SurfaceType.Opaque ? HDRenderQueue.RenderQueueType.Opaque : HDRenderQueue.RenderQueueType.Transparent; + } var renderQueueType = systemData.surfaceType == SurfaceType.Opaque ? HDRenderQueue.RenderQueueType.Opaque : HDRenderQueue.RenderQueueType.Transparent; context.AddProperty(renderingPassText, new PopupField(renderingPassList, renderQueueType, HDSubShaderUtilities.RenderQueueName, HDSubShaderUtilities.RenderQueueName) { value = renderingPassValue }, (evt) => From abd7de749dbe23d108aa129e7ab76267cecca556 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Thu, 21 Jan 2021 13:35:27 +0100 Subject: [PATCH 032/148] Fix LookDev env library assignment after leaving playmode. (#3214) * Fixed LookDev environment library assignement after leaving playmode. * Update changelog --- com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs | 7 ++++++- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs b/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs index 6548aa12bef..589ea1e56a8 100644 --- a/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs +++ b/com.unity.render-pipelines.core/Editor/LookDev/LookDev.cs @@ -237,7 +237,12 @@ static void LinkViewDisplayer() static void LinkEnvironmentDisplayer() { - s_EnvironmentDisplayer.OnChangingEnvironmentLibrary += currentContext.UpdateEnvironmentLibrary; + s_EnvironmentDisplayer.OnChangingEnvironmentLibrary += UpdateEnvironmentLibrary; + } + + static void UpdateEnvironmentLibrary(EnvironmentLibrary library) + { + LookDev.currentContext.UpdateEnvironmentLibrary(library); } static void ReloadStage(bool reloadWithTemporaryID) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index a0cbaf5e592..cf3e9ae0cda 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issues with compositor's undo (cases 1305633, 1307170). - Fixed exception when changing the current render pipeline to from HDRP to universal (case 1306291). - Fixed an issue in shadergraph when switch from a RenderingPass (case 1307653) +- Fixed LookDev environment library assignement after leaving playmode. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). From 6349ef2697eb0eb13a0db14ef13eb1ec09ac78c9 Mon Sep 17 00:00:00 2001 From: John Parsaie Date: Thu, 21 Jan 2021 08:42:47 -0500 Subject: [PATCH 033/148] Update Hair Shader Preset Documentation (#3208) * Correct the language for hair shader documentation. * Update hair-shader.md * Update hair-shader.md Co-authored-by: sebastienlagarde --- .../Documentation~/hair-shader.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/hair-shader.md b/com.unity.render-pipelines.high-definition/Documentation~/hair-shader.md index cf1840c1227..9dd8da0cd65 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/hair-shader.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/hair-shader.md @@ -49,10 +49,10 @@ New Materials in HDRP use the [Lit shader](Lit-Shader.md) by default. To create | **Smoothness UV Scale Transform** | Sets the tiling rate (xy) and offsets (zw) for the Smoothness Mask Map. | | **Smoothness Min** | Set the minimum smoothness for this Material. | | **Smoothness Max** | Set the maximum smoothness for this Material. | -| **Specular Color** | Set the color of the primary specular highlight. | -| **Specular Multiplier** | Modifies the **Specular Color** by this multiplier. | +| **Specular Color** | Set the representative color of the highlight that Unity uses to drive both the primary specular highlight color, which is mainly monochrome, and the secondary specular highlight color, which is chromatic.| +| **Specular Multiplier** | Modifies the primary specular highlight by this multiplier. | | **Specular Shift** | Modifies the position of the primary specular highlight. | -| **Secondary Specular Multiplier** | Modifies the **Secondary Specular Color** by this multiplier. | +| **Secondary Specular Multiplier** | Modifies the secondary specular highlight by this multiplier. | | **Secondary Specular Shift** | Modifies the position of the secondary specular highlight | | **Transmission Color** | Set the fraction of specular lighting that penetrates the hair from behind. This is on a per-color channel basis so you can use this property to set the color of penetrating light. Set this to (0, 0, 0) to stop any light from penetrating through the hair. Set this to (1, 1, 1) to have a strong effect with a lot of white light transmitting through the hair. | | **Transmission Rim** | Set the intensity of back lit hair around the edge of the hair. Set this to 0 to completely remove the transmission effect. | From cace53ef28b8c980ac53dee72a149c9b8bf062b0 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Thu, 21 Jan 2021 15:12:03 +0100 Subject: [PATCH 034/148] [HDRP] Fix locale diffusion profile shader property value in ShaderGraph (#3213) * Fixed diffusion profile shader property float values using the current culture instead of invariant * Updated changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Material/ShaderGraph/DiffusionProfileShaderProperty.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index cf3e9ae0cda..91a13bf8e7a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed exception when changing the current render pipeline to from HDRP to universal (case 1306291). - Fixed an issue in shadergraph when switch from a RenderingPass (case 1307653) - Fixed LookDev environment library assignement after leaving playmode. +- Fixed a locale issue with the diffusion profile property values in ShaderGraph on PC where comma is the decimal separator. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/DiffusionProfileShaderProperty.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/DiffusionProfileShaderProperty.cs index cdf11e64587..0e183a0ea23 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/DiffusionProfileShaderProperty.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/DiffusionProfileShaderProperty.cs @@ -40,7 +40,7 @@ internal override string GetPropertyBlockString() } /// Float to string convertion function without any loss of precision - string f2s(float f) => System.Convert.ToDouble(f).ToString("0." + new string('#', 339)); + string f2s(float f) => System.Convert.ToDouble(f).ToString("0." + new string('#', 339), CultureInfo.InvariantCulture); return $@"[DiffusionProfile]{referenceName}(""{displayName}"", Float) = {f2s(HDShadowUtils.Asfloat(hash))} From 760837be9011442e4786d53ad6e94257c21f7b6c Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Thu, 21 Jan 2021 15:40:57 +0100 Subject: [PATCH 035/148] Fix error in the RTHandle scale of Depth Of Field when TAA is enabled (#3182) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/PostProcessing/PostProcessSystem.cs | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 91a13bf8e7a..58cbe014196 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue in shadergraph when switch from a RenderingPass (case 1307653) - Fixed LookDev environment library assignement after leaving playmode. - Fixed a locale issue with the diffusion profile property values in ShaderGraph on PC where comma is the decimal separator. +- Fixed error in the RTHandle scale of Depth Of Field when TAA is enabled. ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs index d1a37c0f329..db6cd63c7ca 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -1571,9 +1571,9 @@ static void DoDepthOfField(in DepthOfFieldParameters dofParameters, CommandBuffe float nearMaxBlur = dofParameters.nearMaxBlur * resolutionScale; // If TAA is enabled we use the camera history system to grab CoC history textures, but - // because these don't use the same RTHandle system as the global one we'll have a - // different scale than _RTHandleScale so we need to handle our own - var cocHistoryScale = RTHandles.rtHandleProperties.rtHandleScale; + // because these don't use the same RTHandleScale as the global one, we need to use + // the RTHandleScale of the history RTHandles + var cocHistoryScale = taaEnabled ? dofParameters.camera.historyRTHandleProperties.rtHandleScale : RTHandles.rtHandleProperties.rtHandleScale; ComputeShader cs; int kernel; From 3f480bda1d870efcfc3be08b9469ccb048bc201d Mon Sep 17 00:00:00 2001 From: jenniferd-unity <71718938+jenniferd-unity@users.noreply.github.com> Date: Thu, 21 Jan 2021 15:47:22 +0100 Subject: [PATCH 036/148] Reset to current quality settings after preprocess build in HDRP (#3218) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/BuildProcessors/HDRPPreprocessBuild.cs | 2 ++ 2 files changed, 3 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 58cbe014196..d0e4021df55 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -36,6 +36,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed LookDev environment library assignement after leaving playmode. - Fixed a locale issue with the diffusion profile property values in ShaderGraph on PC where comma is the decimal separator. - Fixed error in the RTHandle scale of Depth Of Field when TAA is enabled. +- Fixed Quality Level set to the last one of the list after a Build (case 1307450) ### Changed - Change the source value for the ray tracing frame index iterator from m_FrameCount to the camera frame count (case 1301356). diff --git a/com.unity.render-pipelines.high-definition/Editor/BuildProcessors/HDRPPreprocessBuild.cs b/com.unity.render-pipelines.high-definition/Editor/BuildProcessors/HDRPPreprocessBuild.cs index d430005fc9d..2b4d80abbd9 100644 --- a/com.unity.render-pipelines.high-definition/Editor/BuildProcessors/HDRPPreprocessBuild.cs +++ b/com.unity.render-pipelines.high-definition/Editor/BuildProcessors/HDRPPreprocessBuild.cs @@ -59,6 +59,7 @@ public void OnPreprocessBuild(BuildReport report) // Update all quality levels with the right max lod so that meshes can be stripped. // We don't take lod bias into account because it can be overridden per camera. + int currentQualityLevel = QualitySettings.GetQualityLevel(); int qualityLevelCount = QualitySettings.names.Length; for (int i = 0; i < qualityLevelCount; ++i) { @@ -73,6 +74,7 @@ public void OnPreprocessBuild(BuildReport report) QualitySettings.maximumLODLevel = GetMinimumMaxLoDValue(hdPipelineAsset); } } + QualitySettings.SetQualityLevel(currentQualityLevel, false); } } } From 3b4b1fbf46b60184fc73fd5cc5d5c69a79dab633 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Thu, 21 Jan 2021 17:09:54 +0100 Subject: [PATCH 037/148] Have bilinear default (#3223) Co-authored-by: Sebastien Lagarde --- .../Runtime/ShaderLibrary/UpsampleTransparent.shader | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/UpsampleTransparent.shader b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/UpsampleTransparent.shader index 8a5004a7d6d..41877ceeee7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/UpsampleTransparent.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/UpsampleTransparent.shader @@ -49,9 +49,7 @@ Shader "Hidden/HDRP/UpsampleTransparent" float2 fullResTexelSize = _ScreenSize.zw; float2 halfResTexelSize = 2.0f * fullResTexelSize; - #ifdef BILINEAR - return SAMPLE_TEXTURE2D_X_LOD(_LowResTransparent, s_linear_clamp_sampler, ClampAndScaleUVForBilinear(uv, halfResTexelSize), 0.0); - #elif NEAREST_DEPTH + #ifdef NEAREST_DEPTH // The following is an implementation of NVIDIA's http://developer.download.nvidia.com/assets/gamedev/files/sdk/11/OpacityMappingSDKWhitePaper.pdf @@ -101,6 +99,10 @@ Shader "Hidden/HDRP/UpsampleTransparent" return SAMPLE_TEXTURE2D_X_LOD(_LowResTransparent, s_point_clamp_sampler, ClampAndScaleUVForPoint(nearestUV), 0); #endif } + #else // BILINEAR + + return SAMPLE_TEXTURE2D_X_LOD(_LowResTransparent, s_linear_clamp_sampler, ClampAndScaleUVForBilinear(uv, halfResTexelSize), 0.0); + #endif } From 44772830454513ee1b71e654b27baeea5bbfdd86 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Mon, 1 Feb 2021 12:21:24 +0100 Subject: [PATCH 038/148] Update CHANGELOG.md --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 6 ------ 1 file changed, 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c61ed0847c9..4f9c8bbd25e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -12,12 +12,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added color and intensity customization for Decals. ### Fixed -- Fixed exception when changing the current render pipeline to from HDRP to universal (case 1306291). -- Fixed an issue in shadergraph when switch from a RenderingPass (case 1307653) -- Fixed LookDev environment library assignement after leaving playmode. -- Fixed a locale issue with the diffusion profile property values in ShaderGraph on PC where comma is the decimal separator. -- Fixed error in the RTHandle scale of Depth Of Field when TAA is enabled. -- Fixed Quality Level set to the last one of the list after a Build (case 1307450) ### Changed - Removed the material pass probe volumes evaluation mode. From 3112950cbe074ef1883fde6ca43db5417644b548 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Mon, 1 Feb 2021 11:23:08 +0000 Subject: [PATCH 039/148] Added missing character to the layered lit document (#3310) --- .../Documentation~/Layered-Lit-Shader.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Layered-Lit-Shader.md b/com.unity.render-pipelines.high-definition/Documentation~/Layered-Lit-Shader.md index e8350d48bb8..0e967b1f262 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Layered-Lit-Shader.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Layered-Lit-Shader.md @@ -40,7 +40,7 @@ To create a new Layered Lit Material, navigate to your Project's Asset window, r | **Property** | **Description** | | -------------------------------------------- | ------------------------------------------------------------ | | **Layer Count** | Use the slider to set the number of layers this Material uses. You can set up to four layers. | -| **Layer Mask** | Assign a Texture to the field to manage the visibility of each layer. If you do not assign a Texture, the Material uses the maximum value for every channel.
• Alpha channel for the **Main Layer**.
• Red channel for **Layer 1**.
• Green channel for **Layer 2**.
• Blue channel for **Layer** | +| **Layer Mask** | Assign a Texture to the field to manage the visibility of each layer. If you do not assign a Texture, the Material uses the maximum value for every channel.
• Alpha channel for the **Main Layer**.
• Red channel for **Layer 1**.
• Green channel for **Layer 2**.
• Blue channel for **Layer 3**. | | **BlendMask UV Mapping** | Use the drop-down to select the type of UV mapping that HDRP uses to map the **Layer Mask**.
• Unity manages four UV channels for a vertex: **UV0**, **UV1**, **UV2**, and **UV3**.
• **Planar:** A planar projection from top to bottom.
• **Triplanar**: A planar projection in three directions:X-axis: Left to rightY-axis: Top to bottomZ-axis: Front to back Unity blends these three projections together to produce the final result. | | **World Scale** | Set the world-space size of the Texture in meters. If you set this to **1**, then HDRP maps the Texture to 1 meter in world space.If you set this to **2**, then HDRP maps the Texture to 0.5 meters in world space.This property only appears when you select **Planar** or **Triplanar** from the **BlendMask UV Mapping** drop-down. | | **Tiling** | Set an **X** and **Y** tile rate for the **Layer Mask** UV. HDRP uses the **X** and **Y** values to tile the Texture assigned to the **Layer Mask** across the Material’s surface, in object space. | From ac550593e4d7ce898b47267707c29619d39ec643 Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Mon, 1 Feb 2021 12:31:43 +0100 Subject: [PATCH 040/148] Fix needs of exposure for debug display "SSR Transparent" (#3308) * Fix needs of exposure for debug display "SSR Transparent" * Add Change Log --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Debug/DebugDisplay.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4f9c8bbd25e..da66cc4dc09 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -40,6 +40,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed compilation issues on platforms that don't support XR. - Fixed issue with compute shader stripping for probe volumes variants. - Fixed issue with an empty index buffer not being released. +- Fixed issue when debug full screen 'Transparent Screen Space Reflection' do not take in consideration debug exposure ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs index 7b0055c7524..f727c28a81d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs @@ -1987,7 +1987,7 @@ internal bool DebugNeedsExposure() debugLighting == DebugLightingMode.DiffuseLighting || debugLighting == DebugLightingMode.SpecularLighting || debugLighting == DebugLightingMode.VisualizeCascade) || (data.lightingDebugSettings.overrideAlbedo || data.lightingDebugSettings.overrideNormal || data.lightingDebugSettings.overrideSmoothness || data.lightingDebugSettings.overrideSpecularColor || data.lightingDebugSettings.overrideEmissiveColor || data.lightingDebugSettings.overrideAmbientOcclusion) || (debugGBuffer == DebugViewGbuffer.BakeDiffuseLightingWithAlbedoPlusEmissive) || (data.lightingDebugSettings.debugLightFilterMode != DebugLightFilterMode.None) || - (data.fullScreenDebugMode == FullScreenDebugMode.PreRefractionColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.FinalColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflections || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsPrev || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsAccum || data.fullScreenDebugMode == FullScreenDebugMode.LightCluster || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceShadows || data.fullScreenDebugMode == FullScreenDebugMode.NanTracker || data.fullScreenDebugMode == FullScreenDebugMode.ColorLog) || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceGlobalIllumination; + (data.fullScreenDebugMode == FullScreenDebugMode.PreRefractionColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.FinalColorPyramid || data.fullScreenDebugMode == FullScreenDebugMode.TransparentScreenSpaceReflections || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflections || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsPrev || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceReflectionsAccum || data.fullScreenDebugMode == FullScreenDebugMode.LightCluster || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceShadows || data.fullScreenDebugMode == FullScreenDebugMode.NanTracker || data.fullScreenDebugMode == FullScreenDebugMode.ColorLog) || data.fullScreenDebugMode == FullScreenDebugMode.ScreenSpaceGlobalIllumination; } } } From bc0aa7d1911053cc61bae60e7a2bac640ed4b366 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Mon, 1 Feb 2021 13:13:39 +0100 Subject: [PATCH 041/148] [HDRP] Fix GUI exception in material UI (#3315) * Fixed an exception when opening the color picker in a material UI * Updated changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/UIBlocks/MaterialUIBlockList.cs | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index da66cc4dc09..c14362264be 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -12,6 +12,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added color and intensity customization for Decals. ### Fixed +- Fixed an exception when opening the color picker in the material UI (case 1307143). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlockList.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlockList.cs index 0675e21c9ad..a7df1e24779 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlockList.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/MaterialUIBlockList.cs @@ -61,9 +61,14 @@ public void OnGUI(MaterialEditor materialEditor, MaterialProperty[] properties) uiBlock.UpdateMaterialProperties(properties); uiBlock.OnGUI(); } + // Never catch ExitGUIException as they are used to handle color picker and object pickers. + catch (ExitGUIException) + { + throw; + } catch (Exception e) { - Debug.LogError(e); + Debug.LogException(e); } } } From c34ba3812e5d2267e3741a31d7d153caf6269e7c Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Mon, 1 Feb 2021 15:55:56 +0100 Subject: [PATCH 042/148] [HDRP] Update decal angle fade tooltip (#3322) * Added tooltip in decal fade angle prop * Updated changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Decal/DecalProjectorEditor.Skin.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c14362264be..91977245c80 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Changed - Removed the material pass probe volumes evaluation mode. +- Updated the tooltip for the Decal Angle Fade property (requires to enable Decal Layers in both HDRP asset and Frame settings) (case 1308048). ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.Skin.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.Skin.cs index 0c8adc52a43..46ce3ee125b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.Skin.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.Skin.cs @@ -19,7 +19,7 @@ partial class DecalProjectorEditor static readonly GUIContent k_DecalLayerMaskContent = EditorGUIUtility.TrTextContent("Decal Layer", "Specify the decal layer mask to use for this projector. RenderingLayerMask of Mesh matching this value will receive the decal. Enable Layers in Decal section of HDRP settings to access it."); static readonly GUIContent k_DistanceContent = EditorGUIUtility.TrTextContent("Draw Distance", "Sets the distance from the Camera at which HDRP stop rendering the decal."); static readonly GUIContent k_FadeScaleContent = EditorGUIUtility.TrTextContent("Start Fade", "Controls the distance from the Camera at which this component begins to fade the decal out."); - static readonly GUIContent k_AngleFadeContent = EditorGUIUtility.TrTextContent("Angle Fade", "Controls the fade out range of the decal based on the angle between the Decal backward direction and the vertex normal of the receiving surface."); + static readonly GUIContent k_AngleFadeContent = EditorGUIUtility.TrTextContent("Angle Fade", "Controls the fade out range of the decal based on the angle between the Decal backward direction and the vertex normal of the receiving surface. Requires 'Decal Layers' to be enabled in the HDRP Asset and Frame Settings."); static readonly GUIContent k_UVScaleContent = EditorGUIUtility.TrTextContent("Tilling", "Sets the scale for the decal Material. Scales the decal along its UV axes."); static readonly GUIContent k_UVBiasContent = EditorGUIUtility.TrTextContent("Offset", "Sets the offset for the decal Material. Moves the decal along its UV axes."); static readonly GUIContent k_FadeFactorContent = EditorGUIUtility.TrTextContent("Fade Factor", "Controls the transparency of the decal."); From 1f827f17aad9a733bc798c5c1d319c6d11dc3969 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Mon, 1 Feb 2021 19:42:39 +0100 Subject: [PATCH 043/148] Mention in TAA doc that a certain use case will lead to problems. (#3317) * Doc update. * Review feedback. --- .../Documentation~/Anti-Aliasing.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Anti-Aliasing.md b/com.unity.render-pipelines.high-definition/Documentation~/Anti-Aliasing.md index 3685e3aa559..6ef5cbefc91 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Anti-Aliasing.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Anti-Aliasing.md @@ -43,6 +43,12 @@ To select TAA for a Camera: 1. Select the Camera in the Scene view or Hierarchy and view it in the Inspector. 2. In the General section, select Temporal Anti-aliasing (TAA) from the Anti-aliasing drop-down. +When using the same Camera GameObject for multiple Game Views TAA may not work as expected due to limitations of the history buffer system. Multiple game views using different Cameras will however work as expected. + +### Limitations +In the Editor, if multiple Game views use the same Camera, TAA may not work as expected due to limitations of the history buffer system. However, if you use multiple Game views, where each Game view uses a unique Camera, TAA works as expected. + + ## Subpixel morphological anti-aliasing (SMAA) From fe8601621182a276d9802601b2c8fe40fbc79fac Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Mon, 1 Feb 2021 19:45:08 +0100 Subject: [PATCH 044/148] Hide shadow resolution value (#3335) --- .../Runtime/Sky/CloudSystem/CloudLayer/CloudLayer.cs | 12 +++++------- 1 file changed, 5 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudSystem/CloudLayer/CloudLayer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudSystem/CloudLayer/CloudLayer.cs index 4c4d6929c8c..7a4b5635f94 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudSystem/CloudLayer/CloudLayer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudSystem/CloudLayer/CloudLayer.cs @@ -51,16 +51,14 @@ public enum CloudResolution ///
public enum CloudShadowsResolution { - /// Size 32 - CloudShadowsResolution32 = 32, /// Size 64 - CloudShadowsResolution64 = 64, + VeryLow = 64, /// Size 128 - CloudShadowsResolution128 = 128, + Low = 128, /// Size 256 - CloudShadowsResolution256 = 256, + Medium = 256, /// Size 512 - CloudShadowsResolution512 = 512, + High = 512, } @@ -112,7 +110,7 @@ public class CloudLayer : CloudSettings /// Choose the resolution of the texture for the cloud shadows. [AdditionalProperty] [Tooltip("Specifies the resolution of the texture HDRP uses to represent the cloud shadows.")] - public CloudLayerEnumParameter shadowResolution = new CloudLayerEnumParameter(CloudShadowsResolution.CloudShadowsResolution128); + public CloudLayerEnumParameter shadowResolution = new CloudLayerEnumParameter(CloudShadowsResolution.Medium); /// From 7a6ec1e541b1ba52c0917e2ebf1ec651ad143366 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Tue, 2 Feb 2021 12:21:58 +0100 Subject: [PATCH 045/148] Bump timer of 2nd runtime test to make it work on all platforms. (#3314) * Bump wait * Bump timer again * Revert "Bump timer again" This reverts commit 6bfc7943a6173025d8d268477e3985b0479e6922. --- .../Assets/Scenes/002-HDMaterials.unity | 1239 +++++++++-------- .../002-HDMaterials/AnimatedDecal 1.mat | 19 + .../002-HDMaterials/AnimatedDecal 2.mat | 19 + .../002-HDMaterials/AnimatedDecal 3.mat | 19 + .../002-HDMaterials/AnimatedDecal 4.mat | 19 + .../Scenes/002-HDMaterials/AnimatedDecal.mat | 19 + .../002-HDMaterials/AnimatedMeshDecal.mat | 27 + 7 files changed, 791 insertions(+), 570 deletions(-) diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials.unity b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials.unity index 6d033a666be..396038ad989 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials.unity +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials.unity @@ -180,6 +180,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -277,6 +278,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -405,6 +407,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -486,6 +489,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -653,10 +657,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: 3a41e48b5aaa0b94cbd0859d37b44a49, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -664,6 +669,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &194169588 GameObject: m_ObjectHideFlags: 0 @@ -708,101 +714,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0ef8dc2c2eabfa4e8cb77be57a837c0, type: 3} m_Name: m_EditorClassIdentifier: - m_HDProbeVersion: 3 - m_ObsoleteInfiniteProjection: 1 - m_ObsoleteInfluenceVolume: - m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendDistance: 0 - m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendNormalDistance: 0 - m_EditorAdvancedModeEnabled: 0 - m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} - m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} - m_Version: 1 - m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} - m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 10, y: 10, z: 10} - m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} - m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteMultiplier: 1 - m_ObsoleteWeight: 1 - m_ObsoleteMode: 0 - m_ObsoleteLightLayers: 1 - m_ObsoleteCaptureSettings: - overrides: 0 - clearColorMode: 0 - backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} - clearDepth: 1 - cullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - useOcclusionCulling: 1 - volumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - volumeAnchorOverride: {fileID: 0} - projection: 0 - nearClipPlane: 0.3 - farClipPlane: 1000 - fieldOfView: 90 - orthographicSize: 5 - renderingPath: 0 - shadowDistance: 100 m_ProbeSettings: frustum: fieldOfViewMode: 1 @@ -819,6 +730,17 @@ MonoBehaviour: fadeDistance: 10000 rangeCompressionFactor: 1 influence: + m_Shape: 0 + m_BoxSize: {x: 5.56, y: 2.4, z: 2} + m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 m_EditorAdvancedModeBlendDistancePositive: {x: 1, y: 1, z: 1} m_EditorAdvancedModeBlendDistanceNegative: {x: 1, y: 1, z: 1} m_EditorSimplifiedModeBlendDistance: 0 @@ -831,30 +753,23 @@ MonoBehaviour: m_Version: 1 m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 5.56, y: 2.4, z: 2} - m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 proxy: - m_CSVersion: 1 - m_ObsoleteSphereInfiniteProjection: 0 - m_ObsoleteBoxInfiniteProjection: 0 m_Shape: 0 m_BoxSize: {x: 1, y: 1, z: 1} m_SphereRadius: 1 + m_CSVersion: 1 + m_ObsoleteSphereInfiniteProjection: 0 + m_ObsoleteBoxInfiniteProjection: 0 proxySettings: useInfluenceVolumeAsProxyVolume: 0 capturePositionProxySpace: {x: 0, y: 0, z: 0} captureRotationProxySpace: {x: 0, y: 0, z: 0, w: 1} mirrorPositionProxySpace: {x: 0, y: 0, z: 0} mirrorRotationProxySpace: {x: 0, y: 0, z: 0, w: 0} + resolutionScalable: + m_Override: 512 + m_UseOverride: 0 + m_Level: 0 resolution: 512 cameraSettings: customRenderingSettings: 0 @@ -966,6 +881,8 @@ MonoBehaviour: enableFptlForForwardOpaque: 0 enableBigTilePrepass: 0 isFptlEnabled: 0 + roughReflections: 1 + distanceBasedRoughness: 0 m_ProbeSettingsOverride: probe: 0 camera: @@ -1051,7 +968,101 @@ MonoBehaviour: m_CaptureRotation: {x: 0, y: 0, z: 0, w: 0} m_FieldOfView: 0 m_Aspect: 0 - m_EditorOnlyData: 0 + m_HDProbeVersion: 3 + m_ObsoleteInfiniteProjection: 1 + m_ObsoleteInfluenceVolume: + m_Shape: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} + m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 + m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendDistance: 0 + m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendNormalDistance: 0 + m_EditorAdvancedModeEnabled: 0 + m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} + m_Version: 1 + m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} + m_ObsoleteOffset: {x: 0, y: 0, z: 0} + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteMultiplier: 1 + m_ObsoleteWeight: 1 + m_ObsoleteMode: 0 + m_ObsoleteLightLayers: 1 + m_ObsoleteCaptureSettings: + overrides: 0 + clearColorMode: 0 + backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} + clearDepth: 1 + cullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + useOcclusionCulling: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + projection: 0 + nearClipPlane: 0.3 + farClipPlane: 1000 + fieldOfView: 90 + orthographicSize: 5 + renderingPath: 0 + shadowDistance: 100 m_ReflectionProbeVersion: 9 m_ObsoleteInfluenceShape: 0 m_ObsoleteInfluenceSphereRadius: 3 @@ -1229,7 +1240,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: e1fbb15bf92b84f40a1eb030765b5afe, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 parameters: albedo: {r: 0, g: 0.020182133, b: 1, a: 1} meanFreePath: 3 @@ -1247,8 +1257,9 @@ MonoBehaviour: invertFade: 0 distanceFadeStart: 10000 distanceFadeEnd: 10000 - textureIndex: 0 textureOffset: {x: -0, y: -0, z: 0} + falloffMode: 0 + m_Version: 2 --- !u!4 &289937389 Transform: m_ObjectHideFlags: 0 @@ -1322,6 +1333,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1417,6 +1429,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1499,14 +1512,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 1 - m_AreaLightShape: 0 m_Intensity: 6000000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -1516,6 +1521,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 0 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -1532,6 +1538,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -1581,6 +1588,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -1599,10 +1610,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 1 + m_AreaLightShape: 0 --- !u!108 &487714770 Light: m_ObjectHideFlags: 0 @@ -1757,6 +1775,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1938,10 +1957,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: e8a8b3f6e35ec8e4892674d7b96893f3, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -1949,6 +1969,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &677872766 GameObject: m_ObjectHideFlags: 0 @@ -2006,6 +2027,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2101,6 +2123,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2196,6 +2219,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2291,6 +2315,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2419,6 +2444,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2500,10 +2526,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: c0bc8fa10fe3fc14e96772ee9dd9ac54, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -2511,6 +2538,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &822258320 GameObject: m_ObjectHideFlags: 0 @@ -2568,6 +2596,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2664,6 +2693,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2798,6 +2828,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -2945,6 +2976,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3091,14 +3123,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 1 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 20000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -3108,6 +3132,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 0 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -3124,6 +3149,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -3173,6 +3199,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -3191,16 +3221,23 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 ---- !u!108 &958494548 -Light: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 1 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!108 &958494548 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 958494545} m_Enabled: 1 serializedVersion: 10 @@ -3314,6 +3351,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3382,101 +3420,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0ef8dc2c2eabfa4e8cb77be57a837c0, type: 3} m_Name: m_EditorClassIdentifier: - m_HDProbeVersion: 3 - m_ObsoleteInfiniteProjection: 1 - m_ObsoleteInfluenceVolume: - m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendDistance: 0 - m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendNormalDistance: 0 - m_EditorAdvancedModeEnabled: 0 - m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} - m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} - m_Version: 1 - m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} - m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 10, y: 10, z: 10} - m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} - m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteMultiplier: 1 - m_ObsoleteWeight: 1 - m_ObsoleteMode: 0 - m_ObsoleteLightLayers: 1 - m_ObsoleteCaptureSettings: - overrides: 0 - clearColorMode: 0 - backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} - clearDepth: 1 - cullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - useOcclusionCulling: 1 - volumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - volumeAnchorOverride: {fileID: 0} - projection: 0 - nearClipPlane: 0.3 - farClipPlane: 1000 - fieldOfView: 90 - orthographicSize: 5 - renderingPath: 0 - shadowDistance: 100 m_ProbeSettings: frustum: fieldOfViewMode: 1 @@ -3493,6 +3436,17 @@ MonoBehaviour: fadeDistance: 10000 rangeCompressionFactor: 1 influence: + m_Shape: 0 + m_BoxSize: {x: 20, y: 20, z: 20} + m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} + m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 m_EditorAdvancedModeBlendDistancePositive: {x: 1, y: 1, z: 1} m_EditorAdvancedModeBlendDistanceNegative: {x: 1, y: 1, z: 1} m_EditorSimplifiedModeBlendDistance: 1 @@ -3505,30 +3459,23 @@ MonoBehaviour: m_Version: 1 m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 20, y: 20, z: 20} - m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} - m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 proxy: - m_CSVersion: 1 - m_ObsoleteSphereInfiniteProjection: 0 - m_ObsoleteBoxInfiniteProjection: 0 m_Shape: 0 m_BoxSize: {x: 1, y: 1, z: 1} m_SphereRadius: 1 + m_CSVersion: 1 + m_ObsoleteSphereInfiniteProjection: 0 + m_ObsoleteBoxInfiniteProjection: 0 proxySettings: useInfluenceVolumeAsProxyVolume: 0 capturePositionProxySpace: {x: 0, y: 0, z: 0} captureRotationProxySpace: {x: 0, y: 0, z: 0, w: 1} mirrorPositionProxySpace: {x: 0, y: 0, z: 0} mirrorRotationProxySpace: {x: 0, y: 0, z: 0, w: 0} + resolutionScalable: + m_Override: 512 + m_UseOverride: 0 + m_Level: 0 resolution: 512 cameraSettings: customRenderingSettings: 1 @@ -3640,6 +3587,8 @@ MonoBehaviour: enableFptlForForwardOpaque: 0 enableBigTilePrepass: 0 isFptlEnabled: 0 + roughReflections: 1 + distanceBasedRoughness: 0 m_ProbeSettingsOverride: probe: 0 camera: @@ -3725,7 +3674,101 @@ MonoBehaviour: m_CaptureRotation: {x: 0, y: 0, z: 0, w: 0} m_FieldOfView: 0 m_Aspect: 0 - m_EditorOnlyData: 0 + m_HDProbeVersion: 3 + m_ObsoleteInfiniteProjection: 1 + m_ObsoleteInfluenceVolume: + m_Shape: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} + m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 + m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendDistance: 0 + m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendNormalDistance: 0 + m_EditorAdvancedModeEnabled: 0 + m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} + m_Version: 1 + m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} + m_ObsoleteOffset: {x: 0, y: 0, z: 0} + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteMultiplier: 1 + m_ObsoleteWeight: 1 + m_ObsoleteMode: 0 + m_ObsoleteLightLayers: 1 + m_ObsoleteCaptureSettings: + overrides: 0 + clearColorMode: 0 + backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} + clearDepth: 1 + cullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + useOcclusionCulling: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + projection: 0 + nearClipPlane: 0.3 + farClipPlane: 1000 + fieldOfView: 90 + orthographicSize: 5 + renderingPath: 0 + shadowDistance: 100 m_ReflectionProbeVersion: 9 m_ObsoleteInfluenceShape: 0 m_ObsoleteInfluenceSphereRadius: 3 @@ -3764,7 +3807,7 @@ ReflectionProbe: m_BlendDistance: 0 m_HDR: 1 m_BoxProjection: 0 - m_RenderDynamicObjects: 0 + m_RenderDynamicObjects: 1 m_UseOcclusionCulling: 1 m_Importance: 1 m_CustomBakedTexture: {fileID: 0} @@ -3825,10 +3868,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: 017961ca5e12d1b47931ea75f6dac854, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -3836,6 +3880,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &1182347498 GameObject: m_ObjectHideFlags: 0 @@ -3894,6 +3939,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -3989,6 +4035,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -4063,18 +4110,22 @@ MonoBehaviour: TargetWidth: 1920 TargetHeight: 1080 PerPixelCorrectnessThreshold: 0.0015 + PerPixelGammaThreshold: 0.003921569 + PerPixelAlphaThreshold: 0.003921569 AverageCorrectnessThreshold: 0.0015 + IncorrectPixelsThreshold: 0.0000038146973 UseHDR: 0 UseBackBuffer: 0 ImageResolution: 0 + ActiveImageTests: 1 + ActivePixelTests: 7 doBeforeTest: m_PersistentCalls: m_Calls: [] captureFramerate: 60 - waitFrames: 8 + waitFrames: 101 xrCompatible: 1 xrThresholdMultiplier: 1 - renderGraphCompatible: 1 checkMemoryAllocation: 0 renderPipelineAsset: {fileID: 11400000, guid: a2b3940bdd38ca54880a3ae1fe6be80f, type: 2} @@ -4090,53 +4141,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 7 - m_ObsoleteRenderingPath: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 clearColorMode: 0 backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} clearDepth: 1 @@ -4192,6 +4196,53 @@ MonoBehaviour: data1: 2147483649 data2: 0 defaultFrameSettings: 0 + m_Version: 7 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 --- !u!20 &1229154922 Camera: m_ObjectHideFlags: 0 @@ -4327,6 +4378,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -4408,10 +4460,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: 3a41e48b5aaa0b94cbd0859d37b44a49, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 1 @@ -4419,6 +4472,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 0.5 + m_Version: 2 --- !u!1 &1256852538 GameObject: m_ObjectHideFlags: 0 @@ -4519,6 +4573,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -4595,20 +4650,12 @@ MonoBehaviour: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1319017569} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 + m_GameObject: {fileID: 1319017569} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: m_Intensity: 6000000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -4618,6 +4665,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 0 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -4634,6 +4682,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -4683,6 +4732,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -4701,10 +4754,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &1319017572 Light: m_ObjectHideFlags: 0 @@ -4824,6 +4884,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -4919,6 +4980,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -5001,14 +5063,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 2 - m_AreaLightShape: 0 m_Intensity: 60000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -5018,6 +5072,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -5034,6 +5089,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -5083,6 +5139,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -5101,10 +5161,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 2 + m_AreaLightShape: 0 --- !u!108 &1389449676 Light: m_ObjectHideFlags: 0 @@ -5211,53 +5278,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 7 - m_ObsoleteRenderingPath: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 clearColorMode: 0 backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} clearDepth: 1 @@ -5313,6 +5333,53 @@ MonoBehaviour: data1: 1 data2: 0 defaultFrameSettings: 0 + m_Version: 7 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 --- !u!20 &1406067718 Camera: m_ObjectHideFlags: 0 @@ -5413,6 +5480,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -5556,6 +5624,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -5651,6 +5720,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -5746,6 +5816,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -5827,6 +5898,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -6046,14 +6118,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 5000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -6063,6 +6127,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -6079,6 +6144,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -6128,6 +6194,10 @@ MonoBehaviour: m_NormalBias: 1.36 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -6146,10 +6216,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!1 &1529630566 GameObject: m_ObjectHideFlags: 0 @@ -6207,6 +6284,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -6438,10 +6516,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: 8c5238ad69968ff48af7d2af0f79129f, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -6449,6 +6528,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &1673073998 GameObject: m_ObjectHideFlags: 0 @@ -6506,6 +6586,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -6589,120 +6670,25 @@ GameObject: - component: {fileID: 1748455731} - component: {fileID: 1748455730} - component: {fileID: 1748455729} - m_Layer: 0 - m_Name: Plane - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!114 &1748455729 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1748455728} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: a4ee7c3a3b205a14a94094d01ff91d6b, type: 3} - m_Name: - m_EditorClassIdentifier: - m_HDProbeVersion: 3 - m_ObsoleteInfiniteProjection: 1 - m_ObsoleteInfluenceVolume: - m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendDistance: 0 - m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_EditorSimplifiedModeBlendNormalDistance: 0 - m_EditorAdvancedModeEnabled: 0 - m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} - m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} - m_Version: 1 - m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} - m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 10, y: 10, z: 10} - m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteMultiplier: 1 - m_ObsoleteWeight: 1 - m_ObsoleteMode: 0 - m_ObsoleteLightLayers: 1 - m_ObsoleteCaptureSettings: - overrides: 0 - clearColorMode: 0 - backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} - clearDepth: 1 - cullingMask: - serializedVersion: 2 - m_Bits: 4294967295 - useOcclusionCulling: 1 - volumeLayerMask: - serializedVersion: 2 - m_Bits: 1 - volumeAnchorOverride: {fileID: 0} - projection: 0 - nearClipPlane: 0.3 - farClipPlane: 1000 - fieldOfView: 90 - orthographicSize: 5 - renderingPath: 0 - shadowDistance: 100 + m_Layer: 0 + m_Name: Plane + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1748455729 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1748455728} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: a4ee7c3a3b205a14a94094d01ff91d6b, type: 3} + m_Name: + m_EditorClassIdentifier: m_ProbeSettings: frustum: fieldOfViewMode: 1 @@ -6719,6 +6705,17 @@ MonoBehaviour: fadeDistance: 10000 rangeCompressionFactor: 1 influence: + m_Shape: 0 + m_BoxSize: {x: 18.77, y: 0.01, z: 13.99} + m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} m_EditorSimplifiedModeBlendDistance: 0 @@ -6731,30 +6728,23 @@ MonoBehaviour: m_Version: 1 m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} m_ObsoleteOffset: {x: 0, y: 0, z: 0} - m_Shape: 0 - m_BoxSize: {x: 18.77, y: 0.01, z: 13.99} - m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} - m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} - m_BoxSideFadePositive: {x: 1, y: 1, z: 1} - m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} - m_SphereRadius: 3 - m_SphereBlendDistance: 0 - m_SphereBlendNormalDistance: 0 proxy: - m_CSVersion: 1 - m_ObsoleteSphereInfiniteProjection: 0 - m_ObsoleteBoxInfiniteProjection: 0 m_Shape: 0 m_BoxSize: {x: 1, y: 1, z: 1} m_SphereRadius: 1 + m_CSVersion: 1 + m_ObsoleteSphereInfiniteProjection: 0 + m_ObsoleteBoxInfiniteProjection: 0 proxySettings: useInfluenceVolumeAsProxyVolume: 0 capturePositionProxySpace: {x: 0, y: 0, z: 0} captureRotationProxySpace: {x: 0, y: 0, z: 0, w: 1} mirrorPositionProxySpace: {x: 0, y: 0, z: 0} mirrorRotationProxySpace: {x: -0.70710677, y: 0, z: 0, w: 0.70710677} + resolutionScalable: + m_Override: 1024 + m_UseOverride: 1 + m_Level: 0 resolution: 1024 cameraSettings: customRenderingSettings: 1 @@ -6866,6 +6856,8 @@ MonoBehaviour: enableFptlForForwardOpaque: 0 enableBigTilePrepass: 0 isFptlEnabled: 0 + roughReflections: 1 + distanceBasedRoughness: 0 m_ProbeSettingsOverride: probe: 0 camera: @@ -6951,13 +6943,107 @@ MonoBehaviour: m_CaptureRotation: {x: 0, y: 0, z: 0, w: 0} m_FieldOfView: 0 m_Aspect: 0 - m_EditorOnlyData: 0 - m_PlanarProbeVersion: 6 + m_HDProbeVersion: 3 + m_ObsoleteInfiniteProjection: 1 + m_ObsoleteInfluenceVolume: + m_Shape: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxBlendDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 + m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendDistance: 0 + m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendNormalDistance: 0 + m_EditorAdvancedModeEnabled: 0 + m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} + m_Version: 1 + m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} + m_ObsoleteOffset: {x: 0, y: 0, z: 0} + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteMultiplier: 1 + m_ObsoleteWeight: 1 + m_ObsoleteMode: 0 + m_ObsoleteLightLayers: 1 + m_ObsoleteCaptureSettings: + overrides: 0 + clearColorMode: 0 + backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} + clearDepth: 1 + cullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + useOcclusionCulling: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + projection: 0 + nearClipPlane: 0.3 + farClipPlane: 1000 + fieldOfView: 90 + orthographicSize: 5 + renderingPath: 0 + shadowDistance: 100 + m_LocalReferencePosition: {x: 0, y: 0.99999994, z: 0.000000059604645} + m_PlanarProbeVersion: 7 m_ObsoleteCaptureNearPlane: 0.3 m_ObsoleteCaptureFarPlane: 1000 m_ObsoleteOverrideFieldOfView: 0 m_ObsoleteFieldOfViewOverride: 90 - m_LocalReferencePosition: {x: 0, y: 0.99999994, z: 0.000000059604645} --- !u!23 &1748455730 MeshRenderer: m_ObjectHideFlags: 0 @@ -6969,6 +7055,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -7092,6 +7179,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -7174,53 +7262,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 23c1ce4fb46143f46bc5cb5224c934f6, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 7 - m_ObsoleteRenderingPath: 0 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 clearColorMode: 0 backgroundColorHDR: {r: 0.025, g: 0.07, b: 0.19, a: 0} clearDepth: 1 @@ -7276,6 +7317,53 @@ MonoBehaviour: data1: 2147483649 data2: 4539628424389459968 defaultFrameSettings: 0 + m_Version: 7 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 --- !u!20 &1823370824 Camera: m_ObjectHideFlags: 0 @@ -7376,6 +7464,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -7471,6 +7560,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -7639,14 +7729,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 600000 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -7656,6 +7738,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 0 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -7672,6 +7755,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -7721,6 +7805,10 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 @@ -7739,10 +7827,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &1923445992 Light: m_ObjectHideFlags: 0 @@ -7862,10 +7957,11 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 2 m_Material: {fileID: 2100000, guid: 526f22e3a13fdb04faa878c4b6f780b5, type: 2} m_DrawDistance: 1000 m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 m_UVScale: {x: 1, y: 1} m_UVBias: {x: 0, y: 0} m_AffectsTransparency: 0 @@ -7873,6 +7969,7 @@ MonoBehaviour: m_Offset: {x: 0, y: 0, z: 0.5} m_Size: {x: 2, y: 2, z: 2} m_FadeFactor: 1 + m_Version: 2 --- !u!1 &2012672002 GameObject: m_ObjectHideFlags: 0 @@ -7931,6 +8028,7 @@ MeshRenderer: m_CastShadows: 0 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -8027,6 +8125,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 1.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 1.mat index 383d5c17ad0..95c99f276bf 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 1.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 1.mat @@ -37,6 +37,10 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_52555058f421518fa1159536b0ef5770_Texture_1: + m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_5837ea117a574c30b83a120690f269a8_Texture_1: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} @@ -57,6 +61,19 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -69,7 +86,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: -2 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 2.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 2.mat index fd84565fb4f..4e22760c27d 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 2.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 2.mat @@ -37,6 +37,10 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_52555058f421518fa1159536b0ef5770_Texture_1: + m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_5837ea117a574c30b83a120690f269a8_Texture_1: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} @@ -57,6 +61,19 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -69,7 +86,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: 3 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 3.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 3.mat index 5f2b24d2d11..2694cc342d4 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 3.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 3.mat @@ -37,6 +37,10 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_52555058f421518fa1159536b0ef5770_Texture_1: + m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_5837ea117a574c30b83a120690f269a8_Texture_1: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} @@ -57,6 +61,19 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -69,7 +86,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: 2 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 4.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 4.mat index ad11e6b21e7..17aea42d526 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 4.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal 4.mat @@ -37,6 +37,10 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_52555058f421518fa1159536b0ef5770_Texture_1: + m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_5837ea117a574c30b83a120690f269a8_Texture_1: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} @@ -57,6 +61,19 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -69,7 +86,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: -2 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal.mat index 2448f84c843..63d0c8950a1 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedDecal.mat @@ -37,6 +37,10 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_52555058f421518fa1159536b0ef5770_Texture_1: + m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_5837ea117a574c30b83a120690f269a8_Texture_1: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} @@ -57,6 +61,19 @@ Material: m_Texture: {fileID: 2800000, guid: fcecce6d2c9be8d418a27f0658a2210d, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -69,7 +86,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: -1 diff --git a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedMeshDecal.mat b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedMeshDecal.mat index 9f7a0d20395..81787ba431f 100644 --- a/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedMeshDecal.mat +++ b/TestProjects/HDRP_RuntimeTests/Assets/Scenes/002-HDMaterials/AnimatedMeshDecal.mat @@ -41,6 +41,10 @@ Material: m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_22ab0c98da19fa8cb25fd19a0aeeb31b_Texture_1: + m_Texture: {fileID: 2800000, guid: 9afbfdeb6447dc74089f286f49995089, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_234b653769274d599f16c88325d2e6ae_Texture_1: m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} m_Scale: {x: 1, y: 1} @@ -69,6 +73,10 @@ Material: m_Texture: {fileID: 2800000, guid: f23830c1beb532d4a8bf9a720ef56e25, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_922ed2f15209728c934f7ad08e8df067_Texture_1: + m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_998a067d9ebe483eaf2b10434380d263_Texture_1: m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} m_Scale: {x: 1, y: 1} @@ -77,6 +85,10 @@ Material: m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - _SampleTexture2D_b38e27eec0c6198ab3dec7c4cf4437e3_Texture_1: + m_Texture: {fileID: 2800000, guid: f23830c1beb532d4a8bf9a720ef56e25, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} - _SampleTexture2D_b4b43955db0f4c4b8749459e55a590f4_Texture_1: m_Texture: {fileID: 2800000, guid: 9afbfdeb6447dc74089f286f49995089, type: 3} m_Scale: {x: 1, y: 1} @@ -105,6 +117,19 @@ Material: m_Texture: {fileID: 2800000, guid: 9f19737ffbb4a694caf1778274c346ab, type: 3} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] m_Floats: - _AffectAO: 1 - _AffectAlbedo: 1 @@ -117,7 +142,9 @@ Material: - _DecalColorMask1: 15 - _DecalColorMask2: 15 - _DecalColorMask3: 12 + - _DecalMeshBiasType: 0 - _DecalMeshDepthBias: 0 + - _DecalMeshViewBias: 0 - _DecalStencilRef: 16 - _DecalStencilWriteMask: 16 - _DrawOrder: 0 From b84c14b42fc26d257b67226f10fffe483172d2c3 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Tue, 2 Feb 2021 12:26:03 +0100 Subject: [PATCH 046/148] Fix light frustum planes (#3341) --- .../CHANGELOG.md | 1 + .../Lighting/Light/HDAdditionalLightData.cs | 16 +++++----- .../Lighting/Shadow/HDShadowManager.cs | 1 + .../Runtime/Lighting/Shadow/HDShadowUtils.cs | 29 ++++++++++--------- 4 files changed, 25 insertions(+), 22 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 91977245c80..42c549e7e0a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -13,6 +13,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed an exception when opening the color picker in the material UI (case 1307143). +- Fixed lights shadow frustum near and far planes. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs index e2d75464f8e..3768b404637 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.cs @@ -2083,8 +2083,8 @@ private void UpdateDirectionalShadowRequest(HDShadowManager manager, HDShadowSet HDShadowUtils.ExtractDirectionalLightData( visibleLight, viewportSize, (uint)requestIndex, shadowSettings.cascadeShadowSplitCount.value, shadowSettings.cascadeShadowSplits, nearPlaneOffset, cullResults, lightIndex, - out shadowRequest.view, out invViewProjection, out shadowRequest.deviceProjectionYFlip, - out shadowRequest.deviceProjection, out shadowRequest.splitData + out shadowRequest.view, out invViewProjection, out shadowRequest.projection, + out shadowRequest.deviceProjection, out shadowRequest.deviceProjectionYFlip, out shadowRequest.splitData ); cullingSphere = shadowRequest.splitData.cullingSphere; @@ -2114,8 +2114,8 @@ internal void UpdateShadowRequestData(HDCamera hdCamera, HDShadowManager manager HDShadowUtils.ExtractPointLightData( visibleLight, viewportSize, shadowNearPlane, normalBias, (uint)shadowIndex, filteringQuality, out shadowRequest.view, - out invViewProjection, out shadowRequest.deviceProjectionYFlip, - out shadowRequest.deviceProjection, out shadowRequest.splitData + out invViewProjection, out shadowRequest.projection, + out shadowRequest.deviceProjection, out shadowRequest.deviceProjectionYFlip, out shadowRequest.splitData ); break; case HDLightType.Spot: @@ -2123,8 +2123,8 @@ internal void UpdateShadowRequestData(HDCamera hdCamera, HDShadowManager manager HDShadowUtils.ExtractSpotLightData( spotLightShape, spotAngleForShadows, shadowNearPlane, aspectRatio, shapeWidth, shapeHeight, visibleLight, viewportSize, normalBias, filteringQuality, - out shadowRequest.view, out invViewProjection, out shadowRequest.deviceProjectionYFlip, - out shadowRequest.deviceProjection, out shadowRequest.splitData + out shadowRequest.view, out invViewProjection, out shadowRequest.projection, + out shadowRequest.deviceProjection, out shadowRequest.deviceProjectionYFlip, out shadowRequest.splitData ); break; case HDLightType.Directional: @@ -2138,7 +2138,7 @@ internal void UpdateShadowRequestData(HDCamera hdCamera, HDShadowManager manager float offset = GetAreaLightOffsetForShadows(shapeSize, areaLightShadowCone); Vector3 shadowOffset = offset * visibleLight.GetForward(); HDShadowUtils.ExtractRectangleAreaLightData(visibleLight, visibleLight.GetPosition() + shadowOffset, areaLightShadowCone, shadowNearPlane, shapeSize, viewportSize, normalBias, filteringQuality, - out shadowRequest.view, out invViewProjection, out shadowRequest.deviceProjectionYFlip, out shadowRequest.deviceProjection, out shadowRequest.splitData); + out shadowRequest.view, out invViewProjection, out shadowRequest.projection, out shadowRequest.deviceProjection, out shadowRequest.deviceProjectionYFlip, out shadowRequest.splitData); break; case AreaLightShape.Tube: //Tube do not cast shadow at the moment. @@ -2307,7 +2307,7 @@ void SetCommonShadowRequestSettings(HDShadowRequest shadowRequest, VisibleLight } // shadow clip planes (used for tessellation clipping) - GeometryUtility.CalculateFrustumPlanes(CoreMatrixUtils.MultiplyProjectionMatrix(shadowRequest.deviceProjectionYFlip, shadowRequest.view, hasOrthoMatrix), m_ShadowFrustumPlanes); + GeometryUtility.CalculateFrustumPlanes(CoreMatrixUtils.MultiplyProjectionMatrix(shadowRequest.projection, shadowRequest.view, hasOrthoMatrix), m_ShadowFrustumPlanes); if (shadowRequest.frustumPlanes?.Length != 6) shadowRequest.frustumPlanes = new Vector4[6]; // Left, right, top, bottom, near, far. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs index d2bc3ebba5d..b9c7de23480 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.cs @@ -91,6 +91,7 @@ class HDShadowRequest // Use the y flipped device projection matrix as light projection matrix public Matrix4x4 deviceProjectionYFlip; public Matrix4x4 deviceProjection; + public Matrix4x4 projection; public Matrix4x4 shadowToWorld; public Vector3 position; public Vector4 zBufferParam; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowUtils.cs index 47176b82d59..0f2771fabc4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowUtils.cs @@ -31,17 +31,17 @@ static float GetPunctualFilterWidthInTexels(HDShadowFilteringQuality quality) } public static void ExtractPointLightData(VisibleLight visibleLight, Vector2 viewportSize, float nearPlane, float normalBiasMax, uint faceIndex, HDShadowFilteringQuality filteringQuality, - out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out ShadowSplitData splitData) + out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out Matrix4x4 deviceProjectionYFlip, out ShadowSplitData splitData) { Vector4 lightDir; float guardAngle = CalcGuardAnglePerspective(90.0f, viewportSize.x, GetPunctualFilterWidthInTexels(filteringQuality), normalBiasMax, 79.0f); - ExtractPointLightMatrix(visibleLight, faceIndex, nearPlane, guardAngle, out view, out projection, out deviceProjection, out invViewProjection, out lightDir, out splitData); + ExtractPointLightMatrix(visibleLight, faceIndex, nearPlane, guardAngle, out view, out projection, out deviceProjection, out deviceProjectionYFlip, out invViewProjection, out lightDir, out splitData); } // TODO: box spot and pyramid spots with non 1 aspect ratios shadow are incorrectly culled, see when scriptable culling will be here public static void ExtractSpotLightData(SpotLightShape shape, float spotAngle, float nearPlane, float aspectRatio, float shapeWidth, float shapeHeight, VisibleLight visibleLight, Vector2 viewportSize, float normalBiasMax, HDShadowFilteringQuality filteringQuality, - out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out ShadowSplitData splitData) + out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out Matrix4x4 deviceProjectionYFlip, out ShadowSplitData splitData) { Vector4 lightDir; @@ -50,18 +50,19 @@ public static void ExtractSpotLightData(SpotLightShape shape, float spotAngle, f aspectRatio = 1.0f; float guardAngle = CalcGuardAnglePerspective(spotAngle, viewportSize.x, GetPunctualFilterWidthInTexels(filteringQuality), normalBiasMax, 180.0f - spotAngle); - ExtractSpotLightMatrix(visibleLight, spotAngle, nearPlane, guardAngle, aspectRatio, out view, out projection, out deviceProjection, out invViewProjection, out lightDir, out splitData); + ExtractSpotLightMatrix(visibleLight, spotAngle, nearPlane, guardAngle, aspectRatio, out view, out projection, out deviceProjection, out deviceProjectionYFlip, out invViewProjection, out lightDir, out splitData); if (shape == SpotLightShape.Box) { projection = ExtractBoxLightProjectionMatrix(visibleLight.range, shapeWidth, shapeHeight, nearPlane); deviceProjection = GL.GetGPUProjectionMatrix(projection, false); - projection = GL.GetGPUProjectionMatrix(projection, true); - InvertOrthographic(ref projection, ref view, out invViewProjection); + deviceProjectionYFlip = GL.GetGPUProjectionMatrix(projection, true); + InvertOrthographic(ref deviceProjectionYFlip, ref view, out invViewProjection); } } - public static void ExtractDirectionalLightData(VisibleLight visibleLight, Vector2 viewportSize, uint cascadeIndex, int cascadeCount, float[] cascadeRatios, float nearPlaneOffset, CullingResults cullResults, int lightIndex, out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out ShadowSplitData splitData) + public static void ExtractDirectionalLightData(VisibleLight visibleLight, Vector2 viewportSize, uint cascadeIndex, int cascadeCount, float[] cascadeRatios, float nearPlaneOffset, CullingResults cullResults, int lightIndex, + out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out Matrix4x4 deviceProjectionYFlip, out ShadowSplitData splitData) { Vector4 lightDir; @@ -84,13 +85,13 @@ public static void ExtractDirectionalLightData(VisibleLight visibleLight, Vector cullResults.ComputeDirectionalShadowMatricesAndCullingPrimitives(lightIndex, (int)cascadeIndex, cascadeCount, ratios, (int)viewportSize.x, nearPlaneOffset, out view, out projection, out splitData); // and the compound (deviceProjection will potentially inverse-Z) deviceProjection = GL.GetGPUProjectionMatrix(projection, false); - projection = GL.GetGPUProjectionMatrix(projection, true); + deviceProjectionYFlip = GL.GetGPUProjectionMatrix(projection, true); InvertOrthographic(ref deviceProjection, ref view, out invViewProjection); } // Currently area light shadows are not supported public static void ExtractRectangleAreaLightData(VisibleLight visibleLight, Vector3 shadowPosition, float areaLightShadowCone, float shadowNearPlane, Vector2 shapeSize, Vector2 viewportSize, float normalBiasMax, HDShadowFilteringQuality filteringQuality, - out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out ShadowSplitData splitData) + out Matrix4x4 view, out Matrix4x4 invViewProjection, out Matrix4x4 projection, out Matrix4x4 deviceProjection, out Matrix4x4 deviceProjectionYFlip, out ShadowSplitData splitData) { Vector4 lightDir; float aspectRatio = shapeSize.x / shapeSize.y; @@ -98,7 +99,7 @@ public static void ExtractRectangleAreaLightData(VisibleLight visibleLight, Vect visibleLight.spotAngle = spotAngle; float guardAngle = CalcGuardAnglePerspective(visibleLight.spotAngle, viewportSize.x, GetPunctualFilterWidthInTexels(filteringQuality), normalBiasMax, 180.0f - visibleLight.spotAngle); - ExtractSpotLightMatrix(visibleLight, visibleLight.spotAngle, shadowNearPlane, guardAngle, aspectRatio, out view, out projection, out deviceProjection, out invViewProjection, out lightDir, out splitData); + ExtractSpotLightMatrix(visibleLight, visibleLight.spotAngle, shadowNearPlane, guardAngle, aspectRatio, out view, out projection, out deviceProjection, out deviceProjectionYFlip, out invViewProjection, out lightDir, out splitData); } // Cubemap faces with flipped z coordinate. @@ -245,7 +246,7 @@ public static Matrix4x4 ExtractBoxLightProjectionMatrix(float range, float width return Matrix4x4.Ortho(-width / 2, width / 2, -height / 2, height / 2, nearZ, range); } - static Matrix4x4 ExtractSpotLightMatrix(VisibleLight vl, float spotAngle, float nearPlane, float guardAngle, float aspectRatio, out Matrix4x4 view, out Matrix4x4 proj, out Matrix4x4 deviceProj, out Matrix4x4 vpinverse, out Vector4 lightDir, out ShadowSplitData splitData) + static Matrix4x4 ExtractSpotLightMatrix(VisibleLight vl, float spotAngle, float nearPlane, float guardAngle, float aspectRatio, out Matrix4x4 view, out Matrix4x4 proj, out Matrix4x4 deviceProj, out Matrix4x4 deviceProjYFlip, out Matrix4x4 vpinverse, out Vector4 lightDir, out ShadowSplitData splitData) { splitData = new ShadowSplitData(); splitData.cullingSphere.Set(0.0f, 0.0f, 0.0f, float.NegativeInfinity); @@ -263,12 +264,12 @@ static Matrix4x4 ExtractSpotLightMatrix(VisibleLight vl, float spotAngle, float proj = ExtractSpotLightProjectionMatrix(vl.range, spotAngle, nearPlane, aspectRatio, guardAngle); // and the compound (deviceProj will potentially inverse-Z) deviceProj = GL.GetGPUProjectionMatrix(proj, false); - proj = GL.GetGPUProjectionMatrix(proj, true); + deviceProjYFlip = GL.GetGPUProjectionMatrix(proj, true); InvertPerspective(ref deviceProj, ref view, out vpinverse); return CoreMatrixUtils.MultiplyPerspectiveMatrix(deviceProj, view); } - static Matrix4x4 ExtractPointLightMatrix(VisibleLight vl, uint faceIdx, float nearPlane, float guardAngle, out Matrix4x4 view, out Matrix4x4 proj, out Matrix4x4 deviceProj, out Matrix4x4 vpinverse, out Vector4 lightDir, out ShadowSplitData splitData) + static Matrix4x4 ExtractPointLightMatrix(VisibleLight vl, uint faceIdx, float nearPlane, float guardAngle, out Matrix4x4 view, out Matrix4x4 proj, out Matrix4x4 deviceProj, out Matrix4x4 deviceProjYFlip, out Matrix4x4 vpinverse, out Vector4 lightDir, out ShadowSplitData splitData) { if (faceIdx > (uint)CubemapFace.NegativeZ) Debug.LogError("Tried to extract cubemap face " + faceIdx + "."); @@ -288,7 +289,7 @@ static Matrix4x4 ExtractPointLightMatrix(VisibleLight vl, uint faceIdx, float ne proj = Matrix4x4.Perspective(90.0f + guardAngle, 1.0f, nearZ, vl.range); // and the compound (deviceProj will potentially inverse-Z) deviceProj = GL.GetGPUProjectionMatrix(proj, false); - proj = GL.GetGPUProjectionMatrix(proj, true); + deviceProjYFlip = GL.GetGPUProjectionMatrix(proj, true); InvertPerspective(ref deviceProj, ref view, out vpinverse); Matrix4x4 devProjView = CoreMatrixUtils.MultiplyPerspectiveMatrix(deviceProj, view); From 2cc4b514a06a14ea9d64a22161274f9c4d1aea37 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Tue, 2 Feb 2021 17:01:33 +0100 Subject: [PATCH 047/148] Project skybox without perspective for ortho cameras (#2955) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * [HDRP] Fix coat normal space (#2888) * Fix coat normal space * Update CHANGELOG.md Co-authored-by: Sebastien Lagarde * Avoid issues causing faulty transitions in shadows (resulting in no shadows with unconventional aspect ratio) (#2776) * Fixed volume component tooltips using the same parameter name (#2754) * Use the proper history info for Bicubic resampling in TAA (#2759) * Use proper info for previous buffer info * changelog * Fixed lookdev movement (#2757) Co-authored-by: sebastienlagarde * [HDRP] Fix issue with saving some quality settings in volume overrides (#2758) * Fix issue with saving some quality settings volume overrides * Fix typo in changelog Co-authored-by: sebastienlagarde * [HDRP] Fixed NullReferenceException in HDRenderPipeline.UpgradeResourcesIfNeeded (case 1292524) (#2765) * fix issue with confusing text (#2766) * Fix * Fix white dots * Changelog * Rename the sunrise icon to fix typo, causing issue with 2x resolution loading. (#2809) * [HDRP] Rename HDRP to HD Render Pipeline in menu item (#2819) * [HDRP] Update HDRP menu in shader graph * Update CHANGELOG.md * HDRP/Fix package version showing package after the last "verified" package (#2783) * Fix typo * Remove last version checker from wizard and add link to package manager instead * Update CHANGELOG.md * Update documentation * Update Render-Pipeline-Wizard.md Co-authored-by: Sebastien Lagarde * Revert bad changelog merge * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: Adrien de Tocqueville Co-authored-by: sebastienlagarde Co-authored-by: Pavlos Mavridis Co-authored-by: John Parsaie Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com> * Fixed invalid loop length for probe baking (case 1289680) (#2830) * Fixed invalid loop length for probe baking (case 1289680) # Conflicts: # com.unity.render-pipelines.high-definition/CHANGELOG.md # Conflicts: # com.unity.render-pipelines.high-definition/CHANGELOG.md * Update CHANGELOG.md Co-authored-by: sebastienlagarde * Fix volumetric fog with XR single-pass (#2823) * fix volumetric fog with XR single-pass rendering * update changelog Co-authored-by: sebastienlagarde * [HDRP] Fix rendering issues for the first frame (#2836) * Fix first frame exposure, depth pyramid / AO * Update changelog * Comment * Typo * Add missing RenderGraphBuilder.ReadTexture call * Move ComputePackedMipChainInfo at the beginning of ExecuteWithRenderGraph Co-authored-by: sebastienlagarde * Update 5001_Fog_FogFallback.png * Revert "Update 5001_Fog_FogFallback.png" This reverts commit 2653b9c6f42670ba1c46090b1d1e0118f7d0fe6a. * Update 5001_Fog_FogFallback.unity * Fix AOV API for render graph (#2909) * Fix AOV api in rendergraph # Conflicts: # com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs * Update changelog * Fix a small discrepancy in the marker placement in light intensity sliders (#2924) * Update CHANGELOG.md * Fix issue with VT spewing errors when transparent and opaque are disabled (#2925) * Fix * Changelog Co-authored-by: sebastienlagarde * Fixed a bug in the sphere-aabb light cluster (case 1294767). (#2920) Co-authored-by: sebastienlagarde * Move EndCameraRendering callback out of the profiling scope (#2917) * Move EndCameraRendering callback out of the profiling scope * added a comment Co-authored-by: sebastienlagarde * Fixed baked light being included into the ray tracing light cluster (case 1296203). (#2915) Co-authored-by: sebastienlagarde * Handle all enums the same way for UI (#2913) Co-authored-by: sebastienlagarde * Changed the message when the graphics device doesn't support ray tracing (case 1287355). (#2916) * [HDRP] Fix default blocks for Hair and Eye shader graphs (#2919) * Fixed default eye shader blocks * Fix missing emission block in hair shader * Updated changelog Co-authored-by: sebastienlagarde * Init scene camera debug framesettings (#2931) * Fixed using the wrong method to define if a light should be included in the light cluster depending on its baking status. (#2932) * - Fixed using the wrong method to define if a light should be included in the light cluster depending on its baking status. * Update CHANGELOG.md Co-authored-by: sebastienlagarde * [HDRP] Change the behavior of custom passes when the volume is disabled (#2930) * Changed the behavior of custom passes when the Custom Pass Volume component is disabled * Updated changelog * Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels (#2921) * Fixed display of LOD Bias and maximum level in frame settings when using Quality Levels * Update changelog Co-authored-by: sebastienlagarde * Fixed an issue when trying to open a look dev env library when Look Dev is not supported. (#2929) * Fixed an issue when trying to open a look dev env library when Look Dev is not supported. * Update changelog Co-authored-by: sebastienlagarde * Enable Reflector for Spotlight by default * - Fixed shader graph not supporting indirectdxr multibounce (case 1294694). (#2933) Co-authored-by: sebastienlagarde * Fixed the planar depth texture not being properly created and rendered to (case 1299617). (#2926) * Fixed the planar depth texture not being properly created and rendered to (case 1299617). * adding comment Co-authored-by: sebastienlagarde * Fixed C# 8 compilation issue with turning on nullable checks (case 1300167) (#2949) * Fixed C# 8 compilation issue with turning on nullable checks - bis (#2951) * Fixed C# 8 compilation issue with turning on nullable checks (case 1300167) * Update MaterialDebug.cs * Fix scripting light test with enableReflector true by default * Project skybox without perspective for ortho cameras * Explicit orthographic argument Co-authored-by: Antoine Lelievre Co-authored-by: Sebastien Lagarde Co-authored-by: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Co-authored-by: Pavlos Mavridis Co-authored-by: John Parsaie Co-authored-by: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Co-authored-by: Frédéric Vauchelles <55485372+fredericv-unity3d@users.noreply.github.com> Co-authored-by: Fabien Houlmann <44069206+fabien-unity@users.noreply.github.com> Co-authored-by: anisunity <42026998+anisunity@users.noreply.github.com> Co-authored-by: JulienIgnace-Unity --- .../CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Camera/HDCamera.cs | 2 +- .../Runtime/RenderPipeline/Utility/HDUtils.cs | 58 ++++++++++++------- 3 files changed, 38 insertions(+), 23 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 42c549e7e0a..35db6b9a781 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Changed - Removed the material pass probe volumes evaluation mode. - Updated the tooltip for the Decal Angle Fade property (requires to enable Decal Layers in both HDRP asset and Frame settings) (case 1308048). +- Fixed skybox for ortho cameras. ## [11.0.0] - 2020-10-21 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 1231d34da2c..f8ab5ebeb03 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 @@ -1385,7 +1385,7 @@ Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(ViewConstants viewCon } Vector2 lensShift = camera.GetGateFittedLensShift(); - return HDUtils.ComputePixelCoordToWorldSpaceViewDirectionMatrix(verticalFoV, lensShift, resolution, viewConstants.viewMatrix, false, aspect); + return HDUtils.ComputePixelCoordToWorldSpaceViewDirectionMatrix(verticalFoV, lensShift, resolution, viewConstants.viewMatrix, false, aspect, camera.orthographic); } void Dispose() diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs index 8a99e2587ab..04d2e0248a6 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs @@ -140,35 +140,49 @@ internal static int GetRuntimeDebugPanelWidth(HDCamera hdCamera) internal static float ProjectionMatrixAspect(in Matrix4x4 matrix) => - matrix.m11 / matrix.m00; - internal static Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(float verticalFoV, Vector2 lensShift, Vector4 screenSize, Matrix4x4 worldToViewMatrix, bool renderToCubemap, float aspectRatio = -1) + internal static Matrix4x4 ComputePixelCoordToWorldSpaceViewDirectionMatrix(float verticalFoV, Vector2 lensShift, Vector4 screenSize, Matrix4x4 worldToViewMatrix, bool renderToCubemap, float aspectRatio = -1, bool isOrthographic = false) { - aspectRatio = aspectRatio < 0 ? screenSize.x * screenSize.w : aspectRatio; + Matrix4x4 viewSpaceRasterTransform; - // Compose the view space version first. - // V = -(X, Y, Z), s.t. Z = 1, - // X = (2x / resX - 1) * tan(vFoV / 2) * ar = x * [(2 / resX) * tan(vFoV / 2) * ar] + [-tan(vFoV / 2) * ar] = x * [-m00] + [-m20] - // Y = (2y / resY - 1) * tan(vFoV / 2) = y * [(2 / resY) * tan(vFoV / 2)] + [-tan(vFoV / 2)] = y * [-m11] + [-m21] + if (isOrthographic) + { + // For ortho cameras, project the skybox with no perspective + // the same way as builtin does (case 1264647) + viewSpaceRasterTransform = new Matrix4x4( + new Vector4(-2.0f * screenSize.z, 0.0f, 0.0f, 0.0f), + new Vector4(0.0f, -2.0f * screenSize.w, 0.0f, 0.0f), + new Vector4(1.0f, 1.0f, -1.0f, 0.0f), + new Vector4(0.0f, 0.0f, 0.0f, 0.0f)); + } + else + { + // Compose the view space version first. + // V = -(X, Y, Z), s.t. Z = 1, + // X = (2x / resX - 1) * tan(vFoV / 2) * ar = x * [(2 / resX) * tan(vFoV / 2) * ar] + [-tan(vFoV / 2) * ar] = x * [-m00] + [-m20] + // Y = (2y / resY - 1) * tan(vFoV / 2) = y * [(2 / resY) * tan(vFoV / 2)] + [-tan(vFoV / 2)] = y * [-m11] + [-m21] - float tanHalfVertFoV = Mathf.Tan(0.5f * verticalFoV); + aspectRatio = aspectRatio < 0 ? screenSize.x * screenSize.w : aspectRatio; + float tanHalfVertFoV = Mathf.Tan(0.5f * verticalFoV); - // Compose the matrix. - float m21 = (1.0f - 2.0f * lensShift.y) * tanHalfVertFoV; - float m11 = -2.0f * screenSize.w * tanHalfVertFoV; + // Compose the matrix. + float m21 = (1.0f - 2.0f * lensShift.y) * tanHalfVertFoV; + float m11 = -2.0f * screenSize.w * tanHalfVertFoV; - float m20 = (1.0f - 2.0f * lensShift.x) * tanHalfVertFoV * aspectRatio; - float m00 = -2.0f * screenSize.z * tanHalfVertFoV * aspectRatio; + float m20 = (1.0f - 2.0f * lensShift.x) * tanHalfVertFoV * aspectRatio; + float m00 = -2.0f * screenSize.z * tanHalfVertFoV * aspectRatio; - if (renderToCubemap) - { - // Flip Y. - m11 = -m11; - m21 = -m21; - } + if (renderToCubemap) + { + // Flip Y. + m11 = -m11; + m21 = -m21; + } - var viewSpaceRasterTransform = new Matrix4x4(new Vector4(m00, 0.0f, 0.0f, 0.0f), - new Vector4(0.0f, m11, 0.0f, 0.0f), - new Vector4(m20, m21, -1.0f, 0.0f), - new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); + viewSpaceRasterTransform = new Matrix4x4(new Vector4(m00, 0.0f, 0.0f, 0.0f), + new Vector4(0.0f, m11, 0.0f, 0.0f), + new Vector4(m20, m21, -1.0f, 0.0f), + new Vector4(0.0f, 0.0f, 0.0f, 1.0f)); + } // Remove the translation component. var homogeneousZero = new Vector4(0, 0, 0, 1); From 1c9a0ff0cb441a12aa8731360b3f4b668b105bd1 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Tue, 2 Feb 2021 19:42:31 +0100 Subject: [PATCH 048/148] Fix non temporal SSAO issues with the rendergraph pass (#3351) * Fix * changelog --- .../CHANGELOG.md | 1 + .../AmbientOcclusion.RenderGraph.cs | 12 ++++++++---- 2 files changed, 9 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 35db6b9a781..97f2ecbdf96 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Fixed - Fixed an exception when opening the color picker in the material UI (case 1307143). - Fixed lights shadow frustum near and far planes. +- Fixed various issues with non-temporal SSAO and rendergraph. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.RenderGraph.cs index c9e2a503812..7250f39734e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.RenderGraph.cs @@ -46,6 +46,7 @@ public TextureHandle Render(RenderGraph renderGraph, HDCamera hdCamera, TextureH var packedData = RenderAO(renderGraph, aoParameters, depthPyramid, normalBuffer); result = DenoiseAO(renderGraph, aoParameters, depthPyramid, motionVectors, packedData, currentHistory, outputHistory); + result = UpsampleAO(renderGraph, aoParameters, result, depthPyramid); } } } @@ -107,6 +108,9 @@ TextureHandle DenoiseAO(RenderGraph renderGraph, TextureHandle currentHistory, TextureHandle outputHistory) { + if (!parameters.temporalAccumulation && !parameters.fullResolution) + return aoPackedData; + TextureHandle denoiseOutput; using (var builder = renderGraph.AddRenderPass("Denoise GTAO", out var passData)) @@ -147,11 +151,8 @@ TextureHandle DenoiseAO(RenderGraph renderGraph, ctx.cmd); }); - if (parameters.fullResolution) - return passData.denoiseOutput; + return passData.denoiseOutput; } - - return UpsampleAO(renderGraph, parameters, denoiseOutput, depthTexture); } class UpsampleAOPassData @@ -164,6 +165,9 @@ class UpsampleAOPassData TextureHandle UpsampleAO(RenderGraph renderGraph, in RenderAOParameters parameters, TextureHandle input, TextureHandle depthTexture) { + if (parameters.fullResolution) + return input; + using (var builder = renderGraph.AddRenderPass("Upsample GTAO", out var passData, ProfilingSampler.Get(HDProfileId.UpSampleSSAO))) { builder.EnableAsyncCompute(parameters.runAsync); From 4338bc4b61ef739e1a3cbc38b24b1e1fc8876a37 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Tue, 2 Feb 2021 20:07:04 +0100 Subject: [PATCH 049/148] Reset ambient probe upon switching to very different skies (#3340) * Set ambient probe to black when there is a big difference * Changelog * Fix a couple of things * Change name Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Runtime/Sky/HDRISky/HDRISky.cs | 15 +++++++ .../Runtime/Sky/SkyManager.cs | 5 +++ .../Runtime/Sky/SkyRenderer.cs | 19 +------- .../Runtime/Sky/SkySettings.cs | 45 +++++++++++++++++++ .../Runtime/Sky/SkyUpdateContext.cs | 7 +++ 6 files changed, 74 insertions(+), 18 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index b6cb72b59b3..f83cd64187a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -16,6 +16,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an exception when opening the color picker in the material UI (case 1307143). - Fixed lights shadow frustum near and far planes. - Fixed various issues with non-temporal SSAO and rendergraph. +- Fix screen being over-exposed when changing very different skies. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs index 049d153968e..675e2dc6d82 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs @@ -169,6 +169,21 @@ public override int GetHashCode() return hash; } + /// + /// Determines if the SkySettings is significantly divergent from another. This is going to be used to determine whether + /// to reset completely the ambient probe instead of using previous one when waiting for current data upon changes. + /// In addition to the checks done with the base function, this HDRISky override checks whether the cubemap parameter + /// has changed if both settings are HDRISky. + /// + /// The settings to compare with. + /// Whether the settings are deemed very different. + public override bool SignificantlyDivergesFrom(SkySettings otherSettings) + { + HDRISky otherHdriSkySettings = otherSettings as HDRISky; + + return base.SignificantlyDivergesFrom(otherSettings) || hdriSky.value != otherHdriSkySettings.hdriSky.value; + } + /// /// Returns HDRISkyRenderer type. /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs index a4fb5ab9d55..a01f822f74f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -617,6 +617,11 @@ void AllocateNewRenderingContext(SkyUpdateContext skyContext, int slot, int newH if (context.renderingContext == null) context.renderingContext = new SkyRenderingContext(m_Resolution, m_IBLFilterArray.Length, supportConvolution, previousAmbientProbe, name); + // If we detected a big difference with previous settings, then carrying over the previous ambient probe is probably going to lead to unexpected result. + // Instead we at least fallback to a neutral one until async readback has finished. + if (skyContext.settingsHadBigDifferenceWithPrev) + context.renderingContext.ClearAmbientProbe(); + skyContext.cachedSkyRenderingContextId = slot; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs index 2e7d3fb760a..203ea852c1b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs @@ -70,24 +70,7 @@ public virtual void PreRenderSky(BuiltinSkyParameters builtinParams) {} /// Returns SkySetting exposure. protected static float GetSkyIntensity(SkySettings skySettings, DebugDisplaySettings debugSettings) { - float skyIntensity = 1.0f; - - switch (skySettings.skyIntensityMode.value) - { - case SkyIntensityMode.Exposure: - // Note: Here we use EV100 of sky as a multiplier, so it is the opposite of when use with a Camera - // because for sky/light, higher EV mean brighter, but for camera higher EV mean darker scene - skyIntensity *= ColorUtils.ConvertEV100ToExposure(-skySettings.exposure.value); - break; - case SkyIntensityMode.Multiplier: - skyIntensity *= skySettings.multiplier.value; - break; - case SkyIntensityMode.Lux: - skyIntensity *= skySettings.desiredLuxValue.value / skySettings.upperHemisphereLuxValue.value; - break; - } - - return skyIntensity; + return skySettings.GetIntensityFromSettings(); } /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs index bd2980b3ba7..7cc23422ac1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs @@ -217,6 +217,51 @@ public static int GetUniqueID(Type type) return uniqueID; } + /// + /// Returns the sky intensity as determined by this SkySetting. + /// + /// The sky intensity. + public float GetIntensityFromSettings() + { + float skyIntensity = 1.0f; + switch (skyIntensityMode.value) + { + case SkyIntensityMode.Exposure: + // Note: Here we use EV100 of sky as a multiplier, so it is the opposite of when use with a Camera + // because for sky/light, higher EV mean brighter, but for camera higher EV mean darker scene + skyIntensity *= ColorUtils.ConvertEV100ToExposure(-exposure.value); + break; + case SkyIntensityMode.Multiplier: + skyIntensity *= multiplier.value; + break; + case SkyIntensityMode.Lux: + skyIntensity *= desiredLuxValue.value / upperHemisphereLuxValue.value; + break; + } + return skyIntensity; + } + + /// + /// Determines if the SkySettings is significantly divergent from another. This is going to be used to determine whether + /// to reset completely the ambient probe instead of using previous one when waiting for current data upon changes. + /// Override this to have a per-sky specific heuristic. + /// + /// The settings to compare with. + /// Whether the settings are deemed very different. + public virtual bool SignificantlyDivergesFrom(SkySettings otherSettings) + { + if (otherSettings.GetSkyRendererType() != GetSkyRendererType()) + return true; + + float thisIntensity = GetIntensityFromSettings(); + float otherIntensity = otherSettings.GetIntensityFromSettings(); + + // This is an arbitrary difference threshold. This needs to be re-evaluated in case it is proven problematic + float intensityRatio = thisIntensity > otherIntensity ? (thisIntensity / otherIntensity) : (otherIntensity / thisIntensity); + const float ratioThreshold = 3.0f; + return intensityRatio > ratioThreshold; + } + /// /// Returns the class type of the SkyRenderer associated with this Sky Settings. /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs index a8b57c6c2f9..ab87d228197 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs @@ -14,6 +14,8 @@ internal class SkyUpdateContext public int skyParametersHash = -1; public float currentUpdateTime = 0.0f; + public bool settingsHadBigDifferenceWithPrev { get; private set; } + public SkySettings skySettings { get { return m_SkySettings; } @@ -28,6 +30,11 @@ public SkySettings skySettings skyRenderer = null; } + if (m_SkySettings == null) + settingsHadBigDifferenceWithPrev = true; + else + settingsHadBigDifferenceWithPrev = m_SkySettings.SignificantlyDivergesFrom(value); + if (m_SkySettings == value) return; From 0c56c5ff901e683d43d18468c2b79d419c46636b Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Wed, 3 Feb 2021 11:44:40 +0100 Subject: [PATCH 050/148] Fix white flash on camera cuts with volumetric (#3354) * Have two frames with reprojection off on cut (due to exposure) * changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Camera/HDCamera.cs | 3 +++ .../Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs | 4 +++- 3 files changed, 7 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f83cd64187a..5add04cf7ec 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed lights shadow frustum near and far planes. - Fixed various issues with non-temporal SSAO and rendergraph. - Fix screen being over-exposed when changing very different skies. +- White flashes on camera cuts on volumetric fog. ### Changed - Removed the material pass probe volumes evaluation mode. 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 f8ab5ebeb03..4f39b97a5d8 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 @@ -83,6 +83,8 @@ public struct ViewConstants /// Volumetric history buffer state. public bool volumetricHistoryIsValid = false; + internal int volumetricValidFrames = 0; + /// Width actually used for rendering after dynamic resolution and XR is applied. public int actualWidth { get; private set; } /// Height actually used for rendering after dynamic resolution and XR is applied. @@ -129,6 +131,7 @@ public void Reset() cameraFrameCount = 0; resetPostProcessingHistory = true; volumetricHistoryIsValid = false; + volumetricValidFrames = 0; colorPyramidHistoryIsValid = false; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs index 6430d0dc524..e11be2585eb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs @@ -742,8 +742,10 @@ TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, FilterVolumetricLighting(data.parameters, data.lightingBuffer, ctx.cmd); }); - if (parameters.enableReprojection) + if (parameters.enableReprojection && hdCamera.volumetricValidFrames > 1) hdCamera.volumetricHistoryIsValid = true; // For the next frame.. + else + hdCamera.volumetricValidFrames++; return passData.lightingBuffer; } From 43e6d1569b6897ef8673fdf00d085fce53d54858 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Wed, 3 Feb 2021 14:27:09 +0100 Subject: [PATCH 051/148] Fix issues with light layers issues when editing multiple lights (#3323) * Avoid syncing light layers when we have multiple values. * Changelog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/HDLightUI.cs | 4 ++-- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5add04cf7ec..2fdc11a327a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -18,6 +18,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed various issues with non-temporal SSAO and rendergraph. - Fix screen being over-exposed when changing very different skies. - White flashes on camera cuts on volumetric fog. +- Fixed light layer issue when performing editing on multiple lights. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index 519becb4da7..c260308fcb2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -228,7 +228,7 @@ static void DrawGeneralAdditionalContent(SerializedHDLight serialized, Editor ow EditorGUILayout.PropertyField(serialized.lightlayersMask, s_Styles.lightLayer); // If we're not in decoupled mode for light layers, we sync light with shadow layers: - if (serialized.linkLightLayers.boolValue && change.changed) + if (serialized.linkLightLayers.boolValue && change.changed && !serialized.lightlayersMask.hasMultipleDifferentValues) SyncLightAndShadowLayers(serialized, owner); } } @@ -1199,7 +1199,7 @@ static void DrawShadowMapAdditionalContent(SerializedHDLight serialized, Editor if (change.changed) Undo.RecordObjects(owner.targets, "Undo Light Layers Changed"); } - if (!serialized.linkLightLayers.hasMultipleDifferentValues) + if (!serialized.linkLightLayers.hasMultipleDifferentValues && !serialized.lightlayersMask.hasMultipleDifferentValues) { using (new EditorGUI.DisabledGroupScope(serialized.linkLightLayers.boolValue)) { From bd1934fc510a0d302ff2a465661b620bef6fd17a Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Wed, 3 Feb 2021 08:28:44 -0500 Subject: [PATCH 052/148] Maximum of reflection distance must be bound by the min of all dimensions, (#3329) not the maximum. --- .../Lighting/Reflection/Volume/InfluenceVolumeUI.Drawers.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Drawers.cs index 15b7fbcc8fe..477850e08fa 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Drawers.cs @@ -108,9 +108,9 @@ static void Drawer_SectionShapeBox(SerializedInfluenceVolume serialized, Editor } else { - serialized.editorSimplifiedModeBlendDistance.floatValue = Mathf.Max(blendPositive.x, blendPositive.y, blendPositive.z, blendNegative.x, blendNegative.y, blendNegative.z); + serialized.editorSimplifiedModeBlendDistance.floatValue = Mathf.Min(blendPositive.x, blendPositive.y, blendPositive.z, blendNegative.x, blendNegative.y, blendNegative.z); serialized.boxBlendDistancePositive.vector3Value = serialized.boxBlendDistanceNegative.vector3Value = Vector3.one * serialized.editorSimplifiedModeBlendDistance.floatValue; - serialized.editorSimplifiedModeBlendNormalDistance.floatValue = Mathf.Max(blendNormalPositive.x, blendNormalPositive.y, blendNormalPositive.z, blendNormalNegative.x, blendNormalNegative.y, blendNormalNegative.z); + serialized.editorSimplifiedModeBlendNormalDistance.floatValue = Mathf.Min(blendNormalPositive.x, blendNormalPositive.y, blendNormalPositive.z, blendNormalNegative.x, blendNormalNegative.y, blendNormalNegative.z); serialized.boxBlendNormalDistancePositive.vector3Value = serialized.boxBlendNormalDistanceNegative.vector3Value = Vector3.one * serialized.editorSimplifiedModeBlendNormalDistance.floatValue; } } From e81306734889f98ee96829cf61406ac2e4526127 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Wed, 3 Feb 2021 20:12:53 +0100 Subject: [PATCH 053/148] Fixed debug panel reseting when going through enum items (#3370) * tentative fix for enum navigation in the runtime debug UI * Update changelog Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Runtime/Debug/DebugDisplay.cs | 24 ------------------- 2 files changed, 1 insertion(+), 24 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 2fdc11a327a..993cd504eb3 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fix screen being over-exposed when changing very different skies. - White flashes on camera cuts on volumetric fog. - Fixed light layer issue when performing editing on multiple lights. +- Fixed an issue where selection in a debug panel would reset when cycling through enum items. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs index f727c28a81d..4169bf8f7f3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs @@ -988,10 +988,6 @@ void RegisterMaterialDebug() void RefreshDisplayStatsDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelDisplayStats, m_DebugDisplayStatsItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterDisplayStatsDebug(); } @@ -999,50 +995,30 @@ void RefreshDisplayStatsDebug(DebugUI.Field field, T value) void RefreshLightingDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelLighting, m_DebugLightingItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterLightingDebug(); } void RefreshDecalsDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelDecals, m_DebugDecalsAffectingTransparentItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterDecalsDebug(); } void RefreshRenderingDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelRendering, m_DebugRenderingItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterRenderingDebug(); } void RefreshMaterialDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelMaterials, m_DebugMaterialItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterMaterialDebug(); } void RefreshVolumeDebug(DebugUI.Field field, T value) { UnregisterDebugItems(k_PanelVolume, m_DebugVolumeItems); - - if (DebugManager.instance.displayRuntimeUI) - DebugManager.instance.ReDrawOnScreenDebug(); - RegisterVolumeDebug(); } From 317f976be0370fbbb1e2be2affa8da515fdc35b6 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 4 Feb 2021 11:03:15 +0100 Subject: [PATCH 054/148] Fix keywords with fbx importer (#3350) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../FBXMaterialDescriptionPostprocessor.cs | 29 ++++--------------- .../AssetProcessors/MaterialPostProcessor.cs | 8 +++++ 3 files changed, 15 insertions(+), 23 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 993cd504eb3..038d32d1c20 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -20,6 +20,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - White flashes on camera cuts on volumetric fog. - Fixed light layer issue when performing editing on multiple lights. - Fixed an issue where selection in a debug panel would reset when cycling through enum items. +- Fixed material keywords with fbx importer. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/FBXMaterialDescriptionPostprocessor.cs b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/FBXMaterialDescriptionPostprocessor.cs index 31cef13722b..a08dbb0bc68 100644 --- a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/FBXMaterialDescriptionPostprocessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/FBXMaterialDescriptionPostprocessor.cs @@ -42,12 +42,6 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat material.shader = shader; - material.SetShaderPassEnabled("DistortionVectors", false); - material.SetShaderPassEnabled("TransparentDepthPrepass", false); - material.SetShaderPassEnabled("TransparentDepthPostpass", false); - material.SetShaderPassEnabled("TransparentBackface", false); - material.SetShaderPassEnabled("MOTIONVECTORS", false); - Vector4 vectorProperty; float floatProperty; TexturePropertyDescription textureProperty; @@ -78,17 +72,10 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat if (isTransparent) { - material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); - material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.OneMinusSrcAlpha); - material.SetInt("_ZWrite", 0); material.SetFloat("_BlendMode", (float)BlendMode.Alpha); material.SetFloat("_EnableBlendModePreserveSpecularLighting", 1.0f); - material.EnableKeyword("_ALPHAPREMULTIPLY_ON"); - material.EnableKeyword("_SURFACE_TYPE_TRANSPARENT"); - material.EnableKeyword("_ENABLE_FOG_ON_TRANSPARENT"); - material.EnableKeyword("_ALPHATEST_ON"); material.renderQueue = (int)UnityEngine.Rendering.RenderQueue.Transparent; - material.SetFloat("_SurfaceType", 1.0f); + material.SetFloat("_SurfaceType", (float)SurfaceType.Transparent); material.SetFloat("_Cutoff", .0f); material.SetFloat("_AlphaCutoffEnable", 1.0f); material.SetFloat("_AlphaCutoff", .0f); @@ -97,12 +84,12 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat } else { - material.SetInt("_SrcBlend", (int)UnityEngine.Rendering.BlendMode.One); - material.SetInt("_DstBlend", (int)UnityEngine.Rendering.BlendMode.Zero); - material.SetInt("_ZWrite", 1); material.renderQueue = -1; } + if (description.TryGetProperty("ReflectionFactor", out floatProperty)) + material.SetFloat("_Metallic", floatProperty); + if (description.TryGetProperty("DiffuseColor", out textureProperty) && textureProperty.texture != null) { Color diffuseColor = new Color(1.0f, 1.0f, 1.0f, 1.0f); @@ -125,7 +112,6 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat if (description.TryGetProperty("Bump", out textureProperty) && textureProperty.texture != null) { SetMaterialTextureProperty("_BumpMap", material, textureProperty); - material.EnableKeyword("_NORMALMAP_TANGENT_SPACE"); if (description.TryGetProperty("BumpFactor", out floatProperty)) material.SetFloat("_BumpScale", floatProperty); @@ -133,15 +119,10 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat else if (description.TryGetProperty("NormalMap", out textureProperty) && textureProperty.texture != null) { SetMaterialTextureProperty("_BumpMap", material, textureProperty); - material.EnableKeyword("_NORMALMAP_TANGENT_SPACE"); if (description.TryGetProperty("BumpFactor", out floatProperty)) material.SetFloat("_BumpScale", floatProperty); } - else - { - material.DisableKeyword("_NORMALMAP"); - } if (description.TryGetProperty("EmissiveColor", out textureProperty)) { @@ -183,6 +164,8 @@ public void OnPreprocessMaterialDescription(MaterialDescription description, Mat RemapColorCurves(description, clips, "EmissiveColor", "_EmissionColor"); RemapColorCurves(description, clips, "EmissiveColor", "_EmissiveColor"); + + HDShaderUtils.ResetMaterialKeywords(material); } static void RemapTransparencyCurves(MaterialDescription description, AnimationClip[] clips) diff --git a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs index 1e6b25a10ef..248af7e66fd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs @@ -116,6 +116,14 @@ static internal void SaveAssetsToDisk() s_NeedsSavingAssets = false; } + void OnPostprocessMaterial(Material material) + { + if (!HDShaderUtils.IsHDRPShader(material.shader, upgradable: true)) + return; + + HDShaderUtils.ResetMaterialKeywords(material); + } + static void OnPostprocessAllAssets(string[] importedAssets, string[] deletedAssets, string[] movedAssets, string[] movedFromAssetPaths) { foreach (var asset in importedAssets) From b4805107366b3a8d43d5e8f90cf66a83e4d3959d Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Thu, 4 Feb 2021 21:37:40 +0100 Subject: [PATCH 055/148] Fixed lightmaps not working properly with shader graphs in ray traced reflections (case 1305335). (#3352) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Eye/ShaderGraph/EyeSubTarget.cs | 2 +- .../Editor/Material/Fabric/ShaderGraph/FabricSubTarget.cs | 2 +- .../Editor/Material/Lit/ShaderGraph/HDLitSubTarget.cs | 2 +- .../Editor/Material/ShaderGraph/HDShaderPasses.cs | 6 +++++- .../Material/StackLit/ShaderGraph/StackLitSubTarget.cs | 2 +- 6 files changed, 10 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 038d32d1c20..a26cf9861d9 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -21,6 +21,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed light layer issue when performing editing on multiple lights. - Fixed an issue where selection in a debug panel would reset when cycling through enum items. - Fixed material keywords with fbx importer. +- Fixed lightmaps not working properly with shader graphs in ray traced reflections (case 1305335). ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.cs index bbfd38eba40..6574a8f33f3 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.cs @@ -56,7 +56,7 @@ protected override SubShaderDescriptor GetRaytracingSubShaderDescriptor() var descriptor = base.GetRaytracingSubShaderDescriptor(); if (eyeData.subsurfaceScattering) - descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface()); + descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface(true)); return descriptor; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricSubTarget.cs index ee6800d55c6..f0c7d572b16 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/FabricSubTarget.cs @@ -56,7 +56,7 @@ protected override SubShaderDescriptor GetRaytracingSubShaderDescriptor() var descriptor = base.GetRaytracingSubShaderDescriptor(); if (fabricData.subsurfaceScattering) - descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface()); + descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface(true)); return descriptor; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitSubTarget.cs index d0ad94188ab..4e7bd6c8287 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitSubTarget.cs @@ -73,7 +73,7 @@ protected override SubShaderDescriptor GetRaytracingSubShaderDescriptor() var descriptor = base.GetRaytracingSubShaderDescriptor(); if (litData.materialType == HDLitData.MaterialType.SubsurfaceScattering) - descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface()); + descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface(true)); return descriptor; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs index 8d4bfbf6cda..d8ee3d1018d 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs @@ -860,6 +860,7 @@ public static PassDescriptor GenerateRaytracingIndirect(bool supportLighting) referenceName = "SHADERPASS_RAYTRACING_INDIRECT", lightMode = "IndirectDXR", useInPreview = false, + requiredFields = supportLighting ? CoreRequiredFields.LitMinimal : null, // Collections pragmas = CorePragmas.RaytracingBasic, @@ -972,6 +973,7 @@ public static PassDescriptor GenerateRaytracingForward(bool supportLighting) referenceName = "SHADERPASS_RAYTRACING_FORWARD", lightMode = "ForwardDXR", useInPreview = false, + requiredFields = supportLighting ? CoreRequiredFields.LitMinimal : null, // Port Mask // validVertexBlocks = CoreBlockMasks.Vertex, @@ -1037,6 +1039,7 @@ public static PassDescriptor GenerateRaytracingGBuffer(bool supportLighting) referenceName = "SHADERPASS_RAYTRACING_GBUFFER", lightMode = "GBufferDXR", useInPreview = false, + requiredFields = supportLighting ? CoreRequiredFields.LitMinimal : null, // Port Mask // validVertexBlocks = CoreBlockMasks.Vertex, @@ -1150,7 +1153,7 @@ IncludeCollection GenerateIncludes() #region Raytracing Subsurface - public static PassDescriptor GenerateRaytracingSubsurface() + public static PassDescriptor GenerateRaytracingSubsurface(bool supportLighting) { return new PassDescriptor { @@ -1159,6 +1162,7 @@ public static PassDescriptor GenerateRaytracingSubsurface() referenceName = "SHADERPASS_RAYTRACING_SUB_SURFACE", lightMode = "SubSurfaceDXR", useInPreview = false, + requiredFields = supportLighting ? CoreRequiredFields.LitMinimal : null, // Template // passTemplatePath = passTemplatePath, diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.cs index b10b4b1c82b..b7417d5d0a1 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.cs @@ -122,7 +122,7 @@ protected override SubShaderDescriptor GetRaytracingSubShaderDescriptor() var descriptor = base.GetRaytracingSubShaderDescriptor(); if (stackLitData.subsurfaceScattering) - descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface()); + descriptor.passes.Add(HDShaderPasses.GenerateRaytracingSubsurface(true)); return descriptor; } From ff5700467d0d72bef76f674a51fda74e533c5ccf Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Fri, 5 Feb 2021 00:42:22 +0100 Subject: [PATCH 056/148] revert: Reset ambient probe upon switching to very different skies (#3340) --- .../CHANGELOG.md | 5 +-- .../Runtime/Sky/HDRISky/HDRISky.cs | 15 ------- .../Runtime/Sky/SkyManager.cs | 5 --- .../Runtime/Sky/SkyRenderer.cs | 19 +++++++- .../Runtime/Sky/SkySettings.cs | 45 ------------------- .../Runtime/Sky/SkyUpdateContext.cs | 7 --- 6 files changed, 20 insertions(+), 76 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index a26cf9861d9..a28ed042929 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -16,18 +16,17 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an exception when opening the color picker in the material UI (case 1307143). - Fixed lights shadow frustum near and far planes. - Fixed various issues with non-temporal SSAO and rendergraph. -- Fix screen being over-exposed when changing very different skies. -- White flashes on camera cuts on volumetric fog. +- Fixed white flashes on camera cuts on volumetric fog. - Fixed light layer issue when performing editing on multiple lights. - Fixed an issue where selection in a debug panel would reset when cycling through enum items. - Fixed material keywords with fbx importer. - Fixed lightmaps not working properly with shader graphs in ray traced reflections (case 1305335). +- Fixed skybox for ortho cameras. ### Changed - Removed the material pass probe volumes evaluation mode. - Unifying the history validation pass so that it is only done once for the whole frame and not per effect. - Updated the tooltip for the Decal Angle Fade property (requires to enable Decal Layers in both HDRP asset and Frame settings) (case 1308048). -- Fixed skybox for ortho cameras. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs index 675e2dc6d82..049d153968e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/HDRISky/HDRISky.cs @@ -169,21 +169,6 @@ public override int GetHashCode() return hash; } - /// - /// Determines if the SkySettings is significantly divergent from another. This is going to be used to determine whether - /// to reset completely the ambient probe instead of using previous one when waiting for current data upon changes. - /// In addition to the checks done with the base function, this HDRISky override checks whether the cubemap parameter - /// has changed if both settings are HDRISky. - /// - /// The settings to compare with. - /// Whether the settings are deemed very different. - public override bool SignificantlyDivergesFrom(SkySettings otherSettings) - { - HDRISky otherHdriSkySettings = otherSettings as HDRISky; - - return base.SignificantlyDivergesFrom(otherSettings) || hdriSky.value != otherHdriSkySettings.hdriSky.value; - } - /// /// Returns HDRISkyRenderer type. /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs index a01f822f74f..a4fb5ab9d55 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -617,11 +617,6 @@ void AllocateNewRenderingContext(SkyUpdateContext skyContext, int slot, int newH if (context.renderingContext == null) context.renderingContext = new SkyRenderingContext(m_Resolution, m_IBLFilterArray.Length, supportConvolution, previousAmbientProbe, name); - // If we detected a big difference with previous settings, then carrying over the previous ambient probe is probably going to lead to unexpected result. - // Instead we at least fallback to a neutral one until async readback has finished. - if (skyContext.settingsHadBigDifferenceWithPrev) - context.renderingContext.ClearAmbientProbe(); - skyContext.cachedSkyRenderingContextId = slot; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs index 203ea852c1b..2e7d3fb760a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs @@ -70,7 +70,24 @@ public virtual void PreRenderSky(BuiltinSkyParameters builtinParams) {} /// Returns SkySetting exposure. protected static float GetSkyIntensity(SkySettings skySettings, DebugDisplaySettings debugSettings) { - return skySettings.GetIntensityFromSettings(); + float skyIntensity = 1.0f; + + switch (skySettings.skyIntensityMode.value) + { + case SkyIntensityMode.Exposure: + // Note: Here we use EV100 of sky as a multiplier, so it is the opposite of when use with a Camera + // because for sky/light, higher EV mean brighter, but for camera higher EV mean darker scene + skyIntensity *= ColorUtils.ConvertEV100ToExposure(-skySettings.exposure.value); + break; + case SkyIntensityMode.Multiplier: + skyIntensity *= skySettings.multiplier.value; + break; + case SkyIntensityMode.Lux: + skyIntensity *= skySettings.desiredLuxValue.value / skySettings.upperHemisphereLuxValue.value; + break; + } + + return skyIntensity; } /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs index 7cc23422ac1..bd2980b3ba7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkySettings.cs @@ -217,51 +217,6 @@ public static int GetUniqueID(Type type) return uniqueID; } - /// - /// Returns the sky intensity as determined by this SkySetting. - /// - /// The sky intensity. - public float GetIntensityFromSettings() - { - float skyIntensity = 1.0f; - switch (skyIntensityMode.value) - { - case SkyIntensityMode.Exposure: - // Note: Here we use EV100 of sky as a multiplier, so it is the opposite of when use with a Camera - // because for sky/light, higher EV mean brighter, but for camera higher EV mean darker scene - skyIntensity *= ColorUtils.ConvertEV100ToExposure(-exposure.value); - break; - case SkyIntensityMode.Multiplier: - skyIntensity *= multiplier.value; - break; - case SkyIntensityMode.Lux: - skyIntensity *= desiredLuxValue.value / upperHemisphereLuxValue.value; - break; - } - return skyIntensity; - } - - /// - /// Determines if the SkySettings is significantly divergent from another. This is going to be used to determine whether - /// to reset completely the ambient probe instead of using previous one when waiting for current data upon changes. - /// Override this to have a per-sky specific heuristic. - /// - /// The settings to compare with. - /// Whether the settings are deemed very different. - public virtual bool SignificantlyDivergesFrom(SkySettings otherSettings) - { - if (otherSettings.GetSkyRendererType() != GetSkyRendererType()) - return true; - - float thisIntensity = GetIntensityFromSettings(); - float otherIntensity = otherSettings.GetIntensityFromSettings(); - - // This is an arbitrary difference threshold. This needs to be re-evaluated in case it is proven problematic - float intensityRatio = thisIntensity > otherIntensity ? (thisIntensity / otherIntensity) : (otherIntensity / thisIntensity); - const float ratioThreshold = 3.0f; - return intensityRatio > ratioThreshold; - } - /// /// Returns the class type of the SkyRenderer associated with this Sky Settings. /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs index ab87d228197..a8b57c6c2f9 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyUpdateContext.cs @@ -14,8 +14,6 @@ internal class SkyUpdateContext public int skyParametersHash = -1; public float currentUpdateTime = 0.0f; - public bool settingsHadBigDifferenceWithPrev { get; private set; } - public SkySettings skySettings { get { return m_SkySettings; } @@ -30,11 +28,6 @@ public SkySettings skySettings skyRenderer = null; } - if (m_SkySettings == null) - settingsHadBigDifferenceWithPrev = true; - else - settingsHadBigDifferenceWithPrev = m_SkySettings.SignificantlyDivergesFrom(value); - if (m_SkySettings == value) return; From f41f5cf549fc4693aac0554ad68195c2c31ef9e7 Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Fri, 5 Feb 2021 12:27:21 -0500 Subject: [PATCH 057/148] Hdrp/fix tesselation wireframe (#3355) * SCENEPICKING pass was utilizing a camera that had relative rendering on, however world positions in SCENEPICKING are absolute. This causes inconsystencies in tesselation wireframe view. This fix corrects the offset of worldspace on tesselation for SCENEPICKING pass. * Correct range (0 to 1) in order to get pixel accurage projection value. * Moving function to LitDataMeshModification.hlsl for clarity. * Changing CameraView matrix instead of offsetting the position using macro forwarding. * Redirecting camera matrix more cleanly. * Reordering picking transforms include for proper macro order. * Changelog description Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Material/Decal/ShaderGraph/DecalSubTarget.cs | 2 +- .../Editor/Material/ShaderGraph/HDShaderPasses.cs | 2 +- .../Runtime/Material/AxF/AxF.shader | 2 +- .../Runtime/Material/Decal/Decal.shader | 2 +- .../Runtime/Material/LayeredLit/LayeredLit.shader | 2 +- .../LayeredLit/LayeredLitTessellation.shader | 2 +- .../Runtime/Material/Lit/Lit.shader | 2 +- .../Runtime/Material/Lit/LitTessellation.shader | 2 +- .../ShaderLibrary/PickingSpaceTransforms.hlsl | 13 +++++++++++++ 10 files changed, 22 insertions(+), 8 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index a28ed042929..648a2fb8056 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -22,6 +22,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed material keywords with fbx importer. - Fixed lightmaps not working properly with shader graphs in ray traced reflections (case 1305335). - Fixed skybox for ortho cameras. +- Fixed incorrect debug wireframe overlay on tessellated geometry (using littessellation), caused by the picking pass using an incorrect camera matrix. ### Changed - Removed the material pass probe volumes evaluation mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.cs index d2b15c235fb..dadf13148ee 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.cs @@ -587,8 +587,8 @@ static class DecalIncludes { kColor, IncludeLocation.Pregraph }, { kFunctions, IncludeLocation.Pregraph }, { CoreIncludes.MinimalCorePregraph }, - { kDecal, IncludeLocation.Pregraph }, { CoreIncludes.kPickingSpaceTransforms, IncludeLocation.Pregraph }, + { kDecal, IncludeLocation.Pregraph }, { kPassDecal, IncludeLocation.Postgraph }, }; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs index d8ee3d1018d..e41f8be32e6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDShaderPasses.cs @@ -96,11 +96,11 @@ IncludeCollection GenerateIncludes() { var includes = new IncludeCollection(); + includes.Add(CoreIncludes.kPickingSpaceTransforms, IncludeLocation.Pregraph); includes.Add(CoreIncludes.CorePregraph); includes.Add(CoreIncludes.kPassPlaceholder, IncludeLocation.Pregraph); includes.Add(CoreIncludes.CoreUtility); includes.Add(CoreIncludes.kShaderGraphFunctions, IncludeLocation.Pregraph); - includes.Add(CoreIncludes.kPickingSpaceTransforms, IncludeLocation.Pregraph); includes.Add(CoreIncludes.kPassDepthOnly, IncludeLocation.Postgraph); return includes; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxF.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxF.shader index 1722da83356..23e30cb2c6b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxF.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxF.shader @@ -248,11 +248,11 @@ Shader "HDRP/AxF" // We reuse depth prepass for the scene selection, allow to handle alpha correctly as well as tessellation and vertex animation #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxF.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/ShaderPass/AxFDepthPass.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl" #pragma vertex Vert diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.shader index fb49f74d51a..ddb2e50f0a6 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.shader @@ -284,10 +284,10 @@ Shader "HDRP/Decal" #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/ShaderVariables.hlsl" + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalProperties.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/ShaderPass/DecalSharePass.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl" #pragma editor_sync_compilation diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader index 9fd0e624ef8..781f3703d3a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader @@ -589,11 +589,11 @@ Shader "HDRP/LayeredLit" // We reuse depth prepass for the scene selection, allow to handle alpha correctly as well as tessellation and vertex animation #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitDepthPass.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl" #pragma vertex Vert diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader index dfc9bd27c4d..19a42fe18aa 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader @@ -566,11 +566,11 @@ Shader "HDRP/LayeredLitTessellation" // We reuse depth prepass for the scene selection, allow to handle alpha correctly as well as tessellation and vertex animation #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitDepthPass.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl" #pragma vertex Vert diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader index 8c4583eaa40..de83182d5ff 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader @@ -406,11 +406,11 @@ Shader "HDRP/Lit" // We reuse depth prepass for the scene selection, allow to handle alpha correctly as well as tessellation and vertex animation #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitDepthPass.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl" #pragma vertex Vert diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader index 5a829b1cfec..2ba0e8c4a2b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader @@ -408,11 +408,11 @@ Shader "HDRP/LitTessellation" // We reuse depth prepass for the scene selection, allow to handle alpha correctly as well as tessellation and vertex animation #define SHADERPASS SHADERPASS_DEPTH_ONLY #define SCENEPICKINGPASS + #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitDepthPass.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDepthOnly.hlsl" #pragma vertex Vert diff --git a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl index 0b3be72d754..d6d014f6c8e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/ShaderLibrary/PickingSpaceTransforms.hlsl @@ -58,6 +58,19 @@ float4x4 glstate_matrix_projection; #define TransformTangentToObject TransformTangentToObject_Picking #define TransformObjectToTangent TransformObjectToTangent_Picking +float4x4 ScenePickingGetCameraViewProjMatrix() +{ + float4x4 translationMatrix = { + { 1.0 ,0.0 , 0.0, -_WorldSpaceCameraPos.x }, + { 0.0 ,1.0 , 0.0, -_WorldSpaceCameraPos.y }, + { 0.0 ,0.0 , 1.0, -_WorldSpaceCameraPos.z }, + { 0.0 ,0.0 , 0.0, 1.0} }; + + return mul(_CameraViewProjMatrix, translationMatrix); +} + +#define _CameraViewProjMatrix ScenePickingGetCameraViewProjMatrix() + // Redefine the functions using the new macros #undef UNITY_SPACE_TRANSFORMS_INCLUDED From ab6fc9ed88bde92b256ee662384747e0925585af Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 8 Feb 2021 10:54:46 +0100 Subject: [PATCH 058/148] Adding missing meta from HDRP_test --- .../Vulkan/None/1550_3dsMax.png.meta | 108 ++++++++++++++++++ .../OSXEditor/Metal/None/1550_3dsMax.png.meta | 108 ++++++++++++++++++ .../Direct3D11/None/1550_3dsMax.png.meta | 108 ++++++++++++++++++ .../Direct3D12/None/1550_3dsMax.png.meta | 108 ++++++++++++++++++ .../Vulkan/None/1550_3dsMax.png.meta | 108 ++++++++++++++++++ 5 files changed, 540 insertions(+) create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1550_3dsMax.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1550_3dsMax.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1550_3dsMax.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1550_3dsMax.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1550_3dsMax.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1550_3dsMax.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1550_3dsMax.png.meta new file mode 100644 index 00000000000..a0e77e7c41d --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1550_3dsMax.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 83647b54e7ed4d843aa04e602bf79fb5 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1550_3dsMax.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1550_3dsMax.png.meta new file mode 100644 index 00000000000..7f5c2180039 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1550_3dsMax.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: e324e51282ec0b7438deac2f7c563b8f +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1550_3dsMax.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1550_3dsMax.png.meta new file mode 100644 index 00000000000..59bd53b2e81 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1550_3dsMax.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 54623d1a954547d42a8ec665aa65f304 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1550_3dsMax.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1550_3dsMax.png.meta new file mode 100644 index 00000000000..2126c63a81c --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1550_3dsMax.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: c2b4c90c438fad0468bc069a8d4c296b +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1550_3dsMax.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1550_3dsMax.png.meta new file mode 100644 index 00000000000..fdd84a6e79b --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1550_3dsMax.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: f4d75c87e5349a841b87127e44680e0c +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: -1 + aniso: -1 + mipBias: -100 + wrapU: -1 + wrapV: -1 + wrapW: -1 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: From 0923df0ca7c49bd01e4e31d962eaf9be8975a7fe Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Mon, 8 Feb 2021 16:32:05 +0100 Subject: [PATCH 059/148] Hd/fix input registering domain reload (#3373) * Update InputRegistering.cs * Remove asset modification if InputSystem package is in use * Prevent missuse of InputRegistering while InputSystem package is in use * Update CHANGELOG.md * cleaning * more cleaning * Update code to use Next instead of GetArrayElementAtIndex --- com.unity.render-pipelines.core/CHANGELOG.md | 1 + .../Runtime/Debugging/DebugManager.Actions.cs | 2 +- .../Runtime/Inputs/InputRegistering.cs | 157 +++++++++++++----- 3 files changed, 120 insertions(+), 40 deletions(-) diff --git a/com.unity.render-pipelines.core/CHANGELOG.md b/com.unity.render-pipelines.core/CHANGELOG.md index 54ed2042c17..6d9d0598e64 100644 --- a/com.unity.render-pipelines.core/CHANGELOG.md +++ b/com.unity.render-pipelines.core/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. ### Changed - Volume Gizmo Color setting is now under Colors->Scene->Volume Gizmo +- Optimized InputRegistering computational time. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs b/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs index 14c65746f34..8207f1bfa42 100644 --- a/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs +++ b/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs @@ -252,7 +252,7 @@ internal float GetAction(DebugAction action) void RegisterInputs() { -#if UNITY_EDITOR +#if UNITY_EDITOR && !USE_INPUT_SYSTEM var inputEntries = new List { new InputManagerEntry { name = kEnableDebugBtn1, kind = InputManagerEntry.Kind.KeyOrButton, btnPositive = "left ctrl", altBtnPositive = "joystick button 8" }, diff --git a/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs b/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs index a9f2c6c73c5..07c53fcc4cc 100644 --- a/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs +++ b/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs @@ -11,45 +11,36 @@ public enum Kind { KeyOrButton, Mouse, Axis } public enum Axis { X, Y, Third, Fourth, Fifth, Sixth, Seventh, Eigth } public enum Joy { All, First, Second } - public string name = ""; - public string desc = ""; - public string btnNegative = ""; - public string btnPositive = ""; - public string altBtnNegative = ""; - public string altBtnPositive = ""; - public float gravity = 0.0f; - public float deadZone = 0.0f; - public float sensitivity = 0.0f; - public bool snap = false; - public bool invert = false; - public Kind kind = Kind.Axis; - public Axis axis = Axis.X; - public Joy joystick = Joy.All; + public string name = ""; + public string desc = ""; + public string btnNegative = ""; + public string btnPositive = ""; + public string altBtnNegative = ""; + public string altBtnPositive = ""; + public float gravity = 0.0f; + public float deadZone = 0.0f; + public float sensitivity = 0.0f; + public bool snap = false; + public bool invert = false; + public Kind kind = Kind.Axis; + public Axis axis = Axis.X; + public Joy joystick = Joy.All; + + internal bool IsEqual((string name, InputManagerEntry.Kind kind) partialEntry) + => this.name == partialEntry.name && this.kind == partialEntry.kind; + + internal bool IsEqual(InputManagerEntry other) + => this.name == other.name && this.kind == other.kind; } - public class InputRegistering + public static class InputRegistering { - static bool InputAlreadyRegistered(string name, InputManagerEntry.Kind kind, SerializedProperty spAxes) - { - for (var i = 0; i < spAxes.arraySize; ++i) - { - var spAxis = spAxes.GetArrayElementAtIndex(i); - var axisName = spAxis.FindPropertyRelative("m_Name").stringValue; - var kindValue = spAxis.FindPropertyRelative("type").intValue; - if (axisName == name && (int)kind == kindValue) - return true; - } + static List s_PendingInputsToRegister = new List(); - return false; - } + static bool havePendingOperation => s_PendingInputsToRegister.Count > 0; - static void WriteEntry(SerializedProperty spAxes, InputManagerEntry entry) + static void CopyEntry(SerializedProperty spAxis, InputManagerEntry entry) { - if (InputAlreadyRegistered(entry.name, entry.kind, spAxes)) - return; - - spAxes.InsertArrayElementAtIndex(spAxes.arraySize); - var spAxis = spAxes.GetArrayElementAtIndex(spAxes.arraySize - 1); spAxis.FindPropertyRelative("m_Name").stringValue = entry.name; spAxis.FindPropertyRelative("descriptiveName").stringValue = entry.desc; spAxis.FindPropertyRelative("negativeButton").stringValue = entry.btnNegative; @@ -66,8 +57,75 @@ static void WriteEntry(SerializedProperty spAxes, InputManagerEntry entry) spAxis.FindPropertyRelative("joyNum").intValue = (int)entry.joystick; } - public static void RegisterInputs(List entries) + static void AddEntriesWithoutCheck(SerializedProperty spAxes, List newEntries) + { + int endOfCurrentInputList = spAxes.arraySize; + spAxes.arraySize = endOfCurrentInputList + newEntries.Count; + + SerializedProperty spAxis = spAxes.GetArrayElementAtIndex(endOfCurrentInputList); + for (int i = 0; i < newEntries.Count; ++i, spAxis.Next(false)) + CopyEntry(spAxis, newEntries[i]); + } + + // Get a representation of the already registered inputs + static List<(string name, InputManagerEntry.Kind kind)> GetCachedInputs(SerializedProperty spAxes) + { + int size = spAxes.arraySize; + List<(string name, InputManagerEntry.Kind kind)> result = new List<(string name, InputManagerEntry.Kind kind)>(size); + + SerializedProperty spAxis = spAxes.GetArrayElementAtIndex(0); + for (int i = 0; i < size; ++i, spAxis.Next(false)) + result.Add((spAxis.FindPropertyRelative("m_Name").stringValue, (InputManagerEntry.Kind)spAxis.FindPropertyRelative("type").intValue)); + return result; + } + + static void MakeUniquePendingInputsToRegister() + { + for (int pendingIndex = s_PendingInputsToRegister.Count - 1; pendingIndex > 0; --pendingIndex) + { + InputManagerEntry pendingEntry = s_PendingInputsToRegister[pendingIndex]; + int checkedIndex = pendingIndex - 1; + for (; checkedIndex > -1 && !pendingEntry.IsEqual(s_PendingInputsToRegister[checkedIndex]); --checkedIndex) ; + + if (checkedIndex == -1) + continue; + + // There is a duplicate entry in PendingInputesToRegister. + // Debug.LogWarning($"Two entries with same name and kind are tryed to be added at same time. Only first occurence is kept. Name:{pendingEntry.name} Kind:{pendingEntry.kind}"); + + // Keep only first. + // Counting decreasingly will have no impact on index before pendingIndex. So we can safely remove it. + s_PendingInputsToRegister.RemoveAt(pendingIndex); + } + } + + static void RemovePendingInputsToAddThatAreAlreadyRegistered(List<(string name, InputManagerEntry.Kind kind)> cachedEntries, List newEntries) + { + for (int newIndex = newEntries.Count - 1; newIndex >= 0; --newIndex) + { + var newEntry = newEntries[newIndex]; + int checkedIndex = cachedEntries.Count - 1; + for (; checkedIndex > -1 && !newEntry.IsEqual(cachedEntries[checkedIndex]); --checkedIndex) ; + + if (checkedIndex == -1) + continue; + + // There is a already a cached entry that correspond. + // Debug.LogWarning($"Another entry with same name and kind already exist. Skiping this one. Name:{newEntry.name} Kind:{newEntry.kind}"); + + // Keep only first. + // Counting decreasingly will have no impact on index before pendingIndex. So we can safely remove it. + s_PendingInputsToRegister.RemoveAt(newIndex); + } + } + + static void DelayedRegisterInput() { + // Exit quickly if nothing more to register + // (case when several different class try to register, only first call will do all) + if (!havePendingOperation) + return; + // Grab reference to input manager var assets = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/InputManager.asset"); // Temporary fix. This happens some time with HDRP init when it's called before asset database is initialized (probably related to package load order). @@ -76,18 +134,39 @@ public static void RegisterInputs(List entries) var inputManager = assets[0]; - // Wrap in serialized object + // Wrap in serialized object to access c++ fields var soInputManager = new SerializedObject(inputManager); var spAxes = soInputManager.FindProperty("m_Axes"); - foreach (InputManagerEntry entry in entries) - { - WriteEntry(spAxes, entry); - } + // At this point, we assume that entries in spAxes are already unique. + + // Ensure no double entry are tried to be registered (trim early) + MakeUniquePendingInputsToRegister(); + + // Cache already existing entries to minimaly use serialization + var cachedEntries = GetCachedInputs(spAxes); + // And trim pending entries regarding already cached ones. + RemovePendingInputsToAddThatAreAlreadyRegistered(cachedEntries, s_PendingInputsToRegister); + + // Add now unique entries + AddEntriesWithoutCheck(spAxes, s_PendingInputsToRegister); // Commit soInputManager.ApplyModifiedProperties(); } + + public static void RegisterInputs(List entries) + { +#if ENABLE_INPUT_SYSTEM && ENABLE_INPUT_SYSTEM_PACKAGE + Debug.LogWarning("Trying to add entry in the legacy InputManager but using InputSystem package. Skiping."); + return; +#else + s_PendingInputsToRegister.AddRange(entries); + + //delay the call in order to do only one pass event if several different class register inputs + EditorApplication.delayCall += DelayedRegisterInput; +#endif + } } #endif } From 53be5eb2b4de104126d0d1b3f8eaad4c3367c1be Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Wed, 10 Feb 2021 21:52:28 +0100 Subject: [PATCH 060/148] Fix nullref (#3460) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/LayeredLit/LayeredLitGUI.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5a492122b3d..438e7b77639 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -26,6 +26,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed model import by adding additional data if needed. - Fix screen being over-exposed when changing very different skies. - Fixed incorrect debug wireframe overlay on tessellated geometry (using littessellation), caused by the picking pass using an incorrect camera matrix. +- Fixed nullref in layered lit shader editor. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs index fbc15551b18..59a75bf55ce 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs @@ -348,7 +348,7 @@ public static void InitializeMaterialLayers(AssetImporter materialImporter, ref layers[i] = AssetDatabase.LoadAssetAtPath(AssetDatabase.GUIDToAssetPath(layersGUID.GUIDArray[i]), typeof(Material)) as Material; } } - if (layersGUID.withUV.Length > 0) + if (layersGUID.withUV != null && layersGUID.withUV.Length > 0) { withUV = new bool[layersGUID.withUV.Length]; for (int i = 0; i < layersGUID.withUV.Length; ++i) From 7655f877372a1a89356c265c8d4863bcb975218b Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Thu, 11 Feb 2021 15:13:16 +0100 Subject: [PATCH 061/148] Fix DepthOfField CoC debug view (#3466) * Push stuff for debug * changelog Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../PostProcessing/PostProcessSystem.RenderGraph.cs | 11 +++++++---- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 60fc9d7eda2..68303228484 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -27,6 +27,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fix screen being over-exposed when changing very different skies. - Fixed incorrect debug wireframe overlay on tessellated geometry (using littessellation), caused by the picking pass using an incorrect camera matrix. - Fixed nullref in layered lit shader editor. +- Fix issue with Depth of Field CoC debug view. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs index 52848d3862b..27b6d8c191c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs @@ -504,8 +504,8 @@ TextureHandle DepthOfFieldPass(RenderGraph renderGraph, HDCamera hdCamera, Textu passData.farCoC = TextureHandle.nullHandle; } - passData.fullresCoC = builder.CreateTransientTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = k_CoCFormat, enableRandomWrite = true, name = "Full res CoC" }); + passData.fullresCoC = builder.ReadWriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) + { colorFormat = k_CoCFormat, enableRandomWrite = true, name = "Full res CoC" })); GetDoFResolutionScale(passData.parameters, out float unused, out float resolutionScale); float actualNearMaxBlur = passData.parameters.nearMaxBlur * resolutionScale; @@ -557,11 +557,13 @@ TextureHandle DepthOfFieldPass(RenderGraph renderGraph, HDCamera hdCamera, Textu }); source = passData.destination; + + m_HDInstance.PushFullScreenDebugTexture(renderGraph, passData.fullresCoC, FullScreenDebugMode.DepthOfFieldCoc); } else { - passData.fullresCoC = builder.CreateTransientTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = k_CoCFormat, enableRandomWrite = true, useMipMap = true, name = "Full res CoC" }); + passData.fullresCoC = builder.ReadWriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) + { colorFormat = k_CoCFormat, enableRandomWrite = true, useMipMap = true, name = "Full res CoC" })); passData.pingFarRGB = builder.CreateTransientTexture(new TextureDesc(Vector2.one, true, true) { colorFormat = m_ColorFormat, useMipMap = true, enableRandomWrite = true, name = "DoF Source Pyramid" }); @@ -573,6 +575,7 @@ TextureHandle DepthOfFieldPass(RenderGraph renderGraph, HDCamera hdCamera, Textu }); source = passData.destination; + m_HDInstance.PushFullScreenDebugTexture(renderGraph, passData.fullresCoC, FullScreenDebugMode.DepthOfFieldCoc); } } } From 890195a0653e69437df2a8081436289044dc6270 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Fri, 12 Feb 2021 12:25:26 +0100 Subject: [PATCH 062/148] =?UTF-8?q?Fixed=20an=20issue=20with=20first=20fra?= =?UTF-8?q?me=20of=20ao=20causing=20some=20kind=20of=20ghosting=20e?= =?UTF-8?q?=E2=80=A6=20(#3457)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fixed an issue with first frame of ao causing some kind of ghosting effect. * Update changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 68303228484..19e6bcdbfa4 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed incorrect debug wireframe overlay on tessellated geometry (using littessellation), caused by the picking pass using an incorrect camera matrix. - Fixed nullref in layered lit shader editor. - Fix issue with Depth of Field CoC debug view. +- Fixed an issue where first frame of SSAO could exhibit ghosting artefacts. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index dcec61eb556..12e83a49eda 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -36,7 +36,8 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, m_RenderGraph.Begin(renderGraphParams); // We need to initalize the MipChainInfo here, so it will be available to any render graph pass that wants to use it during setup - m_DepthBufferMipChainInfo.ComputePackedMipChainInfo(new Vector2Int(hdCamera.actualWidth, hdCamera.actualHeight)); + // Be careful, ComputePackedMipChainInfo needs the render texture size and not the viewport size. Otherwise it would compute the wrong size. + m_DepthBufferMipChainInfo.ComputePackedMipChainInfo(RTHandles.rtHandleProperties.currentRenderTargetSize); #if UNITY_EDITOR var showGizmos = camera.cameraType == CameraType.Game From 78864e96c016251095bb527a1473de8808061857 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Fri, 12 Feb 2021 20:31:18 +0100 Subject: [PATCH 063/148] Fix mipmap generation internal format (#3470) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../RenderPipeline/RenderPass/MipGenerator.cs | 14 ++++++++++++++ 2 files changed, 15 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 19e6bcdbfa4..e555efe8bd0 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -29,6 +29,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed nullref in layered lit shader editor. - Fix issue with Depth of Field CoC debug view. - Fixed an issue where first frame of SSAO could exhibit ghosting artefacts. +- Fixed an issue with the mipmap generation internal format after rendering format change. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/MipGenerator.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/MipGenerator.cs index ee2591c635d..2b399b70ddf 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/MipGenerator.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/MipGenerator.cs @@ -109,6 +109,13 @@ public int RenderColorGaussianPyramid(CommandBuffer cmd, Vector2Int size, Textur Debug.Assert(source.dimension == destination.dimension, "MipGenerator source texture does not match dimension of destination!"); } + // Check if format has changed since last time we generated mips + if (m_TempColorTargets[rtIndex] != null && m_TempColorTargets[rtIndex].rt.graphicsFormat != destination.graphicsFormat) + { + RTHandles.Release(m_TempColorTargets[rtIndex]); + m_TempColorTargets[rtIndex] = null; + } + // Only create the temporary target on-demand in case the game doesn't actually need it if (m_TempColorTargets[rtIndex] == null) { @@ -134,6 +141,13 @@ public int RenderColorGaussianPyramid(CommandBuffer cmd, Vector2Int size, Textur int tempTargetWidth = srcMipWidth >> 1; int tempTargetHeight = srcMipHeight >> 1; + // Check if format has changed since last time we generated mips + if (m_TempDownsamplePyramid[rtIndex] != null && m_TempDownsamplePyramid[rtIndex].rt.graphicsFormat != destination.graphicsFormat) + { + RTHandles.Release(m_TempDownsamplePyramid[rtIndex]); + m_TempDownsamplePyramid[rtIndex] = null; + } + if (m_TempDownsamplePyramid[rtIndex] == null) { m_TempDownsamplePyramid[rtIndex] = RTHandles.Alloc( From 4402cf252e7e4fa2ce600fb82be34a9f032f5139 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Fri, 12 Feb 2021 21:39:59 +0100 Subject: [PATCH 064/148] Change wizard check to be ok with -force api (#3422) --- .../Editor/Wizard/HDWizard.Configuration.cs | 2 +- .../Editor/Wizard/HDWizard.Window.cs | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs index 3029407d5e8..7c0baea328e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs @@ -580,7 +580,7 @@ void FixDXRAutoGraphicsAPI(bool fromAsyncUnused) => PlayerSettings.SetUseDefaultGraphicsAPIs(CalculateSelectedBuildTarget(), false); bool IsDXRDirect3D12Correct() - => PlayerSettings.GetGraphicsAPIs(CalculateSelectedBuildTarget()).FirstOrDefault() == GraphicsDeviceType.Direct3D12 && !HDProjectSettings.wizardNeedRestartAfterChangingToDX12; + => (SystemInfo.graphicsDeviceType == GraphicsDeviceType.Direct3D12) && !HDProjectSettings.wizardNeedRestartAfterChangingToDX12; void FixDXRDirect3D12(bool fromAsyncUnused) { if (GetSupportedGraphicsAPIs(CalculateSelectedBuildTarget()).Contains(GraphicsDeviceType.Direct3D12)) diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Window.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Window.cs index 7800b3ba87f..e9e600b6d59 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Window.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Window.cs @@ -134,7 +134,7 @@ public ConfigStyle(string label, string error, string button = resolve, MessageT error: "Auto Graphics API is not supported!"); public static readonly ConfigStyle dxrD3D12 = new ConfigStyle( label: "Direct3D 12", - error: "Direct3D 12 is needed! (Editor restart is required)"); + error: "Direct3D 12 needs to be the active device! (Editor restart is required). If an API different than D3D12 is forced via command line argument, clicking Fix won't change it, so please consider removing it if wanting to run DXR."); public static readonly ConfigStyle dxrScreenSpaceShadow = new ConfigStyle( label: "Screen Space Shadows (Asset)", error: "Screen Space Shadows are disabled in the current HDRP Asset which means you cannot enable ray-traced shadows for lights in your scene. To enable this feature, open your HDRP Asset, go to Lighting > Shadows, and enable Screen Space Shadows", messageType: MessageType.Warning); From 4ec6ec46a2017a18766adb55828506ca855e448e Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Sun, 14 Feb 2021 14:43:30 +0100 Subject: [PATCH 065/148] Delete Volumes.meta --- .../Tests/Editor/Volumes.meta | 8 -------- 1 file changed, 8 deletions(-) delete mode 100644 com.unity.render-pipelines.high-definition/Tests/Editor/Volumes.meta diff --git a/com.unity.render-pipelines.high-definition/Tests/Editor/Volumes.meta b/com.unity.render-pipelines.high-definition/Tests/Editor/Volumes.meta deleted file mode 100644 index 861f3bb5683..00000000000 --- a/com.unity.render-pipelines.high-definition/Tests/Editor/Volumes.meta +++ /dev/null @@ -1,8 +0,0 @@ -fileFormatVersion: 2 -guid: d3b76d1b56a702a46a012797c42721d1 -folderAsset: yes -DefaultImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: From 24fa85c22a4405bee6dd60935226991b9fb33557 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Sun, 14 Feb 2021 14:58:30 +0100 Subject: [PATCH 066/148] revert: Hd/fix input registering domain reload #3373 --- com.unity.render-pipelines.core/CHANGELOG.md | 1 - .../Runtime/Debugging/DebugManager.Actions.cs | 2 +- .../Runtime/Inputs/InputRegistering.cs | 157 +++++------------- 3 files changed, 40 insertions(+), 120 deletions(-) diff --git a/com.unity.render-pipelines.core/CHANGELOG.md b/com.unity.render-pipelines.core/CHANGELOG.md index df8d02c8338..f26f55316e7 100644 --- a/com.unity.render-pipelines.core/CHANGELOG.md +++ b/com.unity.render-pipelines.core/CHANGELOG.md @@ -20,7 +20,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Changed Window/Render Pipeline/Graphics Compositor to Window/Rendering/Graphics Compositor - Volume Gizmo Color setting is now under Colors->Scene->Volume Gizmo - Moved Assets/Create/LookDev/Environment Library to Assets/Create/Rendering/Environment Library (Look Dev) -- Optimized InputRegistering computational time. ### Added - Added class for drawing shadow cascades `UnityEditor.Rendering.ShadowCascadeGUI.DrawShadowCascades`. diff --git a/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs b/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs index 8207f1bfa42..14c65746f34 100644 --- a/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs +++ b/com.unity.render-pipelines.core/Runtime/Debugging/DebugManager.Actions.cs @@ -252,7 +252,7 @@ internal float GetAction(DebugAction action) void RegisterInputs() { -#if UNITY_EDITOR && !USE_INPUT_SYSTEM +#if UNITY_EDITOR var inputEntries = new List { new InputManagerEntry { name = kEnableDebugBtn1, kind = InputManagerEntry.Kind.KeyOrButton, btnPositive = "left ctrl", altBtnPositive = "joystick button 8" }, diff --git a/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs b/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs index 07c53fcc4cc..a9f2c6c73c5 100644 --- a/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs +++ b/com.unity.render-pipelines.core/Runtime/Inputs/InputRegistering.cs @@ -11,36 +11,45 @@ public enum Kind { KeyOrButton, Mouse, Axis } public enum Axis { X, Y, Third, Fourth, Fifth, Sixth, Seventh, Eigth } public enum Joy { All, First, Second } - public string name = ""; - public string desc = ""; - public string btnNegative = ""; - public string btnPositive = ""; - public string altBtnNegative = ""; - public string altBtnPositive = ""; - public float gravity = 0.0f; - public float deadZone = 0.0f; - public float sensitivity = 0.0f; - public bool snap = false; - public bool invert = false; - public Kind kind = Kind.Axis; - public Axis axis = Axis.X; - public Joy joystick = Joy.All; - - internal bool IsEqual((string name, InputManagerEntry.Kind kind) partialEntry) - => this.name == partialEntry.name && this.kind == partialEntry.kind; - - internal bool IsEqual(InputManagerEntry other) - => this.name == other.name && this.kind == other.kind; + public string name = ""; + public string desc = ""; + public string btnNegative = ""; + public string btnPositive = ""; + public string altBtnNegative = ""; + public string altBtnPositive = ""; + public float gravity = 0.0f; + public float deadZone = 0.0f; + public float sensitivity = 0.0f; + public bool snap = false; + public bool invert = false; + public Kind kind = Kind.Axis; + public Axis axis = Axis.X; + public Joy joystick = Joy.All; } - public static class InputRegistering + public class InputRegistering { - static List s_PendingInputsToRegister = new List(); + static bool InputAlreadyRegistered(string name, InputManagerEntry.Kind kind, SerializedProperty spAxes) + { + for (var i = 0; i < spAxes.arraySize; ++i) + { + var spAxis = spAxes.GetArrayElementAtIndex(i); + var axisName = spAxis.FindPropertyRelative("m_Name").stringValue; + var kindValue = spAxis.FindPropertyRelative("type").intValue; + if (axisName == name && (int)kind == kindValue) + return true; + } - static bool havePendingOperation => s_PendingInputsToRegister.Count > 0; + return false; + } - static void CopyEntry(SerializedProperty spAxis, InputManagerEntry entry) + static void WriteEntry(SerializedProperty spAxes, InputManagerEntry entry) { + if (InputAlreadyRegistered(entry.name, entry.kind, spAxes)) + return; + + spAxes.InsertArrayElementAtIndex(spAxes.arraySize); + var spAxis = spAxes.GetArrayElementAtIndex(spAxes.arraySize - 1); spAxis.FindPropertyRelative("m_Name").stringValue = entry.name; spAxis.FindPropertyRelative("descriptiveName").stringValue = entry.desc; spAxis.FindPropertyRelative("negativeButton").stringValue = entry.btnNegative; @@ -57,75 +66,8 @@ static void CopyEntry(SerializedProperty spAxis, InputManagerEntry entry) spAxis.FindPropertyRelative("joyNum").intValue = (int)entry.joystick; } - static void AddEntriesWithoutCheck(SerializedProperty spAxes, List newEntries) - { - int endOfCurrentInputList = spAxes.arraySize; - spAxes.arraySize = endOfCurrentInputList + newEntries.Count; - - SerializedProperty spAxis = spAxes.GetArrayElementAtIndex(endOfCurrentInputList); - for (int i = 0; i < newEntries.Count; ++i, spAxis.Next(false)) - CopyEntry(spAxis, newEntries[i]); - } - - // Get a representation of the already registered inputs - static List<(string name, InputManagerEntry.Kind kind)> GetCachedInputs(SerializedProperty spAxes) - { - int size = spAxes.arraySize; - List<(string name, InputManagerEntry.Kind kind)> result = new List<(string name, InputManagerEntry.Kind kind)>(size); - - SerializedProperty spAxis = spAxes.GetArrayElementAtIndex(0); - for (int i = 0; i < size; ++i, spAxis.Next(false)) - result.Add((spAxis.FindPropertyRelative("m_Name").stringValue, (InputManagerEntry.Kind)spAxis.FindPropertyRelative("type").intValue)); - return result; - } - - static void MakeUniquePendingInputsToRegister() - { - for (int pendingIndex = s_PendingInputsToRegister.Count - 1; pendingIndex > 0; --pendingIndex) - { - InputManagerEntry pendingEntry = s_PendingInputsToRegister[pendingIndex]; - int checkedIndex = pendingIndex - 1; - for (; checkedIndex > -1 && !pendingEntry.IsEqual(s_PendingInputsToRegister[checkedIndex]); --checkedIndex) ; - - if (checkedIndex == -1) - continue; - - // There is a duplicate entry in PendingInputesToRegister. - // Debug.LogWarning($"Two entries with same name and kind are tryed to be added at same time. Only first occurence is kept. Name:{pendingEntry.name} Kind:{pendingEntry.kind}"); - - // Keep only first. - // Counting decreasingly will have no impact on index before pendingIndex. So we can safely remove it. - s_PendingInputsToRegister.RemoveAt(pendingIndex); - } - } - - static void RemovePendingInputsToAddThatAreAlreadyRegistered(List<(string name, InputManagerEntry.Kind kind)> cachedEntries, List newEntries) - { - for (int newIndex = newEntries.Count - 1; newIndex >= 0; --newIndex) - { - var newEntry = newEntries[newIndex]; - int checkedIndex = cachedEntries.Count - 1; - for (; checkedIndex > -1 && !newEntry.IsEqual(cachedEntries[checkedIndex]); --checkedIndex) ; - - if (checkedIndex == -1) - continue; - - // There is a already a cached entry that correspond. - // Debug.LogWarning($"Another entry with same name and kind already exist. Skiping this one. Name:{newEntry.name} Kind:{newEntry.kind}"); - - // Keep only first. - // Counting decreasingly will have no impact on index before pendingIndex. So we can safely remove it. - s_PendingInputsToRegister.RemoveAt(newIndex); - } - } - - static void DelayedRegisterInput() + public static void RegisterInputs(List entries) { - // Exit quickly if nothing more to register - // (case when several different class try to register, only first call will do all) - if (!havePendingOperation) - return; - // Grab reference to input manager var assets = AssetDatabase.LoadAllAssetsAtPath("ProjectSettings/InputManager.asset"); // Temporary fix. This happens some time with HDRP init when it's called before asset database is initialized (probably related to package load order). @@ -134,39 +76,18 @@ static void DelayedRegisterInput() var inputManager = assets[0]; - // Wrap in serialized object to access c++ fields + // Wrap in serialized object var soInputManager = new SerializedObject(inputManager); var spAxes = soInputManager.FindProperty("m_Axes"); - // At this point, we assume that entries in spAxes are already unique. - - // Ensure no double entry are tried to be registered (trim early) - MakeUniquePendingInputsToRegister(); - - // Cache already existing entries to minimaly use serialization - var cachedEntries = GetCachedInputs(spAxes); - // And trim pending entries regarding already cached ones. - RemovePendingInputsToAddThatAreAlreadyRegistered(cachedEntries, s_PendingInputsToRegister); - - // Add now unique entries - AddEntriesWithoutCheck(spAxes, s_PendingInputsToRegister); + foreach (InputManagerEntry entry in entries) + { + WriteEntry(spAxes, entry); + } // Commit soInputManager.ApplyModifiedProperties(); } - - public static void RegisterInputs(List entries) - { -#if ENABLE_INPUT_SYSTEM && ENABLE_INPUT_SYSTEM_PACKAGE - Debug.LogWarning("Trying to add entry in the legacy InputManager but using InputSystem package. Skiping."); - return; -#else - s_PendingInputsToRegister.AddRange(entries); - - //delay the call in order to do only one pass event if several different class register inputs - EditorApplication.delayCall += DelayedRegisterInput; -#endif - } } #endif } From 9160de30bb551ee20b8ef8a5abc60f7d81bfced3 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Sun, 14 Feb 2021 18:54:10 +0100 Subject: [PATCH 067/148] update Vulkan win reference screenshots --- .../Linear/WindowsEditor/Vulkan/None/1451_AxF_SVBRDF.png | 4 ++-- .../Linear/WindowsEditor/Vulkan/None/2106_GI_EmissionSG.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1451_AxF_SVBRDF.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1451_AxF_SVBRDF.png index 2aa608243c4..8b63f87795f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1451_AxF_SVBRDF.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1451_AxF_SVBRDF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ecef3f2e6051f448e65294d4f41a2865747b011add065ea252cba869654ed80e -size 175929 +oid sha256:ca54719e7d9d645c5da4a1a88385e6a8744fe170122c96826ed731d88eafaa11 +size 156505 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2106_GI_EmissionSG.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2106_GI_EmissionSG.png index 5665867822e..664668a39f0 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2106_GI_EmissionSG.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2106_GI_EmissionSG.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1f0e0955889aa6b3c6dc4272ce2e3a03864012a7c198aef614346c6aec65cc72 -size 35787 +oid sha256:55e053b228c946ae14d01de64edbd523be97dd6774a5949f69d40320abc300d3 +size 33143 From e1d44d1e6dc3a9dead1619391a60b17707dcbaa1 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Sun, 14 Feb 2021 20:16:08 +0100 Subject: [PATCH 068/148] Fixed performance issue with ShaderGraph and Alpha Test --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/ShaderGraph/Templates/ShaderPass.template | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index b22f43a64a1..3b736c11f3f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -33,6 +33,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fix issue with Depth of Field CoC debug view. - Fixed an issue where first frame of SSAO could exhibit ghosting artefacts. - Fixed an issue with the mipmap generation internal format after rendering format change. +- Fixed performance issue with ShaderGraph and Alpha Test ### Added - Added new AOV APIs for overriding the internal rendering format, and for outputing the world space position. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template index d9bb49edfd3..04835591208 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template @@ -103,7 +103,7 @@ Pass #ifndef DEBUG_DISPLAY // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI) // Don't do it with debug display mode as it is possible there is no depth prepass in this case - #if !defined(_SURFACE_TYPE_TRANSPARENT) && defined(_ALPHATEST) + #if !defined(_SURFACE_TYPE_TRANSPARENT) #if SHADERPASS == SHADERPASS_FORWARD #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST #elif SHADERPASS == SHADERPASS_GBUFFER From b0aaf4193a6144e9f2597c213036c6fd8eaeba4a Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Mon, 15 Feb 2021 14:39:05 +0100 Subject: [PATCH 069/148] Fixed dimensionality of a couple vectors (from 3 to 2). (#3395) --- .../ScreenSpaceLighting/ScreenSpaceReflections.compute | 2 +- .../RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl | 4 ++-- .../RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute index 4ba7e6606d5..7e68179e725 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute @@ -120,7 +120,7 @@ bool SampleGGX_VNDF(float roughness_, float VdotH; float3 localV, localH; - SampleGGXVisibleNormal(inputSample, V, localToWorld, roughness, localV, localH, VdotH); + SampleGGXVisibleNormal(inputSample.xy, V, localToWorld, roughness, localV, localH, VdotH); // Compute the reflection direction float3 localL = 2.0 * VdotH * localH - localV; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl index 50166eae6f7..7e1aa6aec5a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl @@ -110,7 +110,7 @@ bool SampleAnisoGGX(MaterialData mtlData, float VdotH; float3 localV, localH; float3x3 localToWorld = GetTangentFrame(mtlData); - SampleAnisoGGXVisibleNormal(inputSample, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); + SampleAnisoGGXVisibleNormal(inputSample.xy, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); // Compute the reflection direction float3 localL = 2.0 * VdotH * localH - localV; @@ -336,7 +336,7 @@ bool SampleAnisoGGX(MaterialData mtlData, float VdotH; float3 localV, localH; float3x3 localToWorld = GetTangentFrame(mtlData); - SampleAnisoGGXVisibleNormal(inputSample, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); + SampleAnisoGGXVisibleNormal(inputSample.xy, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); // Compute refraction direction instead of reflection float3 localL = refract(-localV, localH, 1.0 / mtlData.bsdfData.ior); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl index 2867ba0e339..ae8ee443015 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl @@ -130,7 +130,7 @@ void ComputeVolumeScattering(inout PathIntersection pathIntersection : SV_RayPay // Light sampling if (computeDirect) { - if (SampleLights(lightList, inputSample.xyz, scatteringPosition, 0.0, ray.Direction, value, pdf, ray.TMax)) + if (SampleLights(lightList, inputSample, scatteringPosition, 0.0, ray.Direction, value, pdf, ray.TMax)) { // FIXME: Apply phase function and divide by pdf (only isotropic for now, and not sure about sigmaS value) value *= _HeightFogBaseScattering.xyz * ComputeHeightFogMultiplier(scatteringPosition.y) * INV_FOUR_PI / pdf; From 0ef72d6cf02c2574c8c0d8fba2acb062f20de288 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Wed, 17 Feb 2021 12:51:30 +0100 Subject: [PATCH 070/148] Fix error when increasing the maximum planar reflection limit (#3332) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 6 +----- .../Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs | 2 +- .../Editor/RenderPipeline/HDRenderPipelineUI.cs | 3 +++ 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3b736c11f3f..40c46a4cc07 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -34,9 +34,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue where first frame of SSAO could exhibit ghosting artefacts. - Fixed an issue with the mipmap generation internal format after rendering format change. - Fixed performance issue with ShaderGraph and Alpha Test - -### Added -- Added new AOV APIs for overriding the internal rendering format, and for outputing the world space position. +- Fixed error when increasing the maximum planar reflection limit (case 1306530). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard @@ -60,8 +58,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Change Assets/Create/Rendering/C# Custom Pass to Assets/Create/Rendering/HDRP C# Custom Pass - Change Assets/Create/Rendering/C# Post Process Volume to Assets/Create/Rendering/HDRP C# Post Process Volume - Change labels about scroll direction and cloud type. - -### Changed - Improved shadow cascade GUI drawing with pixel perfect, hover and focus functionalities. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs index e8941a4830c..d679cbb6eb3 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs @@ -189,7 +189,7 @@ public class GeneralSection public static readonly GUIContent pointCoockieSizeContent = EditorGUIUtility.TrTextContent("Point Cookie Size", "Specifies the maximum size for the Cube cookies HDRP uses for Point Lights."); #endif public static readonly GUIContent pointCookieTextureArraySizeContent = EditorGUIUtility.TrTextContent("Cubemap Array Size", "Sets the maximum Texture Array size for the Cube cookies HDRP uses for Directional and Spot Lights. Higher values allow HDRP to use more cookies concurrently on screen."); - public static readonly GUIContent maxPlanarReflectionOnScreen = EditorGUIUtility.TrTextContent("Max Planar Reflection On Screen", "Sets the maximum number of the Planar Reflection HDRP can handle on screen at once."); + public static readonly GUIContent maxPlanarReflectionOnScreen = EditorGUIUtility.TrTextContent("Max Planar Reflection On Screen", "Sets the maximum number of the Planar Reflection HDRP can handle on screen at once. For performance reasons this number cannot be higher than 32."); public static readonly GUIContent cookieAtlasSizeContent = EditorGUIUtility.TrTextContent("2D Atlas Size", "Specifies the size of the atlas used for 2D cookies (Directional, Spot and Rectangle Lights)."); public static readonly GUIContent cookieAtlasFormatContent = EditorGUIUtility.TrTextContent("Format", "Specifies the HDR format of the atlas used for 2D cookies. R16G16B16A16 can be use for EXR cookies (it provides more precision than R11G11B10)"); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs index a09a4cfa719..32363ce604b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -383,7 +383,10 @@ static void Drawer_SectionReflection(SerializedHDRenderPipelineAsset serialized, string message = string.Format(Styles.cacheInfoFormat, HDEditorUtils.HumanizeWeight(currentCache)); EditorGUILayout.HelpBox(message, MessageType.Info); } + EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.lightLoopSettings.maxPlanarReflectionOnScreen, Styles.maxPlanarReflectionOnScreen); + if (EditorGUI.EndChangeCheck()) + serialized.renderPipelineSettings.lightLoopSettings.maxPlanarReflectionOnScreen.intValue = Mathf.Clamp(serialized.renderPipelineSettings.lightLoopSettings.maxPlanarReflectionOnScreen.intValue, 1, ShaderVariablesGlobal.s_MaxEnv2DLight); } EditorGUILayout.Space(); From 08187138dae036b13b96e27141733d177b46f8a5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fr=C3=A9d=C3=A9ric=20Vauchelles?= <55485372+fredericv-unity3d@users.noreply.github.com> Date: Wed, 17 Feb 2021 21:10:02 +0100 Subject: [PATCH 071/148] Updated documentation of RequestRenderNextUpdate (#3368) * Updated documentation of RequestRenderNextUpdate * Fixed documentation * Update HDProbe.cs * Update HDAdditionalReflectionData.cs Co-authored-by: Lewis Jordan --- .../Reflection/HDAdditionalReflectionData.cs | 14 ++++++++------ .../Runtime/Lighting/Reflection/HDProbe.cs | 12 ++++++++---- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDAdditionalReflectionData.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDAdditionalReflectionData.cs index dc451fa870f..6d20e500ca7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDAdditionalReflectionData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDAdditionalReflectionData.cs @@ -21,14 +21,16 @@ void Awake() public static class HDAdditionalReflectionDataExtensions { /// - /// Request to render this probe next update. + /// Requests that Unity renders the passed in Reflection Probe during the next update. + /// + /// + /// If you call this method for a Reflection Probe using mode, Unity renders the probe the next time the probe influences a Camera rendering. /// - /// Call this method with the mode and the probe will - /// be rendered the next time it will influence a camera rendering. + /// If the Reflection Probe doesn't have an attached component, calling this function has no effect. /// - /// If the probe don't have a component, nothing is done. - /// - /// The probe to request a render. + /// Note: If any part of a Camera's frustum intersects a Reflection Probe's influence volume, the Reflection Probe influences the Camera. + /// + /// The Reflection Probe to request a render for. public static void RequestRenderNextUpdate(this ReflectionProbe probe) { var add = probe.GetComponent(); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs index 78f74dbecb3..1afae697dff 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/HDProbe.cs @@ -534,11 +534,15 @@ internal void SetIsRendered() public virtual void PrepareCulling() {} /// - /// Request to render this probe next update. - /// - /// Call this method with the mode and the probe will - /// be rendered the next time it will influence a camera rendering. + /// Requests that Unity renders this Reflection Probe during the next update. /// + /// + /// If the Reflection Probe uses mode, Unity renders the probe the next time the probe influences a Camera rendering. + /// + /// If the Reflection Probe doesn't have an attached component, calling this function has no effect. + /// + /// Note: If any part of a Camera's frustum intersects a Reflection Probe's influence volume, the Reflection Probe influences the Camera. + /// public void RequestRenderNextUpdate() => m_WasRenderedSinceLastOnDemandRequest = false; // Forces the re-rendering for both OnDemand and OnEnable From 3c893e8a56ae714e08b14bbfb9bdd7caa14aee58 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Mon, 22 Feb 2021 16:09:39 +0100 Subject: [PATCH 072/148] Fix alpha output in AOVs and debug views when using shadow matte (#3593) * Fix shader compile error with debug output and shadow matte * Correct alpha output in AOVs and material debug when using shadow matte * Update changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Material/MaterialEvaluation.hlsl | 2 +- .../Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs | 4 ++++ 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 40c46a4cc07..addca2e7752 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -35,6 +35,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue with the mipmap generation internal format after rendering format change. - Fixed performance issue with ShaderGraph and Alpha Test - Fixed error when increasing the maximum planar reflection limit (case 1306530). +- Fixed alpha output in debug view and AOVs when using shadow matte (case 1311830). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialEvaluation.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialEvaluation.hlsl index ed4da254a78..f72915e4933 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialEvaluation.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialEvaluation.hlsl @@ -124,7 +124,7 @@ void ApplyAmbientOcclusionFactor(AmbientOcclusionFactor aoFactor, inout BuiltinD lighting.direct.specular *= aoFactor.directSpecularOcclusion; } -#if defined(DEBUG_DISPLAY) && defined(HAS_LIGHTLOOP) +#if defined(DEBUG_DISPLAY) && defined(HAS_LIGHTLOOP) && !defined(_ENABLE_SHADOW_MATTE) // mipmapColor is color use to store texture streaming information in XXXData.hlsl (look for DEBUGMIPMAPMODE_NONE) void PostEvaluateBSDFDebugDisplay( AmbientOcclusionFactor aoFactor, BuiltinData builtinData, AggregateLighting lighting, float3 mipmapColor, inout LightLoopOutput lightLoopOutput) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index d19891c31a4..0ca226116ee 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -96,6 +96,10 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, } else if (m_CurrentDebugDisplaySettings.IsDebugMaterialDisplayEnabled() || m_CurrentDebugDisplaySettings.IsMaterialValidationEnabled() || CoreUtils.IsSceneLightingDisabled(hdCamera.camera)) { + // For alpha output in AOVs or debug views, in case we have a shadow matte material, we need to render the shadow maps + if (m_CurrentDebugDisplaySettings.data.materialDebugSettings.debugViewMaterialCommonValue == Attributes.MaterialSharedProperty.Alpha) + RenderShadows(m_RenderGraph, hdCamera, cullingResults, ref shadowResult); + // Stop Single Pass is after post process. StartXRSinglePass(m_RenderGraph, hdCamera); From 26d6266ae9aa3b2b60fb03549eb2632c5429775b Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Tue, 23 Feb 2021 17:00:34 +0100 Subject: [PATCH 073/148] Added an additional check in the "check scene for ray tracing" (case 1314963). (#3616) --- .../CHANGELOG.md | 1 + .../RenderPipeline/HDRenderPipelineMenuItems.cs | 15 +++++++++++++++ 2 files changed, 16 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5ee255d0390..3c11cecc548 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -19,6 +19,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added browsing of the documentation of Compositor Window - Added a complete solution for volumetric clouds for HDRP including a cloud map generation tool. - Added a Force Forward Emissive option for Lit Material that forces the Emissive contribution to render in a separate forward pass when the Lit Material is in Deferred Lit shader Mode. +- Added an additional check in the "check scene for ray tracing" (case 1314963). ### Fixed - Fixed an exception when opening the color picker in the material UI (case 1307143). diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs index 37350383001..e03448eafa5 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs @@ -528,6 +528,8 @@ static void CheckSceneContentForRayTracing(MenuCommand menuCommand) bool materialIsOnlyTransparent = true; bool hasTransparentSubMaterial = false; + bool singleSided = true; + bool hasSingleSided = false; for (int meshIdx = 0; meshIdx < numSubMeshes; ++meshIdx) { @@ -547,6 +549,13 @@ static void CheckSceneContentForRayTracing(MenuCommand menuCommand) // aggregate the transparency info materialIsOnlyTransparent &= materialIsTransparent; hasTransparentSubMaterial |= materialIsTransparent; + + // Evaluate if it is single sided + bool doubleSided = currentMaterial.doubleSidedGI || currentMaterial.IsKeywordEnabled("_DOUBLESIDED_ON"); + + // Aggregate the double sided information + hasSingleSided |= !doubleSided; + singleSided &= !doubleSided; } else { @@ -561,6 +570,12 @@ static void CheckSceneContentForRayTracing(MenuCommand menuCommand) Debug.LogWarning("The object " + currentRenderer.name + " has both transparent and opaque sub-meshes. This may cause performance issues"); generalErrorFlag = true; } + + if (!singleSided && hasSingleSided) + { + Debug.LogWarning("The object " + currentRenderer.name + " has both double sided and single sided sub-meshes. The double sided flag will be ignored."); + generalErrorFlag = true; + } } if (!generalErrorFlag) From 1bf4e2e071f59db9dea75eecf24c954b91e488f8 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Tue, 23 Feb 2021 18:17:21 +0100 Subject: [PATCH 074/148] Fixed an issue with transparent meshes writing their depths and recursive rendering (case 1314409). (#3619) --- ...506_RecursiveRenderingTransparentLayer.png | 3 + ...ecursiveRenderingTransparentLayer.png.meta | 96 ++++ ...6_RecursiveRenderingTransparentLayer.unity | 494 ++++++++++++++++++ ...ursiveRenderingTransparentLayer.unity.meta | 7 + .../M_TransparentPrepass.mat | 285 ++++++++++ .../M_TransparentPrepass.mat.meta | 8 + .../ProjectSettings/EditorBuildSettings.asset | 3 + .../CHANGELOG.md | 1 + .../HDRenderPipeline.RenderGraph.cs | 5 +- 9 files changed, 901 insertions(+), 1 deletion(-) create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat.meta diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png new file mode 100644 index 00000000000..74ba7cd4997 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8c3093b64ce17023d6b1afcf2423de2128c9047d08e635c946286d5617f9f98d +size 244228 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png.meta new file mode 100644 index 00000000000..35f5f36bbc1 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/506_RecursiveRenderingTransparentLayer.png.meta @@ -0,0 +1,96 @@ +fileFormatVersion: 2 +guid: f38f5b4f23b0f7c45875c30a76485e81 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity new file mode 100644 index 00000000000..32384a88d36 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity @@ -0,0 +1,494 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0.10516715, g: 0.11057758, b: 0.09978673, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 1 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 4890085278179872738, guid: e0c93a721dfc26c4281cdf68f91e6977, + type: 2} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &65555951 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 6117102520564098274, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_Name + value: RayTracingFrameIndexDisplay + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_RootOrder + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalScale.x + value: -0.5 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalScale.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalPosition.y + value: 4.38 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalPosition.z + value: 3.77 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalRotation.y + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: -90 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 6117102520564098278, guid: 0c9fcf2263b163643b5bc77eddcf9135, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 0c9fcf2263b163643b5bc77eddcf9135, type: 3} +--- !u!1 &198290123 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 198290127} + - component: {fileID: 198290126} + - component: {fileID: 198290125} + - component: {fileID: 198290124} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &198290124 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198290123} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &198290125 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198290123} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5036e2ae60a6bee4ab83185ad1db132f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &198290126 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198290123} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &198290127 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 198290123} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 3.468, z: 0} + m_LocalScale: {x: 5, y: 5, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1001 &4691666884320655495 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 2096698042741976049, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_Name + value: RecursiveRenderingData + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 2316850127638275288, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4691666882316423981, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_SkySettings + value: + objectReference: {fileID: 0} + - target: {fileID: 4691666882341328420, guid: 6f709ee34ef3654408ec4e18f30ad560, + type: 3} + propertyPath: m_Version + value: 11 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 6f709ee34ef3654408ec4e18f30ad560, type: 3} +--- !u!1001 &6540916525312135199 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalPosition.y + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalPosition.z + value: -3.5 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.9961947 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalRotation.x + value: 0.08715578 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1734518174987435543, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1736364350498136135, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 1755202032487953091, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: field of view + value: 20 + objectReference: {fileID: 0} + - target: {fileID: 1755202032487953091, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_FocalLength + value: 68.05538 + objectReference: {fileID: 0} + - target: {fileID: 1838665344073080247, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: waitFrames + value: 5 + objectReference: {fileID: 0} + - target: {fileID: 1838665344073080247, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: checkMemoryAllocation + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 1838665344073080247, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: renderGraphCompatible + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 1838665344073080247, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: ImageComparisonSettings.TargetWidth + value: 640 + objectReference: {fileID: 0} + - target: {fileID: 1838665344073080247, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: ImageComparisonSettings.TargetHeight + value: 480 + objectReference: {fileID: 0} + - target: {fileID: 1840581321238557961, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 1840581321238557961, guid: 331e07d695ca55a4081f1b96408bb7a0, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 331e07d695ca55a4081f1b96408bb7a0, type: 3} diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity.meta new file mode 100644 index 00000000000..42f9589e67e --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 80273b12646e091409e2665bd76196ff +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat new file mode 100644 index 00000000000..7fe3483acdc --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat @@ -0,0 +1,285 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_TransparentPrepass + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _NORMALMAP_TANGENT_SPACE + _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - ForwardEmissiveForDeferred + - MOTIONVECTORS + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 10 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 1 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 1 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 4 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 0.015686275} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 0.015686275} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4461885261608335009 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat.meta new file mode 100644 index 00000000000..bb5fb9ef474 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/RecursiveRenderingData/M_TransparentPrepass.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5036e2ae60a6bee4ab83185ad1db132f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset index b19f34a52ee..186d745f68b 100644 --- a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset @@ -89,6 +89,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/505_RecursiveRenderingFog.unity guid: 59b393015a21d114d908a93adc455494 + - enabled: 1 + path: Assets/Scenes/506_RecursiveRenderingTransparentLayer.unity + guid: 80273b12646e091409e2665bd76196ff - enabled: 1 path: Assets/Scenes/601_LightCluster.unity guid: ae5dc8f852816f04f974d29fcc766c4d diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3c11cecc548..d593c300cf8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -49,6 +49,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed performance issue with ShaderGraph and Alpha Test - Fixed error when increasing the maximum planar reflection limit (case 1306530). - Fixed alpha output in debug view and AOVs when using shadow matte (case 1311830). +- Fixed an issue with transparent meshes writing their depths and recursive rendering (case 1314409). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 87d87171913..3988cd3bb33 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -989,11 +989,14 @@ TextureHandle RenderTransparency(RenderGraph renderGraph, AOVRequestData aovRequest, List aovCustomPassBuffers) { + // Transparent (non recursive) objects that are rendered in front of transparent (recursive) require the recursive rendering to be executed for that pixel. + // This means our flagging process needs to happen before the transparent depth prepass as we use the depth to discriminate pixels that do not need recursive rendering. + var flagMaskBuffer = RenderRayTracingFlagMask(renderGraph, cullingResults, hdCamera, prepassOutput.depthBuffer); + RenderTransparentDepthPrepass(renderGraph, hdCamera, prepassOutput, cullingResults); var ssrLightingBuffer = RenderSSR(renderGraph, hdCamera, ref prepassOutput, renderGraph.defaultResources.blackTextureXR, rayCountTexture, skyTexture, transparent: true); - var flagMaskBuffer = RenderRayTracingFlagMask(renderGraph, cullingResults, hdCamera, prepassOutput.depthBuffer); colorBuffer = RaytracingRecursiveRender(renderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, flagMaskBuffer, rayCountTexture); // TODO RENDERGRAPH: Remove this when we properly convert custom passes to full render graph with explicit color buffer reads. From be375de196e57d7ca40aa6cfc590c701c693f1b8 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Tue, 23 Feb 2021 18:19:22 +0100 Subject: [PATCH 075/148] Fixed issue with compositor custom pass hooks added/removed repeatedly (#3613) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Compositor/CompositionManager.cs | 6 +++++- 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d593c300cf8..d451b6992f4 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -50,6 +50,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed error when increasing the maximum planar reflection limit (case 1306530). - Fixed alpha output in debug view and AOVs when using shadow matte (case 1311830). - Fixed an issue with transparent meshes writing their depths and recursive rendering (case 1314409). +- Fixed issue with compositor custom pass hooks added/removed repeatedly (case 1315971). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs index 4ebc91559a6..1536e3e7845 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Compositor/CompositionManager.cs @@ -61,6 +61,10 @@ public bool enableOutput { if (m_OutputCamera) { + // If the state did not change, don't do anything + if (m_OutputCamera.enabled == value) + return; + m_OutputCamera.enabled = value; // Aside from the output compositor camera, we also have to change the cameras of the layers @@ -496,7 +500,7 @@ public void UpdateLayerSetup() void Update() { // TODO: move all validation calls to onValidate. Before doing it, this needs some extra testing to ensure nothing breaks - if (ValidatePipeline() == false || ValidateAndFixRuntime() == false || RuntimeCheck() == false) + if (enableOutput == false || ValidatePipeline() == false || ValidateAndFixRuntime() == false || RuntimeCheck() == false) { return; } From 28a50168aaf1c1d89eb92eed7a001d9662d7d92b Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Tue, 23 Feb 2021 18:40:44 +0100 Subject: [PATCH 076/148] [HDRP] Fixed SSR with SSR_Transparent (#3603) * Fixed SSR used with transparent: Keyword overrided * Change Log Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../RenderPipeline/HDRenderPipeline.LightLoop.cs | 15 +++++++++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d451b6992f4..0c689367d4f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -51,6 +51,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed alpha output in debug view and AOVs when using shadow matte (case 1311830). - Fixed an issue with transparent meshes writing their depths and recursive rendering (case 1314409). - Fixed issue with compositor custom pass hooks added/removed repeatedly (case 1315971). +- Fixed: SSR with transparent (case 1311088) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs index ccbd1e54e6b..3300893e56f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs @@ -508,13 +508,13 @@ TextureHandle RenderSSR(RenderGraph renderGraph, passData.reprojectionKernel = m_SsrReprojectionKernel; passData.accumulateKernel = m_SsrAccumulateKernel; passData.transparentSSR = transparent; - passData.usePBRAlgo = !transparent && volumeSettings.usedAlgorithm.value == ScreenSpaceReflectionAlgorithm.PBRAccumulation; + passData.usePBRAlgo = usePBRAlgo; passData.width = hdCamera.actualWidth; passData.height = hdCamera.actualHeight; passData.viewCount = hdCamera.viewCount; passData.offsetBufferData = m_DepthBufferMipChainInfo.GetOffsetBufferData(m_DepthPyramidMipLevelOffsetsBuffer); passData.accumNeedClear = usePBRAlgo; - passData.previousAccumNeedClear = usePBRAlgo && (hdCamera.currentSSRAlgorithm == ScreenSpaceReflectionAlgorithm.Approximation || hdCamera.isFirstFrame); + passData.previousAccumNeedClear = usePBRAlgo && (hdCamera.currentSSRAlgorithm == ScreenSpaceReflectionAlgorithm.Approximation || hdCamera.isFirstFrame || hdCamera.resetPostProcessingHistory); hdCamera.currentSSRAlgorithm = volumeSettings.usedAlgorithm.value; // Store for next frame comparison passData.depthBuffer = builder.ReadTexture(prepassOutput.depthBuffer); @@ -554,8 +554,15 @@ TextureHandle RenderSSR(RenderGraph renderGraph, if (data.previousAccumNeedClear) CoreUtils.SetRenderTarget(ctx.cmd, data.ssrAccumPrev, ClearFlag.Color, Color.clear); - CoreUtils.SetKeyword(cs, "SSR_APPROX", !data.usePBRAlgo); - CoreUtils.SetKeyword(cs, "DEPTH_SOURCE_NOT_FROM_MIP_CHAIN", data.transparentSSR); + if (!data.usePBRAlgo) + ctx.cmd.EnableShaderKeyword("SSR_APPROX"); + else + ctx.cmd.DisableShaderKeyword("SSR_APPROX"); + + if (data.transparentSSR) + ctx.cmd.EnableShaderKeyword("DEPTH_SOURCE_NOT_FROM_MIP_CHAIN"); + else + ctx.cmd.EnableShaderKeyword("DEPTH_SOURCE_NOT_FROM_MIP_CHAIN"); using (new ProfilingScope(ctx.cmd, ProfilingSampler.Get(HDProfileId.SsrTracing))) { From bf1a486e0e544307c03ad2d7bbb35e76f1ea669d Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Tue, 23 Feb 2021 20:08:12 +0100 Subject: [PATCH 077/148] Decal in material debug display (#3608) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../UIBlocks/DecalSurfaceInputsUIBlock.cs | 2 +- .../Runtime/Material/Decal/DecalData.hlsl | 5 +---- .../RenderPipeline/HDRenderPipeline.Debug.cs | 17 ++++++++++++++++- .../HDRenderPipeline.RenderGraph.cs | 4 +++- 5 files changed, 22 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 0c689367d4f..b85e09bebf8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -52,6 +52,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed an issue with transparent meshes writing their depths and recursive rendering (case 1314409). - Fixed issue with compositor custom pass hooks added/removed repeatedly (case 1315971). - Fixed: SSR with transparent (case 1311088) +- Fixed decals in material debug display. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard 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 e30aaa8ae68..364e39e1510 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 @@ -246,7 +246,7 @@ void DrawDecalGUI() materialEditor.ShaderProperty(smoothness, Styles.smoothnessText); } - PopupShaderProperty(maskBlendSrc, Styles.normalOpacityChannelText, allMaskMap ? blendSourceNames : blendSourceNamesNoMap); + PopupShaderProperty(maskBlendSrc, Styles.maskOpacityChannelText, allMaskMap ? blendSourceNames : blendSourceNamesNoMap); EditorGUI.indentLevel--; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalData.hlsl index 4c3bd1d4f3f..34dfab7ef89 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalData.hlsl @@ -24,7 +24,7 @@ void GetSurfaceData(FragInputs input, float3 V, PositionInputs posInput, float a #endif float albedoMapBlend = fadeFactor; - float maskMapBlend = fadeFactor; + float maskMapBlend = _DecalMaskMapBlueScale * fadeFactor; ZERO_INITIALIZE(DecalSurfaceData, surfaceData); @@ -57,7 +57,6 @@ void GetSurfaceData(FragInputs input, float3 V, PositionInputs posInput, float a #ifdef _MATERIAL_AFFECTS_MASKMAP #ifdef _MASKMAP surfaceData.mask = SAMPLE_TEXTURE2D(_MaskMap, sampler_MaskMap, texCoords); - surfaceData.mask.z *= _DecalMaskMapBlueScale; maskMapBlend *= surfaceData.mask.z; // store before overwriting with smoothness #ifdef DECALS_4RT surfaceData.mask.x = lerp(_MetallicRemapMin, _MetallicRemapMax, surfaceData.mask.x); @@ -65,8 +64,6 @@ void GetSurfaceData(FragInputs input, float3 V, PositionInputs posInput, float a #endif surfaceData.mask.z = lerp(_SmoothnessRemapMin, _SmoothnessRemapMax, surfaceData.mask.w); #else - surfaceData.mask.z = _DecalMaskMapBlueScale; - maskMapBlend *= surfaceData.mask.z; // store before overwriting with smoothness #ifdef DECALS_4RT surfaceData.mask.x = _Metallic; surfaceData.mask.y = _AO; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs index 8c917eb33b4..898a067f3d3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs @@ -1012,12 +1012,16 @@ class DebugViewMaterialData public Material debugGBufferMaterial; public FrameSettings frameSettings; + public bool decalsEnabled; + public ComputeBufferHandle perVoxelOffset; + public DBufferOutput dbuffer; + public Texture clearColorTexture; public RenderTexture clearDepthTexture; public bool clearDepth; } - TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cull, HDCamera hdCamera) + TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cull, HDCamera hdCamera, BuildGPULightListOutput lightLists, DBufferOutput dbuffer) { bool msaa = hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA); @@ -1066,6 +1070,10 @@ TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cu rendererConfiguration: m_CurrentRendererConfigurationBakedLighting, stateBlock: m_DepthStateNoWrite))); + passData.decalsEnabled = (hdCamera.frameSettings.IsEnabled(FrameSettingsField.Decals)) && (DecalSystem.m_DecalDatasCount > 0); + passData.perVoxelOffset = builder.ReadComputeBuffer(lightLists.perVoxelOffset); + passData.dbuffer = ReadDBuffer(dbuffer, builder); + passData.clearColorTexture = Compositor.CompositionManager.GetClearTextureForStackedCamera(hdCamera); // returns null if is not a stacked camera passData.clearDepthTexture = Compositor.CompositionManager.GetClearDepthForStackedCamera(hdCamera); // returns null if is not a stacked camera passData.clearDepth = hdCamera.clearDepth; @@ -1080,7 +1088,14 @@ TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cu { HDUtils.BlitColorAndDepth(context.cmd, data.clearColorTexture, data.clearDepthTexture, new Vector4(1, 1, 0, 0), 0, !data.clearDepth); } + + BindDBufferGlobalData(data.dbuffer, context); DrawOpaqueRendererList(context, data.frameSettings, data.opaqueRendererList); + + if (data.decalsEnabled) + DecalSystem.instance.SetAtlas(context.cmd); // for clustered decals + if (data.perVoxelOffset.IsValid()) + context.cmd.SetGlobalBuffer(HDShaderIDs.g_vLayeredOffsetsBuffer, data.perVoxelOffset); DrawTransparentRendererList(context, data.frameSettings, data.transparentRendererList); }); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 3988cd3bb33..2946507cc6a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -97,6 +97,8 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, } else if (m_CurrentDebugDisplaySettings.IsDebugMaterialDisplayEnabled() || m_CurrentDebugDisplaySettings.IsMaterialValidationEnabled() || CoreUtils.IsSceneLightingDisabled(hdCamera.camera)) { + gpuLightListOutput = BuildGPULightList(m_RenderGraph, hdCamera, m_TileAndClusterData, m_TotalLightCount, ref m_ShaderVariablesLightListCB, prepassOutput.depthBuffer, prepassOutput.stencilBuffer, prepassOutput.gbuffer); + // For alpha output in AOVs or debug views, in case we have a shadow matte material, we need to render the shadow maps if (m_CurrentDebugDisplaySettings.data.materialDebugSettings.debugViewMaterialCommonValue == Attributes.MaterialSharedProperty.Alpha) RenderShadows(m_RenderGraph, hdCamera, cullingResults, ref shadowResult); @@ -104,7 +106,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, // Stop Single Pass is after post process. StartXRSinglePass(m_RenderGraph, hdCamera); - colorBuffer = RenderDebugViewMaterial(m_RenderGraph, cullingResults, hdCamera); + colorBuffer = RenderDebugViewMaterial(m_RenderGraph, cullingResults, hdCamera, gpuLightListOutput, prepassOutput.dbuffer); colorBuffer = ResolveMSAAColor(m_RenderGraph, hdCamera, colorBuffer); } else if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && From 2c5b4e064c0610387150661bcb50068a76285e74 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 23 Feb 2021 20:24:22 +0100 Subject: [PATCH 078/148] Formatting --- .../Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 2946507cc6a..b85351891b4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -994,7 +994,7 @@ TextureHandle RenderTransparency(RenderGraph renderGraph, // Transparent (non recursive) objects that are rendered in front of transparent (recursive) require the recursive rendering to be executed for that pixel. // This means our flagging process needs to happen before the transparent depth prepass as we use the depth to discriminate pixels that do not need recursive rendering. var flagMaskBuffer = RenderRayTracingFlagMask(renderGraph, cullingResults, hdCamera, prepassOutput.depthBuffer); - + RenderTransparentDepthPrepass(renderGraph, hdCamera, prepassOutput, cullingResults); var ssrLightingBuffer = RenderSSR(renderGraph, hdCamera, ref prepassOutput, renderGraph.defaultResources.blackTextureXR, rayCountTexture, skyTexture, transparent: true); From 21de71051c13c131bde466aabad6227c17278b73 Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Wed, 24 Feb 2021 12:52:23 +0100 Subject: [PATCH 079/148] Hd/fix pivot size ratio percistency through 0 (#3600) * Change default pivot * Fix ratio persistency through 0 size (case 1308338) * Update CHANGELOG.md * Added multi edition support * Add missing Undo recording * Fix multi edition initialization and multiple state display and targets used in OnSceneGUI * Add missing projection update * Fix inspector refresh when there is multiple different value and we edit them (remove multiple state) Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 2 +- .../Material/Decal/DecalProjectorEditor.cs | 84 ++++++++++++++++--- .../Runtime/Material/Decal/DecalProjector.cs | 4 +- 3 files changed, 77 insertions(+), 13 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 637f00f3e73..69bf8fc7e0d 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -54,8 +54,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with compositor custom pass hooks added/removed repeatedly (case 1315971). - Fixed: SSR with transparent (case 1311088) - Fixed decals in material debug display. - - Fixed WouldFitInAtlas that would previously return wrong results if any one face of a point light would fit (it used to return true even though the light in entirety wouldn't fit). +- Fixed loss of persistency of ratio between pivot position and size when sliding by 0 in DecalProjector inspector (case 1308338) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs index 6ee8433e5bf..ebca7197512 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs @@ -214,6 +214,8 @@ private void OnEnable() }; m_FadeFactor = serializedObject.FindProperty("m_FadeFactor"); m_DecalLayerMask = serializedObject.FindProperty("m_DecalLayerMask"); + + ReinitSavedRatioSizePivotPosition(); } private void OnDisable() @@ -336,6 +338,8 @@ void DrawPivotHandles(DecalProjector decalProjector) decalProjector.pivot += Quaternion.Inverse(decalProjector.transform.rotation) * (decalProjector.transform.position - newPosition); decalProjector.transform.position = newPosition; + + ReinitSavedRatioSizePivotPosition(); } } } @@ -452,11 +456,66 @@ static Func GetBoundsGetter(DecalProjector decalProjector) }; } - void UpdateSize(int axe, float newSize, float oldSize) + // Temporarilly save ratio beetwin size and pivot position while editing in inspector. + // null or NaN is used to say that there is no saved ratio. + // Aim is to keep propotion while sliding the value to 0 in Inspector and then go back to something else. + // Current solution only work for the life of this editor, but is enough in most case. + // Wich means if you go to there, selection something else and go back on it, pivot position is thus null. + Dictionary ratioSizePivotPositionSaved = null; + + void ReinitSavedRatioSizePivotPosition() { - m_SizeValues[axe].floatValue = newSize; - if (oldSize > Mathf.Epsilon) - m_OffsetValues[axe].floatValue *= newSize / oldSize; + ratioSizePivotPositionSaved = null; + } + + void UpdateSize(int axe, float newSize) + { + void UpdateSizeOfOneTarget(DecalProjector currentTarget) + { + //lazy init on demand as targets array cannot be accessed from OnSceneGUI so in edit mode. + if (ratioSizePivotPositionSaved == null) + { + ratioSizePivotPositionSaved = new Dictionary(); + foreach (DecalProjector projector in targets) + ratioSizePivotPositionSaved[projector] = new Vector3(float.NaN, float.NaN, float.NaN); + } + + // Save old ratio if not registered + // Either or are NaN or no one, check only first + Vector3 saved = ratioSizePivotPositionSaved[currentTarget]; + if (float.IsNaN(saved[axe])) + { + float oldSize = currentTarget.m_Size[axe]; + saved[axe] = Mathf.Abs(oldSize) <= Mathf.Epsilon ? 0f : currentTarget.m_Offset[axe] / oldSize; + ratioSizePivotPositionSaved[currentTarget] = saved; + } + + currentTarget.m_Size[axe] = newSize; + currentTarget.m_Offset[axe] = saved[axe] * newSize; + + // refresh DecalProjector to update projection + currentTarget.OnValidate(); + } + + // Manually register Undo as we work directly on the target + Undo.RecordObjects(targets, "Change DecalProjector Size or Depth"); + + // Apply any change on target first + serializedObject.ApplyModifiedProperties(); + + // update each target + foreach (DecalProjector decalProjector in targets) + UpdateSizeOfOneTarget(decalProjector); + + // update again serialize object to register change in targets + serializedObject.Update(); + + // change was not tracked by SerializeReference so force repaint the scene views and game views + UnityEditorInternal.InternalEditorUtility.RepaintAllViews(); + + // strange: we need to force it throu serialization to update multiple differente value state (value are right but still detected as different) + if (m_SizeValues[axe].hasMultipleDifferentValues) + m_SizeValues[axe].floatValue = newSize; } public override void OnInspectorGUI() @@ -483,26 +542,31 @@ public override void OnInspectorGUI() Rect rect = EditorGUILayout.GetControlRect(true, EditorGUI.GetPropertyHeight(SerializedPropertyType.Vector2, k_SizeContent)); EditorGUI.BeginProperty(rect, k_SizeSubContent[0], m_SizeValues[0]); EditorGUI.BeginProperty(rect, k_SizeSubContent[1], m_SizeValues[1]); + bool savedHasMultipleDifferentValue = EditorGUI.showMixedValue; + EditorGUI.showMixedValue = m_SizeValues[0].hasMultipleDifferentValues || m_SizeValues[1].hasMultipleDifferentValues; float[] size = new float[2] { m_SizeValues[0].floatValue, m_SizeValues[1].floatValue }; EditorGUI.BeginChangeCheck(); EditorGUI.MultiFloatField(rect, k_SizeContent, k_SizeSubContent, size); if (EditorGUI.EndChangeCheck()) { for (int i = 0; i < 2; ++i) - UpdateSize(i, Mathf.Max(0, size[i]), m_SizeValues[i].floatValue); + UpdateSize(i, Mathf.Max(0, size[i])); } + EditorGUI.showMixedValue = savedHasMultipleDifferentValue; EditorGUI.EndProperty(); EditorGUI.EndProperty(); + EditorGUI.BeginProperty(rect, k_ProjectionDepthContent, m_SizeValues[2]); EditorGUI.BeginChangeCheck(); - float oldSizeZ = m_SizeValues[2].floatValue; - EditorGUILayout.PropertyField(m_SizeValues[2], k_ProjectionDepthContent); + float newSizeZ = EditorGUILayout.FloatField(k_ProjectionDepthContent, m_SizeValues[2].floatValue); if (EditorGUI.EndChangeCheck()) - { - UpdateSize(2, Mathf.Max(0, m_SizeValues[2].floatValue), oldSizeZ); - } + UpdateSize(2, Mathf.Max(0, newSizeZ)); + EditorGUI.BeginChangeCheck(); EditorGUILayout.PropertyField(m_Offset, k_Offset); + if (EditorGUI.EndChangeCheck()) + ReinitSavedRatioSizePivotPosition(); + EditorGUI.EndProperty(); EditorGUILayout.PropertyField(m_MaterialProperty, k_MaterialContent); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalProjector.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalProjector.cs index ee36a76a410..6eada271dc5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalProjector.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalProjector.cs @@ -180,7 +180,7 @@ public DecalLayerEnum decalLayerMask } [SerializeField] - private Vector3 m_Offset = new Vector3(0, 0, 0.5f); + internal Vector3 m_Offset = new Vector3(0, 0, 0); /// /// Change the pivot position. /// It is an offset between the center of the projection and the transform position. @@ -199,7 +199,7 @@ public Vector3 pivot } [SerializeField] - Vector3 m_Size = new Vector3(1, 1, 1); + internal Vector3 m_Size = new Vector3(1, 1, 1); /// /// The size of the projection volume. /// See also to rescale relatively to the pivot position. From bf444c893bf4dbe53ca263767c654e24a9cb9201 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Wed, 24 Feb 2021 22:29:22 +0100 Subject: [PATCH 080/148] [HDRP] Fix volume component nullref (#3644) * Fixed nullref when adding a volume component in a Volume profile asset * Updated changelog --- .../Editor/Volume/VolumeComponentListEditor.cs | 10 +++++----- .../CHANGELOG.md | 1 + 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.core/Editor/Volume/VolumeComponentListEditor.cs b/com.unity.render-pipelines.core/Editor/Volume/VolumeComponentListEditor.cs index 147832853b0..3e7c3ae9880 100644 --- a/com.unity.render-pipelines.core/Editor/Volume/VolumeComponentListEditor.cs +++ b/com.unity.render-pipelines.core/Editor/Volume/VolumeComponentListEditor.cs @@ -355,17 +355,17 @@ internal void AddComponent(Type type) var componentProp = m_ComponentsProperty.GetArrayElementAtIndex(m_ComponentsProperty.arraySize - 1); componentProp.objectReferenceValue = component; + // Create & store the internal editor object for this effect + CreateEditor(component, componentProp, forceOpen: true); + + m_SerializedObject.ApplyModifiedProperties(); + // Force save / refresh if (EditorUtility.IsPersistent(asset)) { EditorUtility.SetDirty(asset); AssetDatabase.SaveAssets(); } - - // Create & store the internal editor object for this effect - CreateEditor(component, componentProp, forceOpen: true); - - m_SerializedObject.ApplyModifiedProperties(); } internal void RemoveComponent(int id) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 69bf8fc7e0d..2acb86c4ff9 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -56,6 +56,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed decals in material debug display. - Fixed WouldFitInAtlas that would previously return wrong results if any one face of a point light would fit (it used to return true even though the light in entirety wouldn't fit). - Fixed loss of persistency of ratio between pivot position and size when sliding by 0 in DecalProjector inspector (case 1308338) +- Fixed nullref when adding a volume component in a Volume profile asset (case 1317156). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard From 50c0900907ba72a2762af1a87daa812b755e20dc Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Wed, 24 Feb 2021 22:31:50 +0100 Subject: [PATCH 081/148] Fixed decal normal for double sided materials (case 1312065) (#3610) * Fixed decal normal for double sided materials (case 1312065) * Simplify mirror mode * Update DecalUtilities.hlsl * Update DecalUtilities.hlsl * Updates graphic test * Update screenshots Co-authored-by: sebastienlagarde --- .../1202_Lit_DoubleSideNormalMode.unity | 2022 +++++++++++++++-- .../DoubleSideNormalTest.mat | 3 +- .../DoubleSidedLitGraph.shadergraph | 960 +++++++- .../DoubleSidedLitGraph.shadergraph.meta | 2 +- .../DoubleSidedLitGraph_Flip.mat | 3 +- .../DoubleSidedLitGraph_Mirror.mat | 3 +- .../DoubleSidedLitGraph_None.mat | 3 +- .../DoubleSidedLitGraph_Normal.shadergraph | 35 + ...oubleSidedLitGraph_Normal.shadergraph.meta | 10 + .../DoubleSidedLitGraph_Normal_Flip.mat | 142 ++ .../DoubleSidedLitGraph_Normal_Flip.mat.meta | 8 + .../DoubleSidedLitGraph_Normal_Mirror.mat | 142 ++ ...DoubleSidedLitGraph_Normal_Mirror.mat.meta | 8 + .../DoubleSidedLitGraph_Normal_None.mat | 142 ++ .../DoubleSidedLitGraph_Normal_None.mat.meta | 8 + .../DoubleSided_Flip.mat | 309 +++ .../DoubleSided_Flip.mat.meta | 8 + .../DoubleSided_Mirror.mat | 309 +++ .../DoubleSided_Mirror.mat.meta | 8 + .../DoubleSided_None.mat | 309 +++ .../DoubleSided_None.mat.meta | 8 + .../None/1202_Lit_DoubleSideNormalMode.png | 4 +- .../None/1202_Lit_DoubleSideNormalMode.png | 4 +- .../None/1202_Lit_DoubleSideNormalMode.png | 4 +- .../None/1202_Lit_DoubleSideNormalMode.png | 4 +- .../None/1202_Lit_DoubleSideNormalMode.png | 4 +- .../CHANGELOG.md | 1 + .../Upgrading-from-2021.1-to-2021.2.md | 5 + .../Eye/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Hair/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Lit/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Runtime/Material/AxF/AxFData.hlsl | 2 +- .../Material/Decal/DecalUtilities.hlsl | 15 + .../Material/LayeredLit/LayeredLitData.hlsl | 2 +- .../Runtime/Material/Lit/Lit.shader | 1 + .../Runtime/Material/Lit/LitData.hlsl | 2 +- .../Material/TerrainLit/TerrainLitData.hlsl | 2 +- 39 files changed, 4279 insertions(+), 223 deletions(-) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity index cf659ab0f00..412da0a9121 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.37676364, g: 0.42088938, b: 0.3786163, a: 1} + m_IndirectSpecularColor: {r: 0.37577403, g: 0.41978812, b: 0.37759346, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -154,7 +154,7 @@ Transform: m_LocalScale: {x: 0.75, y: 0.75, z: 1} m_Children: [] m_Father: {fileID: 195823282} - m_RootOrder: 2 + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &3053434 MeshRenderer: @@ -176,7 +176,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: dcf3aac8c96c0734ca074bb9216e2673, type: 2} + - {fileID: 2100000, guid: 19f95251b89231c41960532ce4f35266, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -296,6 +296,121 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &138814284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 138814285} + - component: {fileID: 138814288} + - component: {fileID: 138814287} + - component: {fileID: 138814286} + m_Layer: 0 + m_Name: Shader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &138814285 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138814284} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.01, y: 0, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} + m_Children: [] + m_Father: {fileID: 1114239325} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &138814286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138814284} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 138814287} +--- !u!102 &138814287 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138814284} + m_Text: Shader + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &138814288 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 138814284} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &168499598 GameObject: m_ObjectHideFlags: 0 @@ -326,7 +441,7 @@ Transform: m_LocalScale: {x: 0.75, y: 0.75, z: 1} m_Children: [] m_Father: {fileID: 195823282} - m_RootOrder: 0 + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &168499600 MeshRenderer: @@ -348,7 +463,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 7b39c786a7832854588c72a604db869c, type: 2} + - {fileID: 2100000, guid: a5c9d7e8030e3e943b77d32839ac85df, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -378,6 +493,121 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 168499598} m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &185452154 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 185452155} + - component: {fileID: 185452158} + - component: {fileID: 185452157} + - component: {fileID: 185452156} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &185452155 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185452154} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.63, y: -0.101, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} + m_Children: [] + m_Father: {fileID: 1374504734} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &185452156 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185452154} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 185452157} +--- !u!102 &185452157 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185452154} + m_Text: Normal Map + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &185452158 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 185452154} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &195823280 GameObject: m_ObjectHideFlags: 0 @@ -389,7 +619,7 @@ GameObject: - component: {fileID: 195823282} - component: {fileID: 195823281} m_Layer: 0 - m_Name: Double Side + m_Name: Double Side ShaderGraphs m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 @@ -438,18 +668,19 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 195823280} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: -1.1, y: -0.483, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} m_Children: + - {fileID: 1020220054} - {fileID: 168499599} - {fileID: 1311053780} - {fileID: 3053433} - {fileID: 1271084934} - m_Father: {fileID: 0} - m_RootOrder: 3 + m_Father: {fileID: 1374504734} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &254042595 +--- !u!1 &203708085 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -457,9 +688,43 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 254042596} - - component: {fileID: 254042598} - - component: {fileID: 254042597} + - component: {fileID: 203708086} + m_Layer: 0 + m_Name: Double Side ShaderGraphs + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &203708086 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 203708085} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1, y: -1.33, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1507833147} + - {fileID: 238765746} + - {fileID: 1304115796} + - {fileID: 914482530} + m_Father: {fileID: 728563414} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &238765745 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 238765746} + - component: {fileID: 238765748} + - component: {fileID: 238765747} m_Layer: 0 m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 m_TagString: Untagged @@ -467,27 +732,28 @@ GameObject: m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &254042596 +--- !u!4 &238765746 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254042595} + m_GameObject: {fileID: 238765745} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.75, y: 0.75, z: 1} - m_Children: [] - m_Father: {fileID: 1114239325} - m_RootOrder: 0 + m_Children: + - {fileID: 767761114} + m_Father: {fileID: 203708086} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &254042597 +--- !u!23 &238765747 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254042595} + m_GameObject: {fileID: 238765745} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -501,7 +767,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 1534123739} + - {fileID: 2100000, guid: 7b39c786a7832854588c72a604db869c, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -523,32 +789,433 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &254042598 +--- !u!33 &238765748 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 254042595} + m_GameObject: {fileID: 238765745} m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} ---- !u!1001 &749245062 -PrefabInstance: +--- !u!1 &254042595 +GameObject: m_ObjectHideFlags: 0 - serializedVersion: 2 - m_Modification: - m_TransformParent: {fileID: 0} - m_Modifications: - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RootOrder - value: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 254042596} + - component: {fileID: 254042598} + - component: {fileID: 254042597} + m_Layer: 0 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &254042596 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254042595} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: [] + m_Father: {fileID: 1114239325} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &254042597 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254042595} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 1534123739} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &254042598 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 254042595} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &414447104 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 414447105} + - component: {fileID: 414447106} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &414447105 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414447104} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1304115796} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &414447106 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 414447104} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 +--- !u!1 &674852271 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 674852272} + - component: {fileID: 674852275} + - component: {fileID: 674852274} + - component: {fileID: 674852273} + m_Layer: 0 + m_Name: Shader + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &674852272 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674852271} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.059, y: 0, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} + m_Children: [] + m_Father: {fileID: 781862320} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &674852273 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674852271} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 674852274} +--- !u!102 &674852274 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674852271} + m_Text: Shader + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &674852275 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 674852271} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &728563413 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 728563414} + m_Layer: 0 + m_Name: Decal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &728563414 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 728563413} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 732968241} + - {fileID: 203708086} + - {fileID: 781862320} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &732968240 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 732968241} + - component: {fileID: 732968244} + - component: {fileID: 732968243} + - component: {fileID: 732968242} + m_Layer: 0 + m_Name: Label + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &732968241 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732968240} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -3.545, y: -1.607, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} + m_Children: [] + m_Father: {fileID: 728563414} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &732968242 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732968240} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 732968243} +--- !u!102 &732968243 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732968240} + m_Text: Decal + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &732968244 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 732968240} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1001 &749245062 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 0 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.x - value: 0 + value: -1.135 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.y - value: 0 + value: -0.848 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.z @@ -578,7 +1245,7 @@ PrefabInstance: - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: field of view - value: 15 + value: 29.649841 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -638,19 +1305,363 @@ Camera: type: 3} m_PrefabInstance: {fileID: 749245062} m_PrefabAsset: {fileID: 0} ---- !u!114 &749245064 stripped +--- !u!114 &749245064 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 749245062} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9459100e7946cb84eb53a26a14473032, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &767761113 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 767761114} + - component: {fileID: 767761115} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &767761114 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767761113} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 238765746} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &767761115 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 767761113} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 +--- !u!1 &781862319 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 781862320} + m_Layer: 0 + m_Name: Double Side + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &781862320 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 781862319} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1, y: -2.228, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 674852272} + - {fileID: 1304676399} + - {fileID: 1167530220} + - {fileID: 1743308403} + m_Father: {fileID: 728563414} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &914482529 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 914482530} + - component: {fileID: 914482532} + - component: {fileID: 914482531} + m_Layer: 0 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_2.00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &914482530 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 914482529} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.2, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: + - {fileID: 1616815791} + m_Father: {fileID: 203708086} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &914482531 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 914482529} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: dcf3aac8c96c0734ca074bb9216e2673, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &914482532 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 914482529} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &938480602 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 938480603} + - component: {fileID: 938480605} + - component: {fileID: 938480604} + - component: {fileID: 938480606} + m_Layer: 0 + m_Name: None + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &938480603 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 938480602} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.0916041, y: 0.679678, z: 0} + m_LocalScale: {x: 0.102981515, y: 0.102981515, z: 0.102981515} + m_Children: [] + m_Father: {fileID: 103750789} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!102 &938480604 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 938480602} + m_Text: None + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &938480605 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 938480602} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &938480606 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 938480602} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 938480604} +--- !u!1 &952235995 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 952235996} + - component: {fileID: 952235997} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &952235996 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 952235995} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1304676399} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &952235997 MonoBehaviour: - m_CorrespondingSourceObject: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - m_PrefabInstance: {fileID: 749245062} + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 0} + m_GameObject: {fileID: 952235995} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9459100e7946cb84eb53a26a14473032, type: 3} + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: ---- !u!1 &938480602 + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 +--- !u!1 &1020220053 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -658,60 +1669,306 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 938480603} - - component: {fileID: 938480605} - - component: {fileID: 938480604} - - component: {fileID: 938480606} + - component: {fileID: 1020220054} + - component: {fileID: 1020220057} + - component: {fileID: 1020220056} + - component: {fileID: 1020220055} m_Layer: 0 - m_Name: None + m_Name: SG m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &938480603 +--- !u!4 &1020220054 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938480602} + m_GameObject: {fileID: 1020220053} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.0916041, y: 0.679678, z: 0} - m_LocalScale: {x: 0.102981515, y: 0.102981515, z: 0.102981515} + m_LocalPosition: {x: -1.059, y: 0, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} m_Children: [] - m_Father: {fileID: 103750789} - m_RootOrder: 2 + m_Father: {fileID: 195823282} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &938480604 +--- !u!114 &1020220055 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020220053} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1020220056} +--- !u!102 &1020220056 TextMesh: serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938480602} - m_Text: None - m_OffsetZ: 0 - m_CharacterSize: 1 - m_LineSpacing: 1 - m_Anchor: 4 - m_Alignment: 1 - m_TabSize: 4 - m_FontSize: 0 - m_FontStyle: 0 - m_RichText: 0 - m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_Color: - serializedVersion: 2 - rgba: 4294967295 ---- !u!23 &938480605 + m_GameObject: {fileID: 1020220053} + m_Text: SG + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1020220057 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1020220053} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1114239323 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1114239325} + - component: {fileID: 1114239324} + m_Layer: 0 + m_Name: Double Side + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1114239324 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114239323} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 66d6c688291ac8b48adc878e4fc4d29d, type: 3} + m_Name: + m_EditorClassIdentifier: + prefabObject: {fileID: 2300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} + material: {fileID: 2100000, guid: e63b9d39b60ecdb47a35b705f46537de, type: 2} + commonParameters: [] + overideRenderQueue: 0 + renderQueue: 2000 + is2D: 0 + instanceParameters: + - parameter: _DoubleSidedNormalMode + paramType: 0 + multi: 1 + b_Value: 0 + i_Value: 0 + f_Value: 0 + v_Value: {x: 0, y: 0, z: 0, w: 0} + c_Value: {r: 0, g: 0, b: 0, a: 0} + i_Value_Max: 0 + f_Value_Max: 2 + v_Value_Max: {x: 0, y: 0, z: 0, w: 0} + c_Value_Max: {r: 0, g: 0, b: 0, a: 0} + t_Value: {fileID: 0} + count: 3 + offset: 1.1 + rotation: {x: 0, y: 0, z: 0} + scale: 1 +--- !u!4 &1114239325 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1114239323} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.1, y: 0.346, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 138814285} + - {fileID: 254042596} + - {fileID: 1463375632} + - {fileID: 1283902305} + m_Father: {fileID: 1374504734} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1167530219 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1167530220} + - component: {fileID: 1167530222} + - component: {fileID: 1167530221} + m_Layer: 0 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_1.00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1167530220 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167530219} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 1.1, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: + - {fileID: 1697883536} + m_Father: {fileID: 781862320} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1167530221 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167530219} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 12837f8a23069f546839f556d3a74403, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1167530222 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1167530219} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &1271084933 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1271084934} + - component: {fileID: 1271084936} + - component: {fileID: 1271084935} + m_Layer: 0 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1271084934 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1271084933} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: [] + m_Father: {fileID: 195823282} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1271084935 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938480602} + m_GameObject: {fileID: 1271084933} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -722,10 +1979,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 7b39c786a7832854588c72a604db869c, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -747,25 +2004,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &938480606 -MonoBehaviour: +--- !u!33 &1271084936 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938480602} - m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} - m_Name: - m_EditorClassIdentifier: - pixelSize: 8 - testSettings: {fileID: 749245064} - targetCamera: {fileID: 749245063} - forceTargetDimensions: {x: 200, y: 150} - overrideTestSettings: 0 - textMesh: {fileID: 938480604} ---- !u!1 &1114239323 + m_GameObject: {fileID: 1271084933} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &1283902304 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -773,69 +2020,81 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1114239325} - - component: {fileID: 1114239324} + - component: {fileID: 1283902305} + - component: {fileID: 1283902307} + - component: {fileID: 1283902306} m_Layer: 0 - m_Name: Double Side ShaderGraphs + m_Name: DoubleSidePlane__DoubleSidedNormalMode_2.00 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1114239324 -MonoBehaviour: +--- !u!4 &1283902305 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114239323} + m_GameObject: {fileID: 1283902304} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.2, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: [] + m_Father: {fileID: 1114239325} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1283902306 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1283902304} m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 66d6c688291ac8b48adc878e4fc4d29d, type: 3} - m_Name: - m_EditorClassIdentifier: - prefabObject: {fileID: 2300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} - material: {fileID: 2100000, guid: e63b9d39b60ecdb47a35b705f46537de, type: 2} - commonParameters: [] - overideRenderQueue: 0 - renderQueue: 2000 - is2D: 0 - instanceParameters: - - parameter: _DoubleSidedNormalMode - paramType: 0 - multi: 1 - b_Value: 0 - i_Value: 0 - f_Value: 0 - v_Value: {x: 0, y: 0, z: 0, w: 0} - c_Value: {r: 0, g: 0, b: 0, a: 0} - i_Value_Max: 0 - f_Value_Max: 2 - v_Value_Max: {x: 0, y: 0, z: 0, w: 0} - c_Value_Max: {r: 0, g: 0, b: 0, a: 0} - t_Value: {fileID: 0} - count: 3 - offset: 1.1 - rotation: {x: 0, y: 0, z: 0} - scale: 1 ---- !u!4 &1114239325 -Transform: + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 1491005902} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1283902307 +MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114239323} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -1.1, y: 0.346, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: - - {fileID: 254042596} - - {fileID: 1463375632} - - {fileID: 1283902305} - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1271084933 + m_GameObject: {fileID: 1283902304} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} +--- !u!1 &1304115795 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -843,37 +2102,38 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1271084934} - - component: {fileID: 1271084936} - - component: {fileID: 1271084935} + - component: {fileID: 1304115796} + - component: {fileID: 1304115798} + - component: {fileID: 1304115797} m_Layer: 0 - m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 (1) + m_Name: DoubleSidePlane__DoubleSidedNormalMode_1.00 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1271084934 +--- !u!4 &1304115796 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} + m_GameObject: {fileID: 1304115795} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 1.1, y: 0, z: 0} m_LocalScale: {x: 0.75, y: 0.75, z: 1} - m_Children: [] - m_Father: {fileID: 195823282} - m_RootOrder: 3 + m_Children: + - {fileID: 414447105} + m_Father: {fileID: 203708086} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1271084935 +--- !u!23 &1304115797 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} + m_GameObject: {fileID: 1304115795} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -887,7 +2147,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 7b39c786a7832854588c72a604db869c, type: 2} + - {fileID: 2100000, guid: 42d63aaa456b7ee47a61f513673e6c3f, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -909,15 +2169,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1271084936 +--- !u!33 &1304115798 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} + m_GameObject: {fileID: 1304115795} m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} ---- !u!1 &1283902304 +--- !u!1 &1304676398 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -925,37 +2185,38 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1283902305} - - component: {fileID: 1283902307} - - component: {fileID: 1283902306} + - component: {fileID: 1304676399} + - component: {fileID: 1304676401} + - component: {fileID: 1304676400} m_Layer: 0 - m_Name: DoubleSidePlane__DoubleSidedNormalMode_2.00 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1283902305 +--- !u!4 &1304676399 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1283902304} + m_GameObject: {fileID: 1304676398} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 2.2, y: 0, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 0.75, y: 0.75, z: 1} - m_Children: [] - m_Father: {fileID: 1114239325} - m_RootOrder: 2 + m_Children: + - {fileID: 952235996} + m_Father: {fileID: 781862320} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1283902306 +--- !u!23 &1304676400 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1283902304} + m_GameObject: {fileID: 1304676398} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -969,7 +2230,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 1491005902} + - {fileID: 2100000, guid: 4b9529cd15334da4eab4842519e9f77c, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -991,13 +2252,13 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1283902307 +--- !u!33 &1304676401 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1283902304} + m_GameObject: {fileID: 1304676398} m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} --- !u!1 &1311053779 GameObject: @@ -1029,7 +2290,7 @@ Transform: m_LocalScale: {x: 0.75, y: 0.75, z: 1} m_Children: [] m_Father: {fileID: 195823282} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &1311053781 MeshRenderer: @@ -1051,7 +2312,7 @@ MeshRenderer: m_RenderingLayerMask: 1 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 42d63aaa456b7ee47a61f513673e6c3f, type: 2} + - {fileID: 2100000, guid: 5213e23c3c7bb9145969a335be5eb86b, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1184,18 +2445,107 @@ MonoBehaviour: m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1350281943} + m_GameObject: {fileID: 1350281943} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1350281945} +--- !u!1 &1374504733 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1374504734} + m_Layer: 0 + m_Name: NormalMap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1374504734 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1374504733} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 185452155} + - {fileID: 195823282} + - {fileID: 1114239325} + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1415084117 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1415084118} + - component: {fileID: 1415084119} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1415084118 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415084117} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1743308403} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1415084119 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1415084117} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} m_Name: m_EditorClassIdentifier: - pixelSize: 8 - testSettings: {fileID: 749245064} - targetCamera: {fileID: 749245063} - forceTargetDimensions: {x: 200, y: 150} - overrideTestSettings: 0 - textMesh: {fileID: 1350281945} + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 --- !u!1 &1463375631 GameObject: m_ObjectHideFlags: 0 @@ -1226,7 +2576,7 @@ Transform: m_LocalScale: {x: 0.75, y: 0.75, z: 1} m_Children: [] m_Father: {fileID: 1114239325} - m_RootOrder: 1 + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!23 &1463375633 MeshRenderer: @@ -1566,6 +2916,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 2 - _Drag: 1 - _DstBlend: 0 @@ -1580,6 +2931,7 @@ Material: - _EnableSpecularOcclusion: 0 - _EnableWind: 0 - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 - _HdrpVersion: 2 - _HeightAmplitude: 0.02 - _HeightCenter: 0.5 @@ -1683,6 +3035,121 @@ Material: - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] +--- !u!1 &1507833146 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1507833147} + - component: {fileID: 1507833150} + - component: {fileID: 1507833149} + - component: {fileID: 1507833148} + m_Layer: 0 + m_Name: SG + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1507833147 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507833146} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: -1.086, y: 0, z: 0} + m_LocalScale: {x: 0.16562882, y: 0.16562882, z: 0.16562882} + m_Children: [] + m_Father: {fileID: 203708086} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1507833148 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507833146} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 6 + testSettings: {fileID: 749245064} + targetCamera: {fileID: 749245063} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1507833149} +--- !u!102 &1507833149 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507833146} + m_Text: SG + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1 + m_Anchor: 4 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1507833150 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1507833146} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!21 &1534123739 Material: serializedVersion: 6 @@ -1856,6 +3323,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 0 - _Drag: 1 - _DstBlend: 0 @@ -1870,6 +3338,7 @@ Material: - _EnableSpecularOcclusion: 0 - _EnableWind: 0 - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 - _HdrpVersion: 2 - _HeightAmplitude: 0.02 - _HeightCenter: 0.5 @@ -1973,6 +3442,201 @@ Material: - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} m_BuildTextureStacks: [] +--- !u!1 &1616815790 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1616815791} + - component: {fileID: 1616815792} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1616815791 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616815790} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 914482530} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1616815792 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1616815790} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 +--- !u!1 &1697883535 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1697883536} + - component: {fileID: 1697883537} + m_Layer: 0 + m_Name: Decal Projector + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1697883536 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697883535} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: -0.5} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1167530220} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1697883537 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1697883535} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Material: {fileID: 2100000, guid: faaa0e0db8f02ad42b4bb42a8cf82b82, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_StartAngleFade: 180 + m_EndAngleFade: 180 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 0.75, y: 0.75, z: 1} + m_FadeFactor: 1 + m_Version: 2 +--- !u!1 &1743308402 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1743308403} + - component: {fileID: 1743308405} + - component: {fileID: 1743308404} + m_Layer: 0 + m_Name: DoubleSidePlane__DoubleSidedNormalMode_2.00 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1743308403 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743308402} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 2.2, y: 0, z: 0} + m_LocalScale: {x: 0.75, y: 0.75, z: 1} + m_Children: + - {fileID: 1415084118} + m_Father: {fileID: 781862320} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &1743308404 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743308402} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b8f9b5536fd1dfa4dba18ed257710334, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1743308405 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1743308402} + m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} --- !u!21 &1891347725 Material: serializedVersion: 6 @@ -2146,6 +3810,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _Drag: 1 - _DstBlend: 0 @@ -2160,6 +3825,7 @@ Material: - _EnableSpecularOcclusion: 0 - _EnableWind: 0 - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 - _HdrpVersion: 2 - _HeightAmplitude: 0.02 - _HeightCenter: 0.5 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat index 5741bcb10ee..8f6dbfcdac7 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSideNormalTest.mat @@ -19,11 +19,11 @@ Material: - DistortionVectors - TransparentBackfaceDebugDisplay - MOTIONVECTORS + - ForwardEmissiveForDeferred - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass - - ForwardEmissiveForDeferred m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -175,6 +175,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 2 - _Drag: 1 - _DstBlend: 0 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph index 29922286afe..b7ee58b1e6c 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph @@ -1,28 +1,102 @@ { - "m_SerializedProperties": [], - "m_SerializableNodes": [ + "m_SGVersion": 3, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "9484e134174a401295a6f31e99cbec7b", + "m_Properties": [], + "m_Keywords": [], + "m_Nodes": [ { - "typeInfo": { - "fullName": "UnityEditor.Experimental.Rendering.HDPipeline.HDLitMasterNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"02b2ccbf-db0d-4276-a694-2ae60b4f330a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lit Master\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 0.0,\n \"y\": 0.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"BaseColor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"BentNormal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"BentNormal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"CoatMask\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"CoatMask\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 12,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 14,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 15,\\n \\\"m_DisplayName\\\": \\\"AmbientOcclusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 13,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 1\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 16,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Experimental.Rendering.HDPipeline.HDLitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_RenderingPass\": 1,\n \"m_BlendPreserveSpecular\": true,\n \"m_TransparencyFog\": true,\n \"m_DrawBeforeRefraction\": false,\n \"m_RefractionModel\": 0,\n \"m_Distortion\": false,\n \"m_DistortionMode\": 0,\n \"m_DistortionDepthTest\": true,\n \"m_AlphaTest\": false,\n \"m_AlphaTestDepthPrepass\": false,\n \"m_AlphaTestDepthPostpass\": false,\n \"m_TransparentWritesMotionVec\": false,\n \"m_AlphaTestShadow\": false,\n \"m_BackThenFrontRendering\": false,\n \"m_SortPriority\": 0,\n \"m_DoubleSidedMode\": 0,\n \"m_MaterialType\": 0,\n \"m_SSSTransmission\": true,\n \"m_ReceiveDecals\": true,\n \"m_ReceivesSSR\": true,\n \"m_EnergyConservingSpecular\": true,\n \"m_SpecularAA\": false,\n \"m_SpecularAAScreenSpaceVariance\": 0.0,\n \"m_SpecularAAThreshold\": 0.0,\n \"m_SpecularOcclusionMode\": 0,\n \"m_DiffusionProfile\": 0,\n \"m_overrideBakedGI\": false,\n \"m_depthOffset\": false,\n \"m_DOTSInstancing\": false,\n \"m_ZWrite\": false,\n \"m_transparentCullMode\": 2,\n \"m_ZTest\": 4\n}" + "m_Id": "beebde09404940c1b5a1615688c845c7" }, { - "typeInfo": { - "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" - }, - "JSONnodeData": "{\n \"m_GuidSerialized\": \"caac8285-c25a-467e-bfb5-db59f7f9d3ff\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -464.0,\n \"y\": -10.0,\n \"width\": 208.0,\n \"height\": 435.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"fileID\\\\\\\":2800000,\\\\\\\"guid\\\\\\\":\\\\\\\"6c9639b085103f447815e2965a30810a\\\\\\\",\\\\\\\"type\\\\\\\":3}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" - } - ], - "m_Groups": [], - "m_SerializableEdges": [ + "m_Id": "d8b4472b1ba74d6abe1289b6dcfc1a73" + }, { - "typeInfo": { - "fullName": "UnityEditor.Graphing.Edge" - }, - "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"caac8285-c25a-467e-bfb5-db59f7f9d3ff\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"02b2ccbf-db0d-4276-a694-2ae60b4f330a\"\n }\n}" + "m_Id": "5ce21ddafb594bd98d0655017af4baf2" + }, + { + "m_Id": "9dd4e531ad4a4681b31292c281c5fcdc" + }, + { + "m_Id": "710b44dc519d4291bf64ca8727a579f2" + }, + { + "m_Id": "e3e1709bebf14b5cad4ebda55c035ee5" + }, + { + "m_Id": "421c99f8ff8c4edaac45f6ee0ee300d6" + }, + { + "m_Id": "ab3347a108424ccda1045cfd7a3e6ab4" + }, + { + "m_Id": "eb5e78abaf2442e6b47ee08bf9c100c2" + }, + { + "m_Id": "3d4ef4c83ebb458e8ee6070f824ea43b" + }, + { + "m_Id": "d6decb109a754515a2993301ec30a2f5" + }, + { + "m_Id": "ec565021917f4e7e8d2640de2d8086c6" } ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "beebde09404940c1b5a1615688c845c7" + }, + { + "m_Id": "d8b4472b1ba74d6abe1289b6dcfc1a73" + }, + { + "m_Id": "5ce21ddafb594bd98d0655017af4baf2" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "9dd4e531ad4a4681b31292c281c5fcdc" + }, + { + "m_Id": "710b44dc519d4291bf64ca8727a579f2" + }, + { + "m_Id": "e3e1709bebf14b5cad4ebda55c035ee5" + }, + { + "m_Id": "421c99f8ff8c4edaac45f6ee0ee300d6" + }, + { + "m_Id": "ab3347a108424ccda1045cfd7a3e6ab4" + }, + { + "m_Id": "eb5e78abaf2442e6b47ee08bf9c100c2" + }, + { + "m_Id": "3d4ef4c83ebb458e8ee6070f824ea43b" + }, + { + "m_Id": "d6decb109a754515a2993301ec30a2f5" + }, + { + "m_Id": "ec565021917f4e7e8d2640de2d8086c6" + } + ] + }, "m_PreviewData": { "serializedMesh": { "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", @@ -30,6 +104,850 @@ } }, "m_Path": "Shader Graphs", - "m_ConcretePrecision": 0, - "m_ActiveOutputNodeGuidSerialized": "02b2ccbf-db0d-4276-a694-2ae60b4f330a" -} \ No newline at end of file + "m_GraphPrecision": 0, + "m_PreviewMode": 2, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "778004a3050045ff88e9e8f7efd8bb83" + } + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "04004caa27574a6ba7cccc50dce1297a", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Emission", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 1, + "m_DefaultColor": { + "r": 0.0, + "g": 0.0, + "b": 0.0, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "1b4630a0e3bb4fb3b7ad9624d0751c8a", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Tangent", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "243cf0c5a4174d09bffd6e5a459b0361", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalTS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "262a1099b3454fdcbbc0ed78c7f4a3cd", + "m_MaterialNeedsUpdateHash": 0, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 0, + "m_DOTSInstancing": false, + "m_Version": 0, + "m_FirstTimeMigrationExecuted": false, + "inspectorFoldoutMask": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "384d81960acb48edb3bf8271d7d41586", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3d4ef4c83ebb458e8ee6070f824ea43b", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "bb09c098b2004e9193a12f0172408fe7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "421c99f8ff8c4edaac45f6ee0ee300d6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.CoatMask", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "c5f1c7c300d84efca169696f35cb219b" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.CoatMask" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "4837d83930aa4c37adc1dba50b620257", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 0, + "m_OverrideBakedGI": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5ce21ddafb594bd98d0655017af4baf2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "1b4630a0e3bb4fb3b7ad9624d0751c8a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "611a9a70693045048caf42788a450344", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false, + "m_EmissionOverriden": false, + "m_ForceForwardEmissive": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "710b44dc519d4291bf64ca8727a579f2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "243cf0c5a4174d09bffd6e5a459b0361" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "778004a3050045ff88e9e8f7efd8bb83", + "m_ActiveSubTarget": { + "m_Id": "d542c0d8f03f4805a8f7fe5416883e13" + }, + "m_Datas": [ + { + "m_Id": "611a9a70693045048caf42788a450344" + }, + { + "m_Id": "d1dede054df44893999cf848e2c7f347" + }, + { + "m_Id": "4837d83930aa4c37adc1dba50b620257" + }, + { + "m_Id": "ea256f40d77543319c940e8307223844" + }, + { + "m_Id": "ca4f345305fe4bc38b8056c0fb5c1674" + }, + { + "m_Id": "fb833e068f9742b8957bf6eb42f3b67d" + }, + { + "m_Id": "e7d45fbbd1ad481c8419ce5790699dd6" + }, + { + "m_Id": "262a1099b3454fdcbbc0ed78c7f4a3cd" + } + ], + "m_CustomEditorGUI": "" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "84b640ae720c4163ae56d5078928e526", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "9696b4d0fd1e4acaa6327eb76f47ec4a", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_ColorMode": 0, + "m_DefaultColor": { + "r": 0.5, + "g": 0.5, + "b": 0.5, + "a": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "9dd4e531ad4a4681b31292c281c5fcdc", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "9696b4d0fd1e4acaa6327eb76f47ec4a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "ab3347a108424ccda1045cfd7a3e6ab4", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "84b640ae720c4163ae56d5078928e526" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "bb09c098b2004e9193a12f0172408fe7", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "beebde09404940c1b5a1615688c845c7", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "e6e02d2efac749448039c8ceb884ff63" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "c5f1c7c300d84efca169696f35cb219b", + "m_Id": 0, + "m_DisplayName": "Coat Mask", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "CoatMask", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "ca4f345305fe4bc38b8056c0fb5c1674", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false, + "m_EmissionOverriden": false, + "m_ForceForwardEmissive": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "cf22c955241248a8b8f6bca1a7ba9eab", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "d1dede054df44893999cf848e2c7f347", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, + "m_DepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "d542c0d8f03f4805a8f7fe5416883e13" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d6decb109a754515a2993301ec30a2f5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "cf22c955241248a8b8f6bca1a7ba9eab" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d8b4472b1ba74d6abe1289b6dcfc1a73", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "efa658645cff45b2ab9110e0cb79e185" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "e36a001ba8a2462695ed958f1f8385dc", + "m_Id": 0, + "m_DisplayName": "Bent Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "BentNormal", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 3 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "e3e1709bebf14b5cad4ebda55c035ee5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BentNormal", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "e36a001ba8a2462695ed958f1f8385dc" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BentNormal" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "e6e02d2efac749448039c8ceb884ff63", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Position", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "e7d45fbbd1ad481c8419ce5790699dd6", + "m_NormalDropOffSpace": 0, + "m_BlendPreserveSpecular": true, + "m_ReceiveDecals": true, + "m_ReceiveSSR": true, + "m_ReceiveSSRTransparent": false, + "m_SpecularAA": false, + "m_SpecularOcclusionMode": 0, + "m_OverrideBakedGI": false +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "ea256f40d77543319c940e8307223844", + "m_MaterialNeedsUpdateHash": 12167, + "m_SurfaceType": 0, + "m_RenderingPass": 1, + "m_BlendMode": 0, + "m_ZTest": 4, + "m_ZWrite": false, + "m_TransparentCullMode": 2, + "m_OpaqueCullMode": 2, + "m_SortPriority": 0, + "m_AlphaTest": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false, + "m_DoubleSidedMode": 0, + "m_DOTSInstancing": false, + "m_Version": 0, + "m_FirstTimeMigrationExecuted": true, + "inspectorFoldoutMask": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eb5e78abaf2442e6b47ee08bf9c100c2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "04004caa27574a6ba7cccc50dce1297a" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "ec565021917f4e7e8d2640de2d8086c6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 0.0, + "y": 0.0, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "384d81960acb48edb3bf8271d7d41586" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "efa658645cff45b2ab9110e0cb79e185", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Normal", + "m_StageCapability": 1, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "fb833e068f9742b8957bf6eb42f3b67d", + "m_Distortion": false, + "m_DistortionMode": 0, + "m_DistortionDepthTest": true, + "m_AddPrecomputedVelocity": false, + "m_TransparentWritesMotionVec": false, + "m_AlphaToMask": false, + "m_DepthOffset": false, + "m_TransparencyFog": true, + "m_AlphaTestShadow": false, + "m_BackThenFrontRendering": false, + "m_TransparentDepthPrepass": false, + "m_TransparentDepthPostpass": false, + "m_SupportLodCrossFade": false +} + diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph.meta index 1d3ac8b65ac..4a5d2c74905 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph.meta +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph.shadergraph.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: ab7890bc7ade004498d9949f88412847 +guid: 00c0f3c0315cf0d48b383beea1597b8b ScriptedImporter: internalIDToNameTable: [] externalObjects: {} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Flip.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Flip.mat index 3b66f162790..d8a6f7a2cf4 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Flip.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Flip.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: DoubleSidedLitGraph_Flip - m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + m_Shader: {fileID: -6465566751694194690, guid: 00c0f3c0315cf0d48b383beea1597b8b, type: 3} m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON m_LightmapFlags: 4 @@ -85,6 +85,7 @@ Material: - _CullModeForward: 0 - _DepthOffsetEnable: 0 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 0 - _DstBlend: 0 - _EnableBlendModePreserveSpecularLighting: 1 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Mirror.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Mirror.mat index 9d4eea16ed1..8217c153c37 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Mirror.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Mirror.mat @@ -21,7 +21,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: DoubleSidedLitGraph_Mirror - m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + m_Shader: {fileID: -6465566751694194690, guid: 00c0f3c0315cf0d48b383beea1597b8b, type: 3} m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON m_LightmapFlags: 4 @@ -98,6 +98,7 @@ Material: - _CullModeForward: 0 - _DepthOffsetEnable: 0 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EnableBlendModePreserveSpecularLighting: 1 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_None.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_None.mat index be91c2db77d..d0b999dcce3 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_None.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_None.mat @@ -8,7 +8,7 @@ Material: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_Name: DoubleSidedLitGraph_None - m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + m_Shader: {fileID: -6465566751694194690, guid: 00c0f3c0315cf0d48b383beea1597b8b, type: 3} m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON m_LightmapFlags: 4 @@ -85,6 +85,7 @@ Material: - _CullModeForward: 0 - _DepthOffsetEnable: 0 - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 2 - _DstBlend: 0 - _EnableBlendModePreserveSpecularLighting: 1 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph new file mode 100644 index 00000000000..29922286afe --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph @@ -0,0 +1,35 @@ +{ + "m_SerializedProperties": [], + "m_SerializableNodes": [ + { + "typeInfo": { + "fullName": "UnityEditor.Experimental.Rendering.HDPipeline.HDLitMasterNode" + }, + "JSONnodeData": "{\n \"m_GuidSerialized\": \"02b2ccbf-db0d-4276-a694-2ae60b4f330a\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Lit Master\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": 0.0,\n \"y\": 0.0,\n \"width\": 0.0,\n \"height\": 0.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.PositionMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"Position\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Position\\\",\\n \\\"m_StageCapability\\\": 1,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"BaseColor\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Albedo\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 1.0,\\n \\\"y\\\": 1.0,\\n \\\"z\\\": 1.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"Normal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Normal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.NormalMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"BentNormal\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"BentNormal\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_Space\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 11,\\n \\\"m_DisplayName\\\": \\\"CoatMask\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"CoatMask\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 12,\\n \\\"m_DisplayName\\\": \\\"Metallic\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Metallic\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 14,\\n \\\"m_DisplayName\\\": \\\"Smoothness\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Smoothness\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.5,\\n \\\"m_DefaultValue\\\": 0.5,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 15,\\n \\\"m_DisplayName\\\": \\\"AmbientOcclusion\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Occlusion\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.ColorRGBMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 13,\\n \\\"m_DisplayName\\\": \\\"Emission\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Emission\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\",\\n \\\"Z\\\"\\n ],\\n \\\"m_ColorMode\\\": 1\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 16,\\n \\\"m_DisplayName\\\": \\\"Alpha\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Alpha\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 1.0,\\n \\\"m_DefaultValue\\\": 1.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_SerializableSubShaders\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.Experimental.Rendering.HDPipeline.HDLitSubShader\"\n },\n \"JSONnodeData\": \"{}\"\n }\n ],\n \"m_SurfaceType\": 0,\n \"m_AlphaMode\": 0,\n \"m_RenderingPass\": 1,\n \"m_BlendPreserveSpecular\": true,\n \"m_TransparencyFog\": true,\n \"m_DrawBeforeRefraction\": false,\n \"m_RefractionModel\": 0,\n \"m_Distortion\": false,\n \"m_DistortionMode\": 0,\n \"m_DistortionDepthTest\": true,\n \"m_AlphaTest\": false,\n \"m_AlphaTestDepthPrepass\": false,\n \"m_AlphaTestDepthPostpass\": false,\n \"m_TransparentWritesMotionVec\": false,\n \"m_AlphaTestShadow\": false,\n \"m_BackThenFrontRendering\": false,\n \"m_SortPriority\": 0,\n \"m_DoubleSidedMode\": 0,\n \"m_MaterialType\": 0,\n \"m_SSSTransmission\": true,\n \"m_ReceiveDecals\": true,\n \"m_ReceivesSSR\": true,\n \"m_EnergyConservingSpecular\": true,\n \"m_SpecularAA\": false,\n \"m_SpecularAAScreenSpaceVariance\": 0.0,\n \"m_SpecularAAThreshold\": 0.0,\n \"m_SpecularOcclusionMode\": 0,\n \"m_DiffusionProfile\": 0,\n \"m_overrideBakedGI\": false,\n \"m_depthOffset\": false,\n \"m_DOTSInstancing\": false,\n \"m_ZWrite\": false,\n \"m_transparentCullMode\": 2,\n \"m_ZTest\": 4\n}" + }, + { + "typeInfo": { + "fullName": "UnityEditor.ShaderGraph.SampleTexture2DNode" + }, + "JSONnodeData": "{\n \"m_GuidSerialized\": \"caac8285-c25a-467e-bfb5-db59f7f9d3ff\",\n \"m_GroupGuidSerialized\": \"00000000-0000-0000-0000-000000000000\",\n \"m_Name\": \"Sample Texture 2D\",\n \"m_DrawState\": {\n \"m_Expanded\": true,\n \"m_Position\": {\n \"serializedVersion\": \"2\",\n \"x\": -464.0,\n \"y\": -10.0,\n \"width\": 208.0,\n \"height\": 435.0\n }\n },\n \"m_SerializableSlots\": [\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector4MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 0,\\n \\\"m_DisplayName\\\": \\\"RGBA\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"RGBA\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0,\\n \\\"z\\\": 0.0,\\n \\\"w\\\": 0.0\\n }\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 4,\\n \\\"m_DisplayName\\\": \\\"R\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"R\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 5,\\n \\\"m_DisplayName\\\": \\\"G\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"G\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 6,\\n \\\"m_DisplayName\\\": \\\"B\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"B\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Vector1MaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 7,\\n \\\"m_DisplayName\\\": \\\"A\\\",\\n \\\"m_SlotType\\\": 1,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"A\\\",\\n \\\"m_StageCapability\\\": 2,\\n \\\"m_Value\\\": 0.0,\\n \\\"m_DefaultValue\\\": 0.0,\\n \\\"m_Labels\\\": [\\n \\\"X\\\"\\n ]\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.Texture2DInputMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 1,\\n \\\"m_DisplayName\\\": \\\"Texture\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Texture\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Texture\\\": {\\n \\\"m_SerializedTexture\\\": \\\"{\\\\\\\"texture\\\\\\\":{\\\\\\\"fileID\\\\\\\":2800000,\\\\\\\"guid\\\\\\\":\\\\\\\"6c9639b085103f447815e2965a30810a\\\\\\\",\\\\\\\"type\\\\\\\":3}}\\\",\\n \\\"m_Guid\\\": \\\"\\\"\\n },\\n \\\"m_DefaultType\\\": 3\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.UVMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 2,\\n \\\"m_DisplayName\\\": \\\"UV\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"UV\\\",\\n \\\"m_StageCapability\\\": 3,\\n \\\"m_Value\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_DefaultValue\\\": {\\n \\\"x\\\": 0.0,\\n \\\"y\\\": 0.0\\n },\\n \\\"m_Labels\\\": [\\n \\\"X\\\",\\n \\\"Y\\\"\\n ],\\n \\\"m_Channel\\\": 0\\n}\"\n },\n {\n \"typeInfo\": {\n \"fullName\": \"UnityEditor.ShaderGraph.SamplerStateMaterialSlot\"\n },\n \"JSONnodeData\": \"{\\n \\\"m_Id\\\": 3,\\n \\\"m_DisplayName\\\": \\\"Sampler\\\",\\n \\\"m_SlotType\\\": 0,\\n \\\"m_Priority\\\": 2147483647,\\n \\\"m_Hidden\\\": false,\\n \\\"m_ShaderOutputName\\\": \\\"Sampler\\\",\\n \\\"m_StageCapability\\\": 3\\n}\"\n }\n ],\n \"m_Precision\": 0,\n \"m_PreviewExpanded\": true,\n \"m_CustomColors\": {\n \"m_SerializableColors\": []\n },\n \"m_TextureType\": 1,\n \"m_NormalMapSpace\": 0\n}" + } + ], + "m_Groups": [], + "m_SerializableEdges": [ + { + "typeInfo": { + "fullName": "UnityEditor.Graphing.Edge" + }, + "JSONnodeData": "{\n \"m_OutputSlot\": {\n \"m_SlotId\": 0,\n \"m_NodeGUIDSerialized\": \"caac8285-c25a-467e-bfb5-db59f7f9d3ff\"\n },\n \"m_InputSlot\": {\n \"m_SlotId\": 2,\n \"m_NodeGUIDSerialized\": \"02b2ccbf-db0d-4276-a694-2ae60b4f330a\"\n }\n}" + } + ], + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + } + }, + "m_Path": "Shader Graphs", + "m_ConcretePrecision": 0, + "m_ActiveOutputNodeGuidSerialized": "02b2ccbf-db0d-4276-a694-2ae60b4f330a" +} \ No newline at end of file diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph.meta new file mode 100644 index 00000000000..1d3ac8b65ac --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ab7890bc7ade004498d9949f88412847 +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 625f186215c104763be7675aa2d941aa, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat new file mode 100644 index 00000000000..c7c64d23379 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSidedLitGraph_Normal_Flip + m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - MOTIONVECTORS + - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _NormalFromTexture_7A5C451A_Texture_0: + m_Texture: {fileID: 2800000, guid: 72c21bad8ebd4a043882b302f9837ae3, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_5d808ed1aefeae87b29f97b524023dcb_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_74B26E6_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_839e0cac1e7343029346d64545b90c06_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_a825b6927eaa49569777e2b1606ee428_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_d0796b2c25b942879f39a68016956b2e_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_e8df017ea8e5468ebe18bb33d578d062_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_f19aff7711164641a79a35112a4c9125_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _BlendMode: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _DepthOffsetEnable: 0 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 0 + - _DstBlend: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _ForceForwardEmissive: 0 + - _OpaqueCullMode: 2 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _DoubleSidedConstants: {r: -1, g: -1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &8062019778507094 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat.meta new file mode 100644 index 00000000000..65aed1b677e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Flip.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: a5c9d7e8030e3e943b77d32839ac85df +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat new file mode 100644 index 00000000000..4ba0c24c56f --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-4634724408523140065 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSidedLitGraph_Normal_Mirror + m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - MOTIONVECTORS + - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _NormalFromTexture_7A5C451A_Texture_0: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_5d808ed1aefeae87b29f97b524023dcb_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_74B26E6_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_839e0cac1e7343029346d64545b90c06_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_a825b6927eaa49569777e2b1606ee428_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_d0796b2c25b942879f39a68016956b2e_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_e8df017ea8e5468ebe18bb33d578d062_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_f19aff7711164641a79a35112a4c9125_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _BlendMode: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _DepthOffsetEnable: 0 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _ForceForwardEmissive: 0 + - _OpaqueCullMode: 2 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat.meta new file mode 100644 index 00000000000..47b9cd94391 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_Mirror.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5213e23c3c7bb9145969a335be5eb86b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat new file mode 100644 index 00000000000..8bc8e2a67f5 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat @@ -0,0 +1,142 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSidedLitGraph_Normal_None + m_Shader: {fileID: -6465566751694194690, guid: ab7890bc7ade004498d9949f88412847, + type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - MOTIONVECTORS + - TransparentBackface + - TransparentDepthPrepass + - TransparentDepthPostpass + - RayTracingPrepass + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _NormalFromTexture_7A5C451A_Texture_0: + m_Texture: {fileID: 2800000, guid: 72c21bad8ebd4a043882b302f9837ae3, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_5d808ed1aefeae87b29f97b524023dcb_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_74B26E6_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_839e0cac1e7343029346d64545b90c06_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_a825b6927eaa49569777e2b1606ee428_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_d0796b2c25b942879f39a68016956b2e_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_e8df017ea8e5468ebe18bb33d578d062_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SampleTexture2D_f19aff7711164641a79a35112a4c9125_Texture_1: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AddPrecomputedVelocity: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _BlendMode: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _DepthOffsetEnable: 0 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 2 + - _DstBlend: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _ForceForwardEmissive: 0 + - _OpaqueCullMode: 2 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _DoubleSidedConstants: {r: 1, g: 1, b: 1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + m_BuildTextureStacks: [] +--- !u!114 &8721144795252881867 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat.meta new file mode 100644 index 00000000000..3d78f11d0ef --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSidedLitGraph_Normal_None.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 19f95251b89231c41960532ce4f35266 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat new file mode 100644 index 00000000000..6b279dd39ec --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat @@ -0,0 +1,309 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSided_Flip + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - TransparentBackfaceDebugDisplay + - MOTIONVECTORS + - ForwardEmissiveForDeferred + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceRadiusMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatCoverage: 1 + - _CoatIOR: 0.5 + - _CoatMask: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 0 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 0 + - _Drag: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnableMotionVectorForVertexAnimation: 0 + - _EnableSpecularOcclusion: 0 + - _EnableWind: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HdrpVersion: 2 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 1 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _IOR: 1 + - _InitialBend: 1 + - _InvTilingScale: 1 + - _Ior: 1 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 0 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PreRefractionPass: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionMode: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SSSAndTransmissionType: 0 + - _ShiverDirectionality: 0.5 + - _ShiverDrag: 0.2 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _Stiffness: 1 + - _SubsurfaceMask: 1 + - _SubsurfaceProfile: 0 + - _SubsurfaceRadius: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _ThicknessMultiplier: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestMode: 8 + - _ZTestModeDistortion: 8 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: -1, g: -1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &8306962949530337125 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat.meta new file mode 100644 index 00000000000..98700edbffa --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Flip.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b9529cd15334da4eab4842519e9f77c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat new file mode 100644 index 00000000000..0d8f78ff1cb --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat @@ -0,0 +1,309 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSided_Mirror + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - TransparentBackfaceDebugDisplay + - MOTIONVECTORS + - ForwardEmissiveForDeferred + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceRadiusMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatCoverage: 1 + - _CoatIOR: 0.5 + - _CoatMask: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 0 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _Drag: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnableMotionVectorForVertexAnimation: 0 + - _EnableSpecularOcclusion: 0 + - _EnableWind: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HdrpVersion: 2 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 1 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _IOR: 1 + - _InitialBend: 1 + - _InvTilingScale: 1 + - _Ior: 1 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 0 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PreRefractionPass: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionMode: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SSSAndTransmissionType: 0 + - _ShiverDirectionality: 0.5 + - _ShiverDrag: 0.2 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _Stiffness: 1 + - _SubsurfaceMask: 1 + - _SubsurfaceProfile: 0 + - _SubsurfaceRadius: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _ThicknessMultiplier: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestMode: 8 + - _ZTestModeDistortion: 8 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &8306962949530337125 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat.meta new file mode 100644 index 00000000000..394cb7b2125 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_Mirror.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 12837f8a23069f546839f556d3a74403 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat new file mode 100644 index 00000000000..0f66205f674 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat @@ -0,0 +1,309 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DoubleSided_None + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - TransparentBackfaceDebugDisplay + - MOTIONVECTORS + - ForwardEmissiveForDeferred + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceRadiusMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatCoverage: 1 + - _CoatIOR: 0.5 + - _CoatMask: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 0 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 2 + - _Drag: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnableMotionVectorForVertexAnimation: 0 + - _EnableSpecularOcclusion: 0 + - _EnableWind: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HdrpVersion: 2 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 1 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _IOR: 1 + - _InitialBend: 1 + - _InvTilingScale: 1 + - _Ior: 1 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 0 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PreRefractionPass: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionMode: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SSSAndTransmissionType: 0 + - _ShiverDirectionality: 0.5 + - _ShiverDrag: 0.2 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _Stiffness: 1 + - _SubsurfaceMask: 1 + - _SubsurfaceProfile: 0 + - _SubsurfaceRadius: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _ThicknessMultiplier: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestMode: 8 + - _ZTestModeDistortion: 8 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: 1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &8306962949530337125 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat.meta new file mode 100644 index 00000000000..d1c4d449d8a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode/DoubleSided_None.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b8f9b5536fd1dfa4dba18ed257710334 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png index 1a45736d81b..98a1e090b16 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c588a51849564a20c4ccdc09ccb2f28e69dc78559c538bf073b3ddec06f9ed55 -size 25368 +oid sha256:f6edb264d9397e640d3bb30e5b7de45c689d179f6549d1ed2ae203687d9efdb3 +size 24836 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1202_Lit_DoubleSideNormalMode.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1202_Lit_DoubleSideNormalMode.png index f4057b6d0c3..28a83e781de 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1202_Lit_DoubleSideNormalMode.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1202_Lit_DoubleSideNormalMode.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cf372fedecc319e00e395634a4bed96b3e588f520fac1890caeca85a931a94fb -size 21532 +oid sha256:02771b61b146f12dd185caa6b0247680be4e31dba4fefd28fb9ea2fa9843fc96 +size 24695 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1202_Lit_DoubleSideNormalMode.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1202_Lit_DoubleSideNormalMode.png index 9ea2742d713..d2f3fa070e2 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1202_Lit_DoubleSideNormalMode.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1202_Lit_DoubleSideNormalMode.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a7dcb2ed483b280b1b84811b63734c1db8f26732933fecdab772e2731d2ffe7 -size 21866 +oid sha256:e1f1e8fddc2bff61d9ed7f008971bb926e79c756046ad0a4d98451378d872ca9 +size 24856 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1202_Lit_DoubleSideNormalMode.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1202_Lit_DoubleSideNormalMode.png index a219fb45d90..144e8529204 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1202_Lit_DoubleSideNormalMode.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1202_Lit_DoubleSideNormalMode.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:40275a42a8f66e26ace5e40b5381bb77f3d28d76b93c97a2b9283d41492dff01 -size 25309 +oid sha256:fbc29150668cbb27fdb44a9b3f78e4b6f9df573199d2513df3656d9240f47065 +size 24850 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png index 2f36a2c26d1..98a1e090b16 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1202_Lit_DoubleSideNormalMode.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5d790bee0893024257722f72cc1bd2580de47dd827a28af6068f4f0ee242f8d6 -size 25447 +oid sha256:f6edb264d9397e640d3bb30e5b7de45c689d179f6549d1ed2ae203687d9efdb3 +size 24836 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 2acb86c4ff9..d11b2d0295f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -57,6 +57,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed WouldFitInAtlas that would previously return wrong results if any one face of a point light would fit (it used to return true even though the light in entirety wouldn't fit). - Fixed loss of persistency of ratio between pivot position and size when sliding by 0 in DecalProjector inspector (case 1308338) - Fixed nullref when adding a volume component in a Volume profile asset (case 1317156). +- Fixed decal normal for double sided materials (case 1312065). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md index 30d0dc20c13..b7a4cd81f02 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md @@ -5,3 +5,8 @@ From 2021.2, if material ambient occlusion needs to be applied to probe volume GI and the material is deferred, the material needs to define `HAS_PAYLOAD_WITH_UNINIT_GI` constant and a function `float GetUninitializedGIPayload(SurfaceData surfaceData)` that returns the AO factor that is desired to be applied. No action is needed for forward only materials or if no material AO needs to be applied to probe volume GI. HDRP 2021.2 includes the "ForwardEmissiveForDeferred" shader pass and the associated SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED define for Materials that have a GBuffer pass. You can see the new pass in Lit.shader. When you use the Deferred Lit shader mode, Unity uses "ForwardEmissiveForDeferred" to render the emissive contribution of a Material in a separate forward pass. Otherwise, Unity ignores "ForwardEmissiveForDeferred". + +From 2021.2, a decal function in shader code has been added. To handle normal flipping for double sided materials, calls to `GetDecalSurfaceData()` should be updated from this function: +`DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, float3 vtxNormal, inout float alpha)` +to: +`DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, FragInputs input, inout float alpha)` diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl index 2ef18a55f1f..292399ba400 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl @@ -75,7 +75,7 @@ void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDes $SurfaceDescription.Alpha: alpha = surfaceDescription.Alpha; // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha); ApplyDecalToSurfaceData(decalSurfaceData, fragInputs.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl index f5c29b40d40..2d6ca2f1276 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl @@ -85,7 +85,7 @@ void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDes $SurfaceDescription.Alpha: alpha = surfaceDescription.Alpha; // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha); ApplyDecalToSurfaceData(decalSurfaceData, fragInputs.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl index bff84c37e40..69cdc4c59a6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl @@ -103,7 +103,7 @@ void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDes $SurfaceDescription.Alpha: alpha = surfaceDescription.Alpha; // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha); ApplyDecalToSurfaceData(decalSurfaceData, fragInputs.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/ShaderPass.template.hlsl index 419eb09934e..6c0bc05a8fe 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/ShaderPass.template.hlsl @@ -103,7 +103,7 @@ void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDes $SurfaceDescription.Alpha: alpha = surfaceDescription.Alpha; // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha); ApplyDecalToSurfaceData(decalSurfaceData, fragInputs.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl index e4b0af2f8c8..6f70d6ec3e6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl @@ -147,7 +147,7 @@ void BuildSurfaceData(FragInputs fragInputs, inout SurfaceDescription surfaceDes $SurfaceDescription.Alpha: alpha = surfaceDescription.Alpha; // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, fragInputs, alpha); ApplyDecalToSurfaceData(decalSurfaceData, fragInputs.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl index 9738a40418f..108f7d376c8 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl @@ -717,7 +717,7 @@ void GetSurfaceAndBuiltinData(FragInputs input, float3 V, inout PositionInputs p if (_EnableDecals) { // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input, alpha); ApplyDecalToSurfaceData(decalSurfaceData, input.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl index b813af2a25d..6d8884faddd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalUtilities.hlsl @@ -261,3 +261,18 @@ DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, float3 vtxNormal, return decalSurfaceData; } + +DecalSurfaceData GetDecalSurfaceData(PositionInputs posInput, FragInputs input, inout float alpha) +{ + float3 vtxNormal = input.tangentToWorld[2]; + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, vtxNormal, alpha); + +#ifdef _DOUBLESIDED_ON + // 'doubleSidedConstants' is float3(-1, -1, -1) in flip mode and float3(1, 1, -1) in mirror mode. + // It's float3(1, 1, 1) in the none mode. + float3 flipSign = input.isFrontFace ? float3(1.0, 1.0, 1.0) : _DoubleSidedConstants.xyz; + decalSurfaceData.normalWS.xyz *= flipSign; +#endif // _DOUBLESIDED_ON + + return decalSurfaceData; +} diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl index 8c3361fbe96..f2f72219ad0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl @@ -772,7 +772,7 @@ void GetSurfaceAndBuiltinData(FragInputs input, float3 V, inout PositionInputs p if (_EnableDecals) { // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input, alpha); ApplyDecalToSurfaceData(decalSurfaceData, input.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader index c0cb6f940df..105d781a213 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader @@ -241,6 +241,7 @@ Shader "HDRP/Lit" HLSLINCLUDE #pragma target 4.5 + //#pragma enable_d3d11_debug_symbols //------------------------------------------------------------------------------------- // Variant diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl index fdf686500f1..c1f16fa88ab 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl @@ -247,7 +247,7 @@ void GetSurfaceAndBuiltinData(FragInputs input, float3 V, inout PositionInputs p if (_EnableDecals) { // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input, alpha); ApplyDecalToSurfaceData(decalSurfaceData, input.tangentToWorld[2], surfaceData); } #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/TerrainLit/TerrainLitData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/TerrainLit/TerrainLitData.hlsl index 87d73c91f68..7eed1d392dd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/TerrainLit/TerrainLitData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/TerrainLit/TerrainLitData.hlsl @@ -221,7 +221,7 @@ void GetSurfaceAndBuiltinData(inout FragInputs input, float3 V, inout PositionIn { float alpha = 1.0; // unused // Both uses and modifies 'surfaceData.normalWS'. - DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input.tangentToWorld[2], alpha); + DecalSurfaceData decalSurfaceData = GetDecalSurfaceData(posInput, input, alpha); ApplyDecalToSurfaceData(decalSurfaceData, input.tangentToWorld[2], surfaceData); } #endif From e350783e1df33ee6d55653db775a05ad70233b47 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Wed, 24 Feb 2021 22:37:59 +0100 Subject: [PATCH 082/148] Fixed render graph resource log to display properly MB and improved readability. (#3638) --- .../Runtime/RenderGraph/RenderGraphResourcePool.cs | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs index 00c3e0d4898..cf34b338fa0 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourcePool.cs @@ -121,8 +121,15 @@ public override void LogResources(RenderGraphLogger logger) allocationList.Sort((a, b) => a.size < b.size ? 1 : -1); int index = 0; + float total = 0; foreach (var element in allocationList) - logger.LogLine("[{0}]\t[{1:#.##} MB]\t{2}", index++, element.size / 1024.0f, element.name); + { + float size = element.size / (1024.0f * 1024.0f); + total += size; + logger.LogLine($"[{index++:D2}]\t[{size:0.00} MB]\t{element.name}"); + } + + logger.LogLine($"\nTotal Size [{total:0.00}]"); } static protected bool ShouldReleaseResource(int lastUsedFrameIndex, int currentFrameIndex) From 4851240223f0a704c0b8bdf35e6f60ca9eabe70c Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Wed, 24 Feb 2021 23:33:54 +0100 Subject: [PATCH 083/148] Display a warning help box when decal atlas is out of size (#3634) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Decal/DecalProjectorEditor.cs | 4 ++++ .../Runtime/Material/Decal/DecalSystem.cs | 8 +++++++- 3 files changed, 12 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d11b2d0295f..185215f9c81 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -90,6 +90,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Improved shadow cascade GUI drawing with pixel perfect, hover and focus functionalities. - Improving the screen space global illumination. - Moving MaterialHeaderScopes to Core +- Display a warning help box when decal atlas is out of size. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs index ebca7197512..5969eb9f5c8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs @@ -617,7 +617,11 @@ public override void OnInspectorGUI() EditorGUILayout.LabelField(EditorGUIUtility.TrTextContent("Multiple material type in selection")); } else if (showAffectTransparency) + { EditorGUILayout.PropertyField(m_AffectsTransparencyProperty, k_AffectTransparentContent); + if (m_AffectsTransparencyProperty.boolValue && !DecalSystem.instance.IsAtlasAllocatedSuccessfully()) + EditorGUILayout.HelpBox(DecalSystem.s_AtlasSizeWarningMessage, MessageType.Warning); + } } if (EditorGUI.EndChangeCheck()) serializedObject.ApplyModifiedProperties(); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalSystem.cs index 984eed5e45b..3696f352e51 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/DecalSystem.cs @@ -44,6 +44,7 @@ public enum MaterialDecalPass }; public static readonly string[] s_MaterialDecalPassNames = Enum.GetNames(typeof(MaterialDecalPass)); + public static readonly string s_AtlasSizeWarningMessage = "Decal texture atlas out of space, decals on transparent geometry might not render correctly, atlas size can be changed in HDRenderPipelineAsset"; public class CullResult : IDisposable { @@ -1107,7 +1108,7 @@ public void UpdateTextureAtlas(CommandBuffer cmd) if (!m_AllocationSuccess && m_PrevAllocationSuccess) // still failed to allocate, decal atlas size needs to increase, debounce so that we don't spam the console with warnings { - Debug.LogWarning("Decal texture atlas out of space, decals on transparent geometry might not render correctly, atlas size can be changed in HDRenderPipelineAsset"); + Debug.LogWarning(s_AtlasSizeWarningMessage); } } m_PrevAllocationSuccess = m_AllocationSuccess; @@ -1180,5 +1181,10 @@ public void LoadCullResults(CullResult cullResult) } } } + + public bool IsAtlasAllocatedSuccessfully() + { + return m_AllocationSuccess; + } } } From b6496c1b0187fdd89bab3d54ce0c9a9a6fd0c94b Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Wed, 24 Feb 2021 23:45:42 +0100 Subject: [PATCH 084/148] Improved render texture debug names (#3631) --- .../Runtime/Textures/RTHandleSystem.cs | 14 +++++---- .../Runtime/Utilities/CoreUtils.cs | 29 +++++++++++++++++-- 2 files changed, 34 insertions(+), 9 deletions(-) diff --git a/com.unity.render-pipelines.core/Runtime/Textures/RTHandleSystem.cs b/com.unity.render-pipelines.core/Runtime/Textures/RTHandleSystem.cs index 5cefb15fd44..48ff4f94a95 100644 --- a/com.unity.render-pipelines.core/Runtime/Textures/RTHandleSystem.cs +++ b/com.unity.render-pipelines.core/Runtime/Textures/RTHandleSystem.cs @@ -324,11 +324,13 @@ void DemandResize(RTHandle rth) rt.width, rt.height, rt.volumeDepth, - rt.format, + rt.graphicsFormat, + rt.dimension, rth.m_Name, mips: rt.useMipMap, enableMSAA: rth.m_EnableMSAA, - msaaSamples: m_ScaledRTCurrentMSAASamples + msaaSamples: m_ScaledRTCurrentMSAASamples, + dynamicRes: rt.useDynamicScale ); // Create the new texture @@ -416,7 +418,7 @@ void Resize(int width, int height, MSAASamples msaaSamples, bool sizeChanged, bo } // Regenerate the name - renderTexture.name = CoreUtils.GetRenderTargetAutoName(renderTexture.width, renderTexture.height, renderTexture.volumeDepth, renderTexture.format, rth.m_Name, mips: renderTexture.useMipMap, enableMSAA: rth.m_EnableMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples); + renderTexture.name = CoreUtils.GetRenderTargetAutoName(renderTexture.width, renderTexture.height, renderTexture.volumeDepth, renderTexture.graphicsFormat, renderTexture.dimension, rth.m_Name, mips: renderTexture.useMipMap, enableMSAA: rth.m_EnableMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples, dynamicRes: renderTexture.useDynamicScale); // Create the render texture renderTexture.Create(); @@ -517,7 +519,7 @@ public RTHandle Alloc( bindTextureMS = bindTextureMS, useDynamicScale = m_HardwareDynamicResRequested && useDynamicScale, memorylessMode = memoryless, - name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, name, mips: useMipMap, enableMSAA: enableMSAA, msaaSamples: msaaSamples) + name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, dimension, name, mips: useMipMap, enableMSAA: enableMSAA, msaaSamples: msaaSamples, dynamicRes: useDynamicScale) }; } @@ -773,7 +775,7 @@ string name useDynamicScale = m_HardwareDynamicResRequested && useDynamicScale, memorylessMode = memoryless, stencilFormat = stencilFormat, - name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, name, mips: useMipMap, enableMSAA: allocForMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples) + name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, dimension, name, mips: useMipMap, enableMSAA: allocForMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples, dynamicRes: useDynamicScale) }; } else @@ -794,7 +796,7 @@ string name bindTextureMS = bindTextureMS, useDynamicScale = m_HardwareDynamicResRequested && useDynamicScale, memorylessMode = memoryless, - name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, name, mips: useMipMap, enableMSAA: allocForMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples) + name = CoreUtils.GetRenderTargetAutoName(width, height, slices, colorFormat, dimension, name, mips: useMipMap, enableMSAA: allocForMSAA, msaaSamples: m_ScaledRTCurrentMSAASamples, dynamicRes: useDynamicScale) }; } diff --git a/com.unity.render-pipelines.core/Runtime/Utilities/CoreUtils.cs b/com.unity.render-pipelines.core/Runtime/Utilities/CoreUtils.cs index e0efc0477e4..91faabbcf99 100644 --- a/com.unity.render-pipelines.core/Runtime/Utilities/CoreUtils.cs +++ b/com.unity.render-pipelines.core/Runtime/Utilities/CoreUtils.cs @@ -617,7 +617,7 @@ public static void SetViewport(CommandBuffer cmd, RTHandle target) /// Number of MSAA samples. /// Generated names bassed on the provided parameters. public static string GetRenderTargetAutoName(int width, int height, int depth, RenderTextureFormat format, string name, bool mips = false, bool enableMSAA = false, MSAASamples msaaSamples = MSAASamples.None) - => GetRenderTargetAutoName(width, height, depth, format.ToString(), name, mips, enableMSAA, msaaSamples); + => GetRenderTargetAutoName(width, height, depth, format.ToString(), TextureDimension.None, name, mips, enableMSAA, msaaSamples, dynamicRes: false); /// /// Generate a name based on render texture parameters. @@ -632,9 +632,26 @@ public static string GetRenderTargetAutoName(int width, int height, int depth, R /// Number of MSAA samples. /// Generated names bassed on the provided parameters. public static string GetRenderTargetAutoName(int width, int height, int depth, GraphicsFormat format, string name, bool mips = false, bool enableMSAA = false, MSAASamples msaaSamples = MSAASamples.None) - => GetRenderTargetAutoName(width, height, depth, format.ToString(), name, mips, enableMSAA, msaaSamples); + => GetRenderTargetAutoName(width, height, depth, format.ToString(), TextureDimension.None, name, mips, enableMSAA, msaaSamples, dynamicRes: false); - static string GetRenderTargetAutoName(int width, int height, int depth, string format, string name, bool mips = false, bool enableMSAA = false, MSAASamples msaaSamples = MSAASamples.None) + /// + /// Generate a name based on render texture parameters. + /// + /// With of the texture. + /// Height of the texture. + /// Depth of the texture. + /// Graphics format of the render texture. + /// Dimension of the texture. + /// Base name of the texture. + /// True if the texture has mip maps. + /// True if the texture is multisampled. + /// Number of MSAA samples. + /// True if the texture uses dynamic resolution. + /// Generated names bassed on the provided parameters. + public static string GetRenderTargetAutoName(int width, int height, int depth, GraphicsFormat format, TextureDimension dim, string name, bool mips = false, bool enableMSAA = false, MSAASamples msaaSamples = MSAASamples.None, bool dynamicRes = false) + => GetRenderTargetAutoName(width, height, depth, format.ToString(), dim, name, mips, enableMSAA, msaaSamples, dynamicRes); + + static string GetRenderTargetAutoName(int width, int height, int depth, string format, TextureDimension dim, string name, bool mips, bool enableMSAA, MSAASamples msaaSamples, bool dynamicRes) { string result = string.Format("{0}_{1}x{2}", name, width, height); @@ -646,9 +663,15 @@ static string GetRenderTargetAutoName(int width, int height, int depth, string f result = string.Format("{0}_{1}", result, format); + if (dim != TextureDimension.None) + result = string.Format("{0}_{1}", result, dim); + if (enableMSAA) result = string.Format("{0}_{1}", result, msaaSamples.ToString()); + if (dynamicRes) + result = string.Format("{0}_{1}", result, "dynamic"); + return result; } From 22b4a1d5a93991c7fbdf2b440c2e02b7445f3733 Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Thu, 25 Feb 2021 04:26:20 -0500 Subject: [PATCH 085/148] Fixing ordering of UI Frame settings [Fogbugz 1315452] (#3628) * Fixing wrong ordering of frame settings on the UI. Ignoring enums that are tagged as obsolete. * Moving reflection call to its own utility function, and caching frame settings names. * Adding changelog changes. Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Settings/OverridableFrameSettingsArea.cs | 5 ++- .../Debugging/FrameSettingsFieldAttribute.cs | 29 ++++++++++++++- .../RenderPipeline/Settings/FrameSettings.cs | 37 ++++++++++--------- 4 files changed, 51 insertions(+), 21 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 185215f9c81..eecc16736da 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -58,6 +58,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed loss of persistency of ratio between pivot position and size when sliding by 0 in DecalProjector inspector (case 1308338) - Fixed nullref when adding a volume component in a Volume profile asset (case 1317156). - Fixed decal normal for double sided materials (case 1312065). +- Fixed multiple HDRP Frame Settings panel issues: missing "Refraction" Frame Setting. Fixing ordering of Rough Distortion, it should now be under the Distortion setting. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs index 9c6aa06d2a2..5d4fe2acc5e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs @@ -26,10 +26,11 @@ static OverridableFrameSettingsArea() { attributes = new Dictionary(); attributesGroup = new Dictionary>>(); + Dictionary frameSettingsEnumNameMap = FrameSettingsFieldAttribute.GetEnumNameMap(); Type type = typeof(FrameSettingsField); - foreach (FrameSettingsField value in Enum.GetValues(type)) + foreach (FrameSettingsField enumVal in frameSettingsEnumNameMap.Keys) { - attributes[value] = type.GetField(Enum.GetName(type, value)).GetCustomAttribute(); + attributes[enumVal] = type.GetField(frameSettingsEnumNameMap[enumVal]).GetCustomAttribute(); } frameSettingsKeywords = attributes diff --git a/com.unity.render-pipelines.high-definition/Runtime/Core/Debugging/FrameSettingsFieldAttribute.cs b/com.unity.render-pipelines.high-definition/Runtime/Core/Debugging/FrameSettingsFieldAttribute.cs index 9d5830a221a..e18060991da 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Core/Debugging/FrameSettingsFieldAttribute.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Core/Debugging/FrameSettingsFieldAttribute.cs @@ -1,5 +1,7 @@ using System; using System.Text; +using System.Collections.Generic; +using System.Reflection; namespace UnityEngine.Rendering.HighDefinition { @@ -42,6 +44,31 @@ public enum DisplayType { BoolAsCheckbox, BoolAsEnumPopup, Others } static int autoOrder = 0; + private static Dictionary s_FrameSettingsEnumNameMap = null; + + public static Dictionary GetEnumNameMap() + { + if (s_FrameSettingsEnumNameMap == null) + { + s_FrameSettingsEnumNameMap = new Dictionary(); + Type type = typeof(FrameSettingsField); + foreach (string enumName in Enum.GetNames(type)) + { + if (type.GetField(enumName).GetCustomAttribute() != null) + continue; + + s_FrameSettingsEnumNameMap.Add((FrameSettingsField)Enum.Parse(type, enumName), enumName); + } + } + + return s_FrameSettingsEnumNameMap; + } + + static FrameSettingsFieldAttribute() + { + GetEnumNameMap();//build the enum name map. + } + /// Attribute contenaing generation info for inspector and DebugMenu /// Group index contening this element. /// [Optional] Helper to name the label as the enum entry given. Alternatively, use displayedName. @@ -65,7 +92,7 @@ public FrameSettingsFieldAttribute( int customOrderInGroup = -1) { if (string.IsNullOrEmpty(displayedName)) - displayedName = autoName.ToString().CamelToPascalCaseWithSpace(); + displayedName = s_FrameSettingsEnumNameMap[autoName].CamelToPascalCaseWithSpace(); // Editor and Runtime debug menu this.group = group; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs index 1ae48c7d1e4..3bd479c4499 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs @@ -149,62 +149,63 @@ public enum FrameSettingsField /// When enabled, HDRP processes a refraction render pass for Cameras using these Frame Settings. This add a resolve of ColorBuffer after the drawing of opaque materials to be use for Refraction effect during transparent pass. [FrameSettingsField(0, autoName: Refraction, customOrderInGroup: 15, tooltip: "When enabled, HDRP processes a refraction render pass for Cameras using these Frame Settings. This add a resolve of ColorBuffer after the drawing of opaque materials to be use for Refraction effect during transparent pass.")] Refraction = 13, + //NOTE: Obsoletes must precede the proper enums, otherwise the compiler occludes them. /// When enabled, HDRP processes a refraction render pass for Cameras using these Frame Settings. This add a resolve of ColorBuffer after the drawing of opaque materials to be use for Refraction effect during transparent pass. [Obsolete] RoughRefraction = 13, /// When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings. - [FrameSettingsField(0, autoName: Distortion, tooltip: "When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings (Depends on \"Distortion\" in current HDRP Asset).")] + [FrameSettingsField(0, autoName: Distortion, customOrderInGroup: 16, tooltip: "When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings (Depends on \"Distortion\" in current HDRP Asset).")] Distortion = 14, /// When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings. - [FrameSettingsField(0, autoName: RoughDistortion, customOrderInGroup: 16, positiveDependencies: new[] { Distortion }, tooltip: "When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings (Depends on \"Distortion\" in current HDRP Asset).")] + [FrameSettingsField(0, autoName: RoughDistortion, customOrderInGroup: 17, positiveDependencies: new[] { Distortion }, tooltip: "When enabled, HDRP processes a distortion render pass for Cameras using these Frame Settings (Depends on \"Distortion\" in current HDRP Asset).")] RoughDistortion = 67, /// When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings. - [FrameSettingsField(0, displayedName: "Post-process", customOrderInGroup: 17, tooltip: "When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings.")] + [FrameSettingsField(0, displayedName: "Post-process", customOrderInGroup: 18, tooltip: "When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings.")] Postprocess = 15, /// When enabled, HDRP render user written post processes. - [FrameSettingsField(0, displayedName: "Custom Post-process", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP render user written post processes.")] + [FrameSettingsField(0, displayedName: "Custom Post-process", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP render user written post processes.")] CustomPostProcess = 39, /// When enabled, HDRP replace NaN values with black pixels for Cameras using these Frame Settings. - [FrameSettingsField(0, displayedName: "Stop NaN", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP replace NaN values with black pixels for Cameras using these Frame Settings.")] + [FrameSettingsField(0, displayedName: "Stop NaN", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP replace NaN values with black pixels for Cameras using these Frame Settings.")] StopNaN = 80, /// When enabled, HDRP adds depth of field to Cameras affected by a Volume containing the Depth Of Field override. - [FrameSettingsField(0, autoName: DepthOfField, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds depth of field to Cameras affected by a Volume containing the Depth Of Field override.")] + [FrameSettingsField(0, autoName: DepthOfField, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds depth of field to Cameras affected by a Volume containing the Depth Of Field override.")] DepthOfField = 81, /// When enabled, HDRP adds motion blur to Cameras affected by a Volume containing the Blur override. - [FrameSettingsField(0, autoName: MotionBlur, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds motion blur to Cameras affected by a Volume containing the Blur override.")] + [FrameSettingsField(0, autoName: MotionBlur, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds motion blur to Cameras affected by a Volume containing the Blur override.")] MotionBlur = 82, /// When enabled, HDRP adds panini projection to Cameras affected by a Volume containing the Panini Projection override. - [FrameSettingsField(0, autoName: PaniniProjection, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds panini projection to Cameras affected by a Volume containing the Panini Projection override.")] + [FrameSettingsField(0, autoName: PaniniProjection, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds panini projection to Cameras affected by a Volume containing the Panini Projection override.")] PaniniProjection = 83, /// When enabled, HDRP adds bloom to Cameras affected by a Volume containing the Bloom override. - [FrameSettingsField(0, autoName: Bloom, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds bloom to Cameras affected by a Volume containing the Bloom override.")] + [FrameSettingsField(0, autoName: Bloom, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds bloom to Cameras affected by a Volume containing the Bloom override.")] Bloom = 84, /// When enabled, HDRP adds lens distortion to Cameras affected by a Volume containing the Lens Distortion override. - [FrameSettingsField(0, autoName: LensDistortion, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds lens distortion to Cameras affected by a Volume containing the Lens Distortion override.")] + [FrameSettingsField(0, autoName: LensDistortion, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds lens distortion to Cameras affected by a Volume containing the Lens Distortion override.")] LensDistortion = 85, /// When enabled, HDRP adds chromatic aberration to Cameras affected by a Volume containing the Chromatic Aberration override. - [FrameSettingsField(0, autoName: ChromaticAberration, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds chromatic aberration to Cameras affected by a Volume containing the Chromatic Aberration override.")] + [FrameSettingsField(0, autoName: ChromaticAberration, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds chromatic aberration to Cameras affected by a Volume containing the Chromatic Aberration override.")] ChromaticAberration = 86, /// When enabled, HDRP adds vignette to Cameras affected by a Volume containing the Vignette override. - [FrameSettingsField(0, autoName: Vignette, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP adds vignette to Cameras affected by a Volume containing the Vignette override.")] + [FrameSettingsField(0, autoName: Vignette, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds vignette to Cameras affected by a Volume containing the Vignette override.")] Vignette = 87, /// When enabled, HDRP processes color grading for Cameras using these Frame Settings. - [FrameSettingsField(0, autoName: ColorGrading, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP processes color grading for Cameras using these Frame Settings.")] + [FrameSettingsField(0, autoName: ColorGrading, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP processes color grading for Cameras using these Frame Settings.")] ColorGrading = 88, /// When enabled, HDRP processes tonemapping for Cameras using these Frame Settings. - [FrameSettingsField(0, autoName: Tonemapping, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 17, tooltip: "When enabled, HDRP processes tonemapping for Cameras using these Frame Settings.")] + [FrameSettingsField(0, autoName: Tonemapping, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP processes tonemapping for Cameras using these Frame Settings.")] Tonemapping = 93, /// When enabled, HDRP adds film grain to Cameras affected by a Volume containing the Film Grain override. - [FrameSettingsField(0, autoName: FilmGrain, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 18, tooltip: "When enabled, HDRP adds film grain to Cameras affected by a Volume containing the Film Grain override.")] + [FrameSettingsField(0, autoName: FilmGrain, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP adds film grain to Cameras affected by a Volume containing the Film Grain override.")] FilmGrain = 89, /// When enabled, HDRP processes dithering for Cameras using these Frame Settings. - [FrameSettingsField(0, autoName: Dithering, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 18, tooltip: "When enabled, HDRP processes dithering for Cameras using these Frame Settings.")] + [FrameSettingsField(0, autoName: Dithering, positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP processes dithering for Cameras using these Frame Settings.")] Dithering = 90, /// When enabled, HDRP processes anti-aliasing for camera using these Frame Settings. - [FrameSettingsField(0, displayedName: "Anti-aliasing", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 18, tooltip: "When enabled, HDRP processes anti-aliasing for camera using these Frame Settings.")] + [FrameSettingsField(0, displayedName: "Anti-aliasing", positiveDependencies: new[] { Postprocess }, customOrderInGroup: 19, tooltip: "When enabled, HDRP processes anti-aliasing for camera using these Frame Settings.")] Antialiasing = 91, /// When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings. - [FrameSettingsField(0, displayedName: "After Post-process", customOrderInGroup: 19, tooltip: "When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings.")] + [FrameSettingsField(0, displayedName: "After Post-process", customOrderInGroup: 20, tooltip: "When enabled, HDRP processes a post-processing render pass for Cameras using these Frame Settings.")] AfterPostprocess = 17, /// When enabled, Cameras that don't use TAA process a depth test for Materials in the AfterPostProcess rendering pass. [FrameSettingsField(0, displayedName: "Depth Test", positiveDependencies: new[] { AfterPostprocess }, customOrderInGroup: 20, tooltip: "When enabled, Cameras that don't use TAA process a depth test for Materials in the AfterPostProcess rendering pass.")] From 48444abf5b138ee7844ff456f189ea94b19ae7c3 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Thu, 25 Feb 2021 17:30:52 +0100 Subject: [PATCH 086/148] Port change. (#3656) --- .../CHANGELOG.md | 1 + .../Editor/PostProcessing/ExposureEditor.cs | 27 +++++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index eecc16736da..40883f5620c 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -59,6 +59,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed nullref when adding a volume component in a Volume profile asset (case 1317156). - Fixed decal normal for double sided materials (case 1312065). - Fixed multiple HDRP Frame Settings panel issues: missing "Refraction" Frame Setting. Fixing ordering of Rough Distortion, it should now be under the Distortion setting. +- Fixed issue with automatic exposure settings not updating scene view. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs index 484260c6869..d9843432635 100644 --- a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/ExposureEditor.cs @@ -39,6 +39,9 @@ sealed class ExposureEditor : VolumeComponentEditor private static LightUnitSliderUIDrawer k_LightUnitSlider; + int m_RepaintsAfterChange = 0; + int m_SettingsForDoubleRefreshHash = 0; + public override void OnEnable() { var o = new PropertyFetcher(serializedObject); @@ -177,6 +180,30 @@ public override void OnInspectorGUI() } EndAdditionalPropertiesScope(); } + + // Since automatic exposure works on 2 frames (automatic exposure is computed from previous frame data), we need to trigger the scene repaint twice if + // some of the changes that will lead to different results are changed. + int automaticCurrSettingHash = m_LimitMin.value.floatValue.GetHashCode() + + 17 * m_LimitMax.value.floatValue.GetHashCode() + + 17 * m_Compensation.value.floatValue.GetHashCode(); + + if (mode == (int)ExposureMode.Automatic || mode == (int)ExposureMode.AutomaticHistogram) + { + if (automaticCurrSettingHash != m_SettingsForDoubleRefreshHash) + { + m_RepaintsAfterChange = 2; + } + else + { + m_RepaintsAfterChange = Mathf.Max(0, m_RepaintsAfterChange - 1); + } + m_SettingsForDoubleRefreshHash = automaticCurrSettingHash; + + if (m_RepaintsAfterChange > 0) + { + SceneView.RepaintAll(); + } + } } // TODO: See if this can be refactored into a custom VolumeParameterDrawer From f736f8e982dca66f1dd73bdbb4e73eeb26e3e491 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Fri, 26 Feb 2021 20:44:33 +0100 Subject: [PATCH 087/148] Fix issue with velocity rejection in post-DoF TAA (#3672) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/PostProcessing/Shaders/TemporalAntiAliasing.shader | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 40883f5620c..b690ac4dace 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -60,6 +60,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed decal normal for double sided materials (case 1312065). - Fixed multiple HDRP Frame Settings panel issues: missing "Refraction" Frame Setting. Fixing ordering of Rough Distortion, it should now be under the Distortion setting. - Fixed issue with automatic exposure settings not updating scene view. +- Fixed issue with velocity rejection in post-DoF TAA. Fixing this reduces ghosting (case 1304381). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/TemporalAntiAliasing.shader b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/TemporalAntiAliasing.shader index c6f1faa948c..9250a82d6cf 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/TemporalAntiAliasing.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/TemporalAntiAliasing.shader @@ -78,7 +78,7 @@ Shader "Hidden/HDRP/TemporalAA" #define HISTORY_CLIP DIRECT_CLIP #define ANTI_FLICKER 1 #define ANTI_FLICKER_MV_DEPENDENT 1 - #define VELOCITY_REJECTION (defined(ENABLE_MV_REJECTION) && 0) + #define VELOCITY_REJECTION defined(ENABLE_MV_REJECTION) #define PERCEPTUAL_SPACE 1 #define PERCEPTUAL_SPACE_ONLY_END 0 && (PERCEPTUAL_SPACE == 0) From dbe4d2694c740a006439ed8cb69acebe985f59e6 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Sun, 28 Feb 2021 19:57:21 +0100 Subject: [PATCH 088/148] Unify Emissive mapping options on lit shaders (#3606) * Add POM to emissive on tessellated shaders * Fix uv1 for lit shaders * Updated graphic test * reenable test * Update screenshots (test for linux) Co-authored-by: sebastienlagarde --- .../1x_Materials/1221_Lit_POM_Emission.unity | 535 +++++++++++++-- .../pom_emissive_layered_lit.mat | 4 +- .../pom_emissive_layered_lit_tess.mat | 629 ++++++++++++++++++ .../pom_emissive_layered_lit_tess.mat.meta | 8 + .../pom_emissive_lit.mat | 3 +- .../pom_emissive_lit_tess.mat | 293 ++++++++ .../pom_emissive_lit_tess.mat.meta | 8 + .../Vulkan/None/1221_Lit_POM_Emission.png | 3 + .../None/1221_Lit_POM_Emission.png.meta | 108 +++ .../Metal/None/1221_Lit_POM_Emission.png | 4 +- .../Direct3D11/None/1221_Lit_POM_Emission.png | 4 +- .../Direct3D12/None/1221_Lit_POM_Emission.png | 4 +- .../Vulkan/None/1221_Lit_POM_Emission.png | 4 +- .../ProjectSettings/EditorBuildSettings.asset | 3 + .../CHANGELOG.md | 1 + .../Documentation~/Lit-Tessellation-Shader.md | 4 +- .../Material/LayeredLit/LayeredLit.shader | 2 +- .../Material/LayeredLit/LayeredLitData.hlsl | 17 +- .../LayeredLitDataDisplacement.hlsl | 2 +- .../LayeredLit/LayeredLitTessellation.shader | 8 +- .../Runtime/Material/Lit/LitData.hlsl | 2 +- .../Material/Lit/LitTessellation.shader | 11 +- 22 files changed, 1567 insertions(+), 90 deletions(-) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission.unity index 01cedcbc95f..594703ff67e 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission.unity @@ -150,13 +150,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 367154107} - m_LocalRotation: {x: -0.0011036991, y: 0.0032614912, z: 0.0025678498, w: 0.99999076} - m_LocalPosition: {x: -1.802, y: 1.229, z: -0.42} - m_LocalScale: {x: 0.10083878, y: 0.10083878, z: 0.10083878} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.78, y: 0, z: 0} + m_LocalScale: {x: 0.06018465, y: 0.06018465, z: 0.06018465} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: -36.698, y: 30, z: -18.686} + m_Father: {fileID: 1780462270} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &367154109 MonoBehaviour: m_ObjectHideFlags: 0 @@ -169,7 +169,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} m_Name: m_EditorClassIdentifier: - pixelSize: 8 + pixelSize: 2 testSettings: {fileID: 0} targetCamera: {fileID: 1907231717} forceTargetDimensions: {x: 200, y: 150} @@ -183,7 +183,7 @@ TextMesh: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 367154107} - m_Text: Lit + m_Text: LayeredLit m_OffsetZ: 0 m_CharacterSize: 1 m_LineSpacing: 1.125 @@ -208,6 +208,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -238,6 +239,89 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &630662743 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 630662746} + - component: {fileID: 630662745} + - component: {fileID: 630662744} + m_Layer: 0 + m_Name: LitTess + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &630662744 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630662743} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 8845baab1b2a030458c174a335616d94, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &630662745 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630662743} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &630662746 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 630662743} + m_LocalRotation: {x: 0, y: -0.30070576, z: 0, w: 0.953717} + m_LocalPosition: {x: -1.93, y: 1.6, z: 1} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: + - {fileID: 1073009133} + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: -35, z: 0} --- !u!1 &998874802 GameObject: m_ObjectHideFlags: 0 @@ -267,6 +351,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -312,13 +397,248 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 998874802} - m_LocalRotation: {x: 0.339628, y: -0.1890918, z: 0.06990404, w: 0.9187005} - m_LocalPosition: {x: -1.93, y: 0, z: 1.01} + m_LocalRotation: {x: 0, y: -0.30070576, z: 0, w: 0.953717} + m_LocalPosition: {x: -1.93, y: -1.6, z: 1} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 1484919141} m_Father: {fileID: 0} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 40.577, y: -23.261, z: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: -35, z: 0} +--- !u!1 &1073009132 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1073009133} + - component: {fileID: 1073009136} + - component: {fileID: 1073009135} + - component: {fileID: 1073009134} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1073009133 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073009132} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.78, y: 0, z: 0} + m_LocalScale: {x: 0.06018465, y: 0.06018465, z: 0.06018465} + m_Children: [] + m_Father: {fileID: 630662746} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1073009134 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073009132} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 2 + testSettings: {fileID: 0} + targetCamera: {fileID: 1907231717} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1073009135} +--- !u!102 &1073009135 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073009132} + m_Text: 'Lit + + Tessellated' + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1.125 + m_Anchor: 7 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1073009136 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1073009132} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1302552204 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1302552205} + - component: {fileID: 1302552208} + - component: {fileID: 1302552207} + - component: {fileID: 1302552206} + m_Layer: 0 + m_Name: Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1302552205 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302552204} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0.78, y: 0, z: 0} + m_LocalScale: {x: 0.06018465, y: 0.06018465, z: 0.06018465} + m_Children: [] + m_Father: {fileID: 1760319197} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1302552206 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302552204} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 2 + testSettings: {fileID: 0} + targetCamera: {fileID: 1907231717} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1302552207} +--- !u!102 &1302552207 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302552204} + m_Text: 'LayeredLit + + Tessellated' + m_OffsetZ: 0 + m_CharacterSize: 1 + m_LineSpacing: 1.125 + m_Anchor: 7 + m_Alignment: 1 + m_TabSize: 4 + m_FontSize: 0 + m_FontStyle: 0 + m_RichText: 0 + m_Font: {fileID: 12800000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_Color: + serializedVersion: 2 + rgba: 4294967295 +--- !u!23 &1302552208 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1302552204} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1484919140 GameObject: m_ObjectHideFlags: 0 @@ -345,13 +665,13 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1484919140} - m_LocalRotation: {x: -0.0011036395, y: -0.0032614167, z: -0.0025677902, w: 0.99999076} - m_LocalPosition: {x: 1.845, y: 1.241, z: -0.41999996} - m_LocalScale: {x: 0.10083878, y: 0.10083878, z: 0.10083878} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -0.78, y: 0, z: 0} + m_LocalScale: {x: 0.06018465, y: 0.06018465, z: 0.06018465} m_Children: [] - m_Father: {fileID: 0} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: -36.698, y: -30, z: 18.686} + m_Father: {fileID: 998874805} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!114 &1484919142 MonoBehaviour: m_ObjectHideFlags: 0 @@ -364,7 +684,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} m_Name: m_EditorClassIdentifier: - pixelSize: 8 + pixelSize: 2 testSettings: {fileID: 0} targetCamera: {fileID: 1907231717} forceTargetDimensions: {x: 200, y: 150} @@ -378,7 +698,9 @@ TextMesh: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1484919140} - m_Text: LayeredLit + m_Text: 'Lit + +' m_OffsetZ: 0 m_CharacterSize: 1 m_LineSpacing: 1.125 @@ -403,6 +725,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -463,22 +786,16 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 10 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 0.3 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 m_LightDimmer: 1 m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -493,6 +810,9 @@ MonoBehaviour: m_ApplyRangeAttenuation: 1 m_DisplayAreaLightEmissiveMesh: 0 m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -542,8 +862,13 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -559,9 +884,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &1497987839 Light: m_ObjectHideFlags: 0 @@ -621,6 +954,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 &1497987840 @@ -637,6 +971,89 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 38.31, y: 0, z: 0} +--- !u!1 &1760319194 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1760319197} + - component: {fileID: 1760319196} + - component: {fileID: 1760319195} + m_Layer: 0 + m_Name: LayeredLitTess + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!23 &1760319195 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760319194} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4345a8ec5dd4c7c4d96078402eb8e6f4, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 1 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1760319196 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760319194} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1760319197 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1760319194} + m_LocalRotation: {x: 0, y: 0.30070576, z: 0, w: 0.953717} + m_LocalPosition: {x: 1.93, y: 1.6, z: 1} + m_LocalScale: {x: 3, y: 3, z: 3} + m_Children: + - {fileID: 1302552205} + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 35, z: 0} --- !u!1 &1780462269 GameObject: m_ObjectHideFlags: 0 @@ -662,13 +1079,14 @@ Transform: m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1780462269} - m_LocalRotation: {x: 0.339628, y: 0.1890918, z: -0.06990404, w: 0.9187005} - m_LocalPosition: {x: 1.93, y: 0, z: 1.01} + m_LocalRotation: {x: 0, y: 0.30070576, z: 0, w: 0.953717} + m_LocalPosition: {x: 1.93, y: -1.6, z: 1} m_LocalScale: {x: 3, y: 3, z: 3} - m_Children: [] + m_Children: + - {fileID: 367154108} m_Father: {fileID: 0} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 40.577, y: 23.261, z: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 35, z: 0} --- !u!23 &1780462271 MeshRenderer: m_ObjectHideFlags: 0 @@ -680,6 +1098,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -725,6 +1144,10 @@ PrefabInstance: m_Modification: m_TransformParent: {fileID: 0} m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.x value: 0 @@ -735,7 +1158,11 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.z - value: -6.75 + value: -7.416 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalRotation.x @@ -749,14 +1176,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_LocalRotation.w - value: 1 - objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_ClearFlags @@ -764,13 +1183,13 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_BackGroundColor.r - value: 0.4705882 + propertyPath: field of view + value: 41.9 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_BackGroundColor.g - value: 0.4705882 + propertyPath: far clip plane + value: 30 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -779,13 +1198,13 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: far clip plane - value: 30 + propertyPath: m_BackGroundColor.g + value: 0.4705882 objectReference: {fileID: 0} - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: field of view - value: 32 + propertyPath: m_BackGroundColor.r + value: 0.4705882 objectReference: {fileID: 0} - target: {fileID: 114110876577682668, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -803,6 +1222,12 @@ PrefabInstance: propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 value: 70005818916701 objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelineAsset + value: + objectReference: {fileID: 11400000, guid: 8650072ee85219341b65a263bf871815, + type: 2} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: ImageComparisonSettings.TargetWidth @@ -813,12 +1238,6 @@ PrefabInstance: propertyPath: ImageComparisonSettings.TargetHeight value: 360 objectReference: {fileID: 0} - - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: renderPipelineAsset - value: - objectReference: {fileID: 11400000, guid: 8650072ee85219341b65a263bf871815, - type: 2} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} --- !u!20 &1907231717 stripped diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit.mat index 187a355a052..867f7024368 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit.mat @@ -16,7 +16,8 @@ Material: m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 m_CustomRenderQueue: 2225 - stringTagMap: {} + stringTagMap: + MotionVector: User disabledShaderPasses: - DistortionVectors - MOTIONVECTORS @@ -366,6 +367,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat new file mode 100644 index 00000000000..1d17a5d8565 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat @@ -0,0 +1,629 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pom_emissive_layered_lit_tess + m_Shader: {fileID: 4800000, guid: eab0538d9d5746246806a9611c04ac4d, type: 3} + m_ShaderKeywords: _EMISSIVE_COLOR_MAP _EMISSIVE_MAPPING_BASE _HEIGHTMAP1 _NORMALMAP0 + _NORMALMAP1 _NORMALMAP_TANGENT_SPACE0 _NORMALMAP_TANGENT_SPACE1 _NORMALMAP_TANGENT_SPACE2 + _NORMALMAP_TANGENT_SPACE3 + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 2800000, guid: 97a5684bc72c1704fadc965467f242ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap0: + m_Texture: {fileID: 2800000, guid: 97a5684bc72c1704fadc965467f242ea, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + - _BaseColorMap1: + m_Texture: {fileID: 2800000, guid: 3dd789714c4d7ef4ba0dd0d92fb66905, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0.37, y: 0.16} + - _BaseColorMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 2800000, guid: d5b7db2e02c79564997239e235ac4b93, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 2800000, guid: 765ed877b92d01c4f8d6c6d2be61fd99, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap1: + m_Texture: {fileID: 2800000, guid: 0de7b343e03245e41909d7908bf98171, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _LayerInfluenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _LayerMaskMap: + m_Texture: {fileID: 2800000, guid: a710a085bb92d7a40b77a8a2d47fee21, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: d5b7db2e02c79564997239e235ac4b93, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap0: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap1: + m_Texture: {fileID: 2800000, guid: 6db1f84b28983f04bafe3e0dee12aea5, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap0: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap1: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap2: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap3: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMax0: 1 + - _AORemapMax1: 1 + - _AORemapMax2: 1 + - _AORemapMax3: 1 + - _AORemapMin: 0 + - _AORemapMin0: 0 + - _AORemapMin1: 0 + - _AORemapMin2: 0 + - _AORemapMin3: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailAlbedoScale0: 1 + - _DetailAlbedoScale1: 1 + - _DetailAlbedoScale2: 1 + - _DetailAlbedoScale3: 1 + - _DetailNormalScale: 1 + - _DetailNormalScale0: 1 + - _DetailNormalScale1: 1 + - _DetailNormalScale2: 1 + - _DetailNormalScale3: 1 + - _DetailSmoothnessScale: 1 + - _DetailSmoothnessScale0: 1 + - _DetailSmoothnessScale1: 1 + - _DetailSmoothnessScale2: 1 + - _DetailSmoothnessScale3: 1 + - _DiffusionProfile: 0 + - _DiffusionProfile0: 0 + - _DiffusionProfile1: 0 + - _DiffusionProfile2: 0 + - _DiffusionProfile3: 0 + - _DiffusionProfileHash: 0 + - _DiffusionProfileHash0: 0 + - _DiffusionProfileHash1: 0 + - _DiffusionProfileHash2: 0 + - _DiffusionProfileHash3: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.099999994 + - _HeightAmplitude0: 0.02 + - _HeightAmplitude1: 0.02 + - _HeightAmplitude2: 0.02 + - _HeightAmplitude3: 0.02 + - _HeightCenter: 1 + - _HeightCenter0: 0.5 + - _HeightCenter1: 0.5 + - _HeightCenter2: 0.5 + - _HeightCenter3: 0.5 + - _HeightMapParametrization: 0 + - _HeightMapParametrization0: 0 + - _HeightMapParametrization1: 0 + - _HeightMapParametrization2: 0 + - _HeightMapParametrization3: 0 + - _HeightMax: 1 + - _HeightMax0: 1 + - _HeightMax1: 1 + - _HeightMax2: 1 + - _HeightMax3: 1 + - _HeightMin: -1 + - _HeightMin0: -1 + - _HeightMin1: -1 + - _HeightMin2: -1 + - _HeightMin3: -1 + - _HeightOffset: 0 + - _HeightOffset0: 0 + - _HeightOffset1: 0 + - _HeightOffset2: 0 + - _HeightOffset3: 0 + - _HeightPoMAmplitude: 10 + - _HeightPoMAmplitude0: 10 + - _HeightPoMAmplitude1: 27.92 + - _HeightPoMAmplitude2: 2 + - _HeightPoMAmplitude3: 2 + - _HeightTessAmplitude: 2 + - _HeightTessAmplitude0: 1 + - _HeightTessAmplitude1: 2 + - _HeightTessAmplitude2: 2 + - _HeightTessAmplitude3: 2 + - _HeightTessCenter: 0.5 + - _HeightTessCenter0: 0.5 + - _HeightTessCenter1: 0.5 + - _HeightTessCenter2: 0.5 + - _HeightTessCenter3: 0.5 + - _HeightTransition: 0 + - _InheritBaseColor1: 0 + - _InheritBaseColor2: 0 + - _InheritBaseColor3: 0 + - _InheritBaseHeight1: 0 + - _InheritBaseHeight2: 0 + - _InheritBaseHeight3: 0 + - _InheritBaseNormal1: 0 + - _InheritBaseNormal2: 0 + - _InheritBaseNormal3: 0 + - _InvTilingScale: 1 + - _InvTilingScale0: 0.5 + - _InvTilingScale1: 1 + - _InvTilingScale2: 1 + - _InvTilingScale3: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LayerCount: 2 + - _LinkDetailsWithBase: 1 + - _LinkDetailsWithBase0: 1 + - _LinkDetailsWithBase1: 1 + - _LinkDetailsWithBase2: 1 + - _LinkDetailsWithBase3: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _Metallic0: 0 + - _Metallic1: 0 + - _Metallic2: 0 + - _Metallic3: 0 + - _MetallicRemapMax0: 1 + - _MetallicRemapMax1: 1 + - _MetallicRemapMax2: 1 + - _MetallicRemapMax3: 1 + - _MetallicRemapMin0: 0 + - _MetallicRemapMin1: 0 + - _MetallicRemapMin2: 0 + - _MetallicRemapMin3: 0 + - _NormalMapSpace: 0 + - _NormalMapSpace0: 0 + - _NormalMapSpace1: 0 + - _NormalMapSpace2: 0 + - _NormalMapSpace3: 0 + - _NormalScale: 1 + - _NormalScale0: 1 + - _NormalScale1: 1 + - _NormalScale2: 1 + - _NormalScale3: 1 + - _ObjectScaleAffectTile: 0 + - _OpacityAsDensity0: 0 + - _OpacityAsDensity1: 0 + - _OpacityAsDensity2: 0 + - _OpacityAsDensity3: 0 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 1 + - _Smoothness0: 0.5 + - _Smoothness1: 0.5 + - _Smoothness2: 0.5 + - _Smoothness3: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMax0: 1 + - _SmoothnessRemapMax1: 1 + - _SmoothnessRemapMax2: 1 + - _SmoothnessRemapMax3: 1 + - _SmoothnessRemapMin: 0 + - _SmoothnessRemapMin0: 0 + - _SmoothnessRemapMin1: 0 + - _SmoothnessRemapMin2: 0 + - _SmoothnessRemapMin3: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SubsurfaceMask0: 1 + - _SubsurfaceMask1: 1 + - _SubsurfaceMask2: 1 + - _SubsurfaceMask3: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TessellationBackFaceCullEpsilon: -0.25 + - _TessellationFactor: 4 + - _TessellationFactorMaxDistance: 50 + - _TessellationFactorMinDistance: 20 + - _TessellationFactorTriangleSize: 100 + - _TessellationMode: 0 + - _TessellationShapeFactor: 0.75 + - _TexWorldScale: 1 + - _TexWorldScale0: 1 + - _TexWorldScale1: 1 + - _TexWorldScale2: 1 + - _TexWorldScale3: 1 + - _TexWorldScaleBlendMask: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _Thickness0: 1 + - _Thickness1: 1 + - _Thickness2: 1 + - _Thickness3: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVBase0: 0 + - _UVBase1: 0 + - _UVBase2: 0 + - _UVBase3: 0 + - _UVBlendMask: 0 + - _UVDetail: 0 + - _UVDetail0: 0 + - _UVDetail1: 0 + - _UVDetail2: 0 + - _UVDetail3: 0 + - _UVEmissive: 6 + - _UseDensityMode: 0 + - _UseEmissiveIntensity: 0 + - _UseHeightBasedBlend: 0 + - _UseMainLayerInfluence: 0 + - _UseShadowThreshold: 0 + - _VertexColorMode: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor0: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor1: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor2: {r: 1, g: 1, b: 1, a: 1} + - _BaseColor3: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap0_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DiffusionProfileAsset0: {r: 0, g: 0, b: 0, a: 0} + - _DiffusionProfileAsset1: {r: 0, g: 0, b: 0, a: 0} + - _DiffusionProfileAsset2: {r: 0, g: 0, b: 0, a: 0} + - _DiffusionProfileAsset3: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _ThicknessRemap0: {r: 0, g: 1, b: 0, a: 0} + - _ThicknessRemap1: {r: 0, g: 1, b: 0, a: 0} + - _ThicknessRemap2: {r: 0, g: 1, b: 0, a: 0} + - _ThicknessRemap3: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVDetailsMappingMask0: {r: 1, g: 0, b: 0, a: 0} + - _UVDetailsMappingMask1: {r: 1, g: 0, b: 0, a: 0} + - _UVDetailsMappingMask2: {r: 1, g: 0, b: 0, a: 0} + - _UVDetailsMappingMask3: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask0: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask1: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask2: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask3: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskBlendMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &6149672085627290740 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat.meta new file mode 100644 index 00000000000..b681c09ae86 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_layered_lit_tess.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4345a8ec5dd4c7c4d96078402eb8e6f4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit.mat index 38857bb8b69..d5709e6243e 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit.mat @@ -20,11 +20,11 @@ Material: disabledShaderPasses: - DistortionVectors - MOTIONVECTORS + - ForwardEmissiveForDeferred - TransparentDepthPrepass - TransparentDepthPostpass - TransparentBackface - RayTracingPrepass - - ForwardEmissiveForDeferred m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -170,6 +170,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat new file mode 100644 index 00000000000..ba3f13d363e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat @@ -0,0 +1,293 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: pom_emissive_lit_tess + m_Shader: {fileID: 4800000, guid: 756bac9090102564582875f4c7e30202, type: 3} + m_ShaderKeywords: _EMISSIVE_COLOR_MAP _EMISSIVE_MAPPING_BASE _HEIGHTMAP _NORMALMAP + _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - ForwardEmissiveForDeferred + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 2800000, guid: 97a5684bc72c1704fadc965467f242ea, type: 3} + m_Scale: {x: 2, y: 2} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 2800000, guid: d5b7db2e02c79564997239e235ac4b93, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 2800000, guid: 765ed877b92d01c4f8d6c6d2be61fd99, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: 97a5684bc72c1704fadc965467f242ea, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 6c9639b085103f447815e2965a30810a, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.099999994 + - _HeightCenter: 1 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 10 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 0.5 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 0 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 1 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TessellationBackFaceCullEpsilon: -0.25 + - _TessellationFactor: 4 + - _TessellationFactorMaxDistance: 50 + - _TessellationFactorMinDistance: 20 + - _TessellationFactorTriangleSize: 100 + - _TessellationMode: 0 + - _TessellationShapeFactor: 0.75 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _ThicknessMultiplier: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 6 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 0, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &6149672085627290740 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat.meta new file mode 100644 index 00000000000..5dd7c2677a5 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission/pom_emissive_lit_tess.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 8845baab1b2a030458c174a335616d94 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png new file mode 100644 index 00000000000..6087324c8d1 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:3418d721ddba840de7bbd74706b13e3f23366d19b30ae454a6acab8c04cd1c15 +size 185714 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png.meta new file mode 100644 index 00000000000..fd8efb184d4 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1221_Lit_POM_Emission.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: f50207102cdb66c4f878beb42526d186 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + - serializedVersion: 3 + buildTarget: Standalone + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1221_Lit_POM_Emission.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1221_Lit_POM_Emission.png index 2f397b65ddc..86372212142 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1221_Lit_POM_Emission.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1221_Lit_POM_Emission.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dee6e600a6adf5bb26fff7b88546300155186e136591b7726e5e8914de76322 -size 180813 +oid sha256:d1d6df03cc21c64dbaa5c0ecd34d6037c57ffd6f1e6067b4eed35e1661771475 +size 194875 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1221_Lit_POM_Emission.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1221_Lit_POM_Emission.png index 2f397b65ddc..546512a83d9 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1221_Lit_POM_Emission.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1221_Lit_POM_Emission.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dee6e600a6adf5bb26fff7b88546300155186e136591b7726e5e8914de76322 -size 180813 +oid sha256:48b60182b4baee92aa9766cbbae704cefbb45cb4e2cae0aaa1af55069c0ac856 +size 193405 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1221_Lit_POM_Emission.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1221_Lit_POM_Emission.png index 2f397b65ddc..546512a83d9 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1221_Lit_POM_Emission.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1221_Lit_POM_Emission.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1dee6e600a6adf5bb26fff7b88546300155186e136591b7726e5e8914de76322 -size 180813 +oid sha256:48b60182b4baee92aa9766cbbae704cefbb45cb4e2cae0aaa1af55069c0ac856 +size 193405 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1221_Lit_POM_Emission.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1221_Lit_POM_Emission.png index 2a90308ca76..6087324c8d1 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1221_Lit_POM_Emission.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1221_Lit_POM_Emission.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9f77f4a985f3b02cb9b074ec0e65cbc0fa761f3387584f8cd23582b18a2b99f2 -size 155338 +oid sha256:3418d721ddba840de7bbd74706b13e3f23366d19b30ae454a6acab8c04cd1c15 +size 185714 diff --git a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset index 90fe95abef2..3de7a233a20 100644 --- a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset @@ -83,6 +83,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1220_Sorting.unity guid: 5c1bc003f0b8e6648a7860ad9ae82213 + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1221_Lit_POM_Emission.unity + guid: 6a401c36b9353ae43a8f0e8b8a98d6f4 - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1222_Lit_Aniso_Textures.unity guid: f83ad7ecd25ef1f4780fc5f190023046 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 20972788fb3..0d99108aae6 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -69,6 +69,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed multiple HDRP Frame Settings panel issues: missing "Refraction" Frame Setting. Fixing ordering of Rough Distortion, it should now be under the Distortion setting. - Fixed issue with automatic exposure settings not updating scene view. - Fixed issue with velocity rejection in post-DoF TAA. Fixing this reduces ghosting (case 1304381). +- Fixed missing option to use POM on emissive for tessellated shaders. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md index 379967ab2c1..99729b6601a 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md @@ -35,7 +35,7 @@ To create a new Lit Tessellation Material: | **Receive Decals** | Enable the checkbox to allow HDRP to draw decals on this Material’s surface. | | **Receive SSR (Transparent)** | Enable the checkbox to make HDRP include this Material when it processes the screen space reflection pass. There is a separate option for transparent Surface Type. | | **Geometric Specular AA** | Enable the checkbox to make HDRP perform geometric anti-aliasing on this Material. This modifies the smoothness values on surfaces of curved geometry in order to remove specular artifacts. For more information about the feature and for the list of properties this feature exposes, see the [Geometric Specular Anti-aliasing documentation](Geometric-Specular-Anti-Aliasing.md). | -| **Displacement Mode** | Use this drop-down to select the method that HDRP uses to alter the height of the Material’s surface. For more information about the feature and for the list of properties each **Displacement Mode ** exposes, see the [Displacement Mode documentation](Displacement-Mode.md). | +| **Displacement Mode** | Use this drop-down to select the method that HDRP uses to alter the height of the Material’s surface. For more information about the feature and for the list of properties each **Displacement Mode** exposes, see the [Displacement Mode documentation](Displacement-Mode.md). | ### Tessellation Options @@ -78,7 +78,7 @@ Unity exposes this section if you select **Transparent** from the **Surface Type | ------------------------------- | ------------------------------------------------------------ | | **Use Emission Intensity** | Enable the checkbox to use a separate LDR color and intensity value to set the emission color for this Material. Disable this checkbox to only use an HDR color to handle the color and emission color intensity. When enabled, this exposes the **Emission Intensity** property. | | **Emission Map** | Assign a Texture that this Material uses for emission. You can also use the color picker to select a color that HDRP multiplies by the Texture. If you do not set an emission texture then HDRP only uses the HDR color to calculate the final emissive color of the Material. You can set the intensity of the HDR color within the HDR color picker. | -| **Emission UV Mapping** | Use the drop-down to select the type of UV mapping that HDRP uses for the **Emission Map**.
• Unity manages four UV channels for a vertex: **UV0**, **UV1**, **UV2**, and **UV3**.
• **Planar:** A planar projection from top to bottom.
• **Triplanar**: A planar projection in three directions:
X-axis: Left to right
Y-axis: Top to bottom
Z-axis: Front to back

Unity blends these three projections together to produce the final result. | +| **Emission UV Mapping** | Use the drop-down to select the type of UV mapping that HDRP uses for the **Emission Map**.
• Unity manages four UV channels for a vertex: **UV0**, **UV1**, **UV2**, and **UV3**.
• **Planar:** A planar projection from top to bottom.
• **Triplanar**: A planar projection in three directions:
X-axis: Left to right
Y-axis: Top to bottom
Z-axis: Front to back

Unity blends these three projections together to produce the final result.
• **Same as Base**: Unity will use the **Base UV Mapping** selected in the **Surface Inputs**. | | **- Tiling** | Set an **X** and **Y** tile rate for the **Emission Map** UV. HDRP uses the **X** and **Y** values to tile the Texture assigned to the **Emission Map** across the Material’s surface, in object space. | | **- Offset** | Set an **X** and **Y** offset for the **Emission Map** UV. HDRP uses the **X** and **Y** values to offset the Texture assigned to the **Emission Map** across the Material’s surface, in object space. | | **Emission Intensity** | Set the overall strength of the emission effect for this Material.
Use the drop-down to select one of the following [physical light units](Physical-Light-Units.md) to use for intensity:
• [Nits](Physical-Light-Units.md#Nits)
• [EV100](Physical-Light-Units.md#EV) | diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader index 6d167a3c8fd..82a98e42e4a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader @@ -324,7 +324,7 @@ Shader "HDRP/LayeredLit" [HideInInspector] _InvPrimScale("Inverse primitive scale for non-planar POM", Vector) = (1, 1, 0, 0) [Enum(Use Emissive Color, 0, Use Emissive Mask, 1)] _EmissiveColorMode("Emissive color mode", Float) = 1 - [Enum(UV0, 0, Planar, 4, TriPlanar, 5, Same as Main layer, 6)] _UVEmissive("UV Set for emissive", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5, Same as Main layer, 6)] _UVEmissive("UV Set for emissive", Float) = 0 _TexWorldScaleEmissive("Scale to apply on world coordinate", Float) = 1.0 [HideInInspector] _UVMappingMaskEmissive("_UVMappingMaskEmissive", Color) = (1, 0, 0, 0) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl index f2f72219ad0..a90216db046 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl @@ -265,6 +265,21 @@ float3 BlendLayeredVector3(float3 x0, float3 x1, float3 x2, float3 x3, float wei return result; } +float2 BlendLayeredVector2(float2 x0, float2 x1, float2 x2, float2 x3, float weight[4]) +{ + float2 result = float2(0.0, 0.0); + + result = x0 * weight[0] + x1 * weight[1]; +#if _LAYER_COUNT >= 3 + result += (x2 * weight[2]); +#endif +#if _LAYER_COUNT >= 4 + result += x3 * weight[3]; +#endif + + return result; +} + float BlendLayeredScalar(float x0, float x1, float x2, float x3, float weight[4]) { float result = 0.0; @@ -655,7 +670,7 @@ void GetSurfaceAndBuiltinData(FragInputs input, float3 V, inout PositionInputs p // When using lightmaps, the uv1 is always valid but we don't update _UVMappingMask.y to 1 // So when we are using them, we just need to keep the UVs as is. #if !defined(LIGHTMAP_ON) && defined(SURFACE_GRADIENT) - input.texCoord1 = ((_UVMappingMask0.y + _UVMappingMask1.y + _UVMappingMask2.y + _UVMappingMask3.y + _UVDetailsMappingMask0.y + _UVDetailsMappingMask1.y + _UVDetailsMappingMask2.y + _UVDetailsMappingMask3.y) > 0) ? input.texCoord1 : 0; + input.texCoord1 = ((_UVMappingMask0.y + _UVMappingMask1.y + _UVMappingMask2.y + _UVMappingMask3.y + _UVDetailsMappingMask0.y + _UVDetailsMappingMask1.y + _UVDetailsMappingMask2.y + _UVDetailsMappingMask3.y + _UVMappingMaskEmissive.y) > 0) ? input.texCoord1 : 0; #endif // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitDataDisplacement.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitDataDisplacement.hlsl index 2be0e26e622..3d3d0c2b7f3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitDataDisplacement.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitDataDisplacement.hlsl @@ -235,7 +235,7 @@ float ApplyPerPixelDisplacement(FragInputs input, float3 V, inout LayerTexCoord ppdParam.uvSpaceScale[2] = _BaseColorMap2_ST.xy * worldScale2;// *maxHeight2; ppdParam.uvSpaceScale[3] = _BaseColorMap3_ST.xy * worldScale3;// *maxHeight3; - float uvSpaceScale = BlendLayeredScalar(ppdParam.uvSpaceScale[0], ppdParam.uvSpaceScale[1], ppdParam.uvSpaceScale[2], ppdParam.uvSpaceScale[3], weights); + float2 uvSpaceScale = BlendLayeredVector2(ppdParam.uvSpaceScale[0], ppdParam.uvSpaceScale[1], ppdParam.uvSpaceScale[2], ppdParam.uvSpaceScale[3], weights); float2 scaleOffsetDetails0 =_DetailMap0_ST.xy; float2 scaleOffsetDetails1 =_DetailMap1_ST.xy; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader index 6de1f0b4a51..fba048e5ceb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader @@ -324,7 +324,7 @@ Shader "HDRP/LayeredLitTessellation" [HideInInspector] _InvPrimScale("Inverse primitive scale for non-planar POM", Vector) = (1, 1, 0, 0) [Enum(Use Emissive Color, 0, Use Emissive Mask, 1)] _EmissiveColorMode("Emissive color mode", Float) = 1 - [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5)] _UVEmissive("UV Set for emissive", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5, Same as Main layer, 6)] _UVEmissive("UV Set for emissive", Float) = 0 _TexWorldScaleEmissive("Scale to apply on world coordinate", Float) = 1.0 [HideInInspector] _UVMappingMaskEmissive("_UVMappingMaskEmissive", Color) = (1, 0, 0, 0) @@ -960,12 +960,6 @@ Shader "HDRP/LayeredLitTessellation" HLSLPROGRAM - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl index c1f16fa88ab..e19c3a298fd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl @@ -183,7 +183,7 @@ void GetSurfaceAndBuiltinData(FragInputs input, float3 V, inout PositionInputs p // When using lightmaps, the uv1 is always valid but we don't update _UVMappingMask.y to 1 // So when we are using them, we just need to keep the UVs as is. #if !defined(LIGHTMAP_ON) && defined(SURFACE_GRADIENT) - input.texCoord1 = (_UVMappingMask.y + _UVDetailsMappingMask.y) > 0 ? input.texCoord1 : 0; + input.texCoord1 = (_UVMappingMask.y + _UVDetailsMappingMask.y + _UVMappingMaskEmissive.y) > 0 ? input.texCoord1 : 0; #endif // Don't dither if displaced tessellation (we're fading out the displacement instead to match the next LOD) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader index 852cef8f349..5dc7cf6d1d4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader @@ -207,7 +207,7 @@ Shader "HDRP/LitTessellation" [ToggleUI] _LinkDetailsWithBase("LinkDetailsWithBase", Float) = 1.0 [Enum(Use Emissive Color, 0, Use Emissive Mask, 1)] _EmissiveColorMode("Emissive color mode", Float) = 1 - [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5)] _UVEmissive("UV Set for emissive", Float) = 0 + [Enum(UV0, 0, UV1, 1, UV2, 2, UV3, 3, Planar, 4, Triplanar, 5, Same as Base, 6)] _UVEmissive("UV Set for emissive", Float) = 0 _TexWorldScaleEmissive("Scale to apply on world coordinate", Float) = 1.0 [HideInInspector] _UVMappingMaskEmissive("_UVMappingMaskEmissive", Color) = (1, 0, 0, 0) @@ -877,7 +877,7 @@ Shader "HDRP/LitTessellation" ENDHLSL } - Pass + Pass { Name "ForwardEmissiveForDeferred" Tags{ "LightMode" = "ForwardEmissiveForDeferred" } // This pass is solely used with deferred opaque Material that have emissive @@ -890,13 +890,6 @@ Shader "HDRP/LitTessellation" HLSLPROGRAM - #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED From ac69980ae7aca71f475772a1d4383b3037ae1b73 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Sun, 28 Feb 2021 19:58:01 +0100 Subject: [PATCH 089/148] Fix a leak cause for area light cookies (#3614) * Add border around texture when blitting * Comments * tentative fix * Actual fix. --- .../Runtime/Lighting/LightCookieManager.cs | 9 +++++++-- .../Runtime/Lighting/LightLoop/CookieSampling.hlsl | 2 +- .../LTCAreaLight/FilterAreaLightCookies.shader | 11 ++++++++++- 3 files changed, 18 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs index d2cb31d2e1e..33e09b7f18b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs @@ -181,8 +181,13 @@ Texture FilterAreaLightTexture(CommandBuffer cmd, Texture source, int finalWidth m_MPBFilterAreaLights.SetInt(s_sourceMipLevel, 0); m_MPBFilterAreaLights.SetTexture(s_texSource, source); + + // Since we blit the cookie texture into a common texture, to avoid leaking we blit with an extra border + int border = 1; cmd.SetRenderTarget(m_TempRenderTexture0, 0); - cmd.SetViewport(new Rect(0, 0, viewportWidth, viewportHeight)); + cmd.SetViewport(new Rect(0, 0, viewportWidth + border, viewportHeight + border)); + + m_MPBFilterAreaLights.SetVector(s_sourceSize, new Vector4(viewportWidth, viewportHeight, (float)(viewportWidth + border) / viewportWidth, (float)(viewportHeight + border) / viewportHeight)); cmd.DrawProcedural(Matrix4x4.identity, m_MaterialFilterAreaLights, 0, MeshTopology.Triangles, 3, 1, m_MPBFilterAreaLights); } @@ -293,7 +298,7 @@ public Vector4 FetchAreaCookie(CommandBuffer cmd, Texture cookie) { // Generate the mips Texture filteredAreaLight = FilterAreaLightTexture(cmd, cookie, cookie.width, cookie.height); - Vector4 sourceScaleOffset = new Vector4(cookie.width / (float)atlasTexture.rt.width, cookie.height / (float)atlasTexture.rt.height, 0, 0); + Vector4 sourceScaleOffset = new Vector4((cookie.width - 0.5f) / (float)atlasTexture.rt.width, (cookie.height - 0.5f) / (float)atlasTexture.rt.height, 0, 0); m_CookieAtlas.BlitTexture(cmd, scaleBias, filteredAreaLight, sourceScaleOffset, blitMips: true, overrideInstanceID: currentID); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/CookieSampling.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/CookieSampling.hlsl index 3a511f7ba16..ddaa24abba1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/CookieSampling.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/CookieSampling.hlsl @@ -18,7 +18,7 @@ float2 RemapUVWithPadding(float2 coord, float2 size, float rcpPaddingWidth, floa float2 offset = 0.5 * (1.0 - scale); // Avoid edge bleeding for texture when sampling with lod by clamping uvs: - float2 mipClamp = pow(2, lod) / (size * COOKIE_ATLAS_SIZE * 2); + float2 mipClamp = pow(2, ceil(lod)) / (size * COOKIE_ATLAS_SIZE * 2); return clamp(coord * scale + offset, mipClamp, 1 - mipClamp); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader index bd51a298203..983144a2e9c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader @@ -63,7 +63,16 @@ Shader "CoreResources/FilterAreaLightCookies" float4 frag(Varyings input) : SV_Target { float2 UV = input.texcoord; - return SAMPLE_TEXTURE2D_LOD( _SourceTexture, s_linear_clamp_sampler, UV, _SourceMipLevel); + + // Since we blit the cookie texture into a common texture, to avoid leaking we blit with an extra border + if (any(input.positionCS.xy > _SourceSize.xy)) + return 0.0f; + + // Because the viewport is bigger than the source texture, we need to rescale the UVs. + // The scale is (viewportSize / SourceSize) + float2 uvScale = _SourceSize.zw; + return SAMPLE_TEXTURE2D_LOD( _SourceTexture, s_linear_clamp_sampler, UV * uvScale, 0); + } ENDHLSL } From fa7e3046cb470b50ef968f1f339f2b390f1077a9 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Sun, 28 Feb 2021 20:48:10 +0100 Subject: [PATCH 090/148] Update 5001_PathTracing.png --- .../Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png index c78283a6402..54d8434514f 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:292d270609c93cd8db32588523ab4d477fa693fd8e7c81d0590ce1133b3296fb -size 595404 +oid sha256:b97808e441a588018155451600d15240c463517ec49a596c1d531a0c73d92711 +size 575084 From 50c0d12d819f4153405dd623db2ca7e6b2320627 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Sun, 28 Feb 2021 23:34:25 +0100 Subject: [PATCH 091/148] Update 1202_Lit_DoubleSideNormalMode.unity --- .../1202_Lit_DoubleSideNormalMode.unity | 85 +------------------ 1 file changed, 1 insertion(+), 84 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity index 39e35ca3053..fe503bf7b62 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1202_Lit_DoubleSideNormalMode.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.37577403, g: 0.41978812, b: 0.37759346, a: 1} + m_IndirectSpecularColor: {r: 0.37643355, g: 0.4205527, b: 0.3782562, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -676,7 +676,6 @@ Transform: - {fileID: 168499599} - {fileID: 1311053780} - {fileID: 3053433} - - {fileID: 1271084934} m_Father: {fileID: 1374504734} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} @@ -1930,88 +1929,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1167530219} m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} ---- !u!1 &1271084933 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1271084934} - - component: {fileID: 1271084936} - - component: {fileID: 1271084935} - m_Layer: 0 - m_Name: DoubleSidePlane__DoubleSidedNormalMode_0.00 (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1271084934 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} - m_LocalScale: {x: 0.75, y: 0.75, z: 1} - m_Children: [] - m_Father: {fileID: 195823282} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!23 &1271084935 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 1 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 7b39c786a7832854588c72a604db869c, type: 2} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1271084936 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1271084933} - m_Mesh: {fileID: 4300000, guid: 0661b78617a8d1f48adef7e6b4af05bd, type: 3} --- !u!1 &1283902304 GameObject: m_ObjectHideFlags: 0 From 33f19f1cbb001f59ebc51c3e635b7c43e344d238 Mon Sep 17 00:00:00 2001 From: victorsclui <34995714+victorsclui@users.noreply.github.com> Date: Mon, 1 Mar 2021 09:19:56 +0000 Subject: [PATCH 092/148] Hd/alpha to mask frame setting fix 1315452 (#3681) * OverridableFrameSettingsArea.Field.overrideable and OverridableFrameSettingsArea.Field.customOverrideable are duplicate delegates: - They are only called in OverridableFrameSettingsArea.Field.IsOverrideableWithDependencies. - overrideable first gets a chance to declare the field as not overridable, and then customOverrideable gets a chance to override the final result. - customOverrideable is called once for each FrameSettingsFieldAttribute.dependencies, sometimes resulting in duplicate run of the same function with the same input multiple times. - customOverrideable is also coupled with some "positive / negative dependency" system making it hard to understand unnecessarily. It is neater to keep only OverridableFrameSettingsArea.Field.overrideable and delete OverridableFrameSettingsArea.Field.customOverrideable, while adding a ignoreOverride boolean. * With the previous commit, declaring a field with both positive and negative dependency no longer has weird problem with custom override-able delegate. So we give AlphaToMask a positive and a negative dependency as is needed. But still the AlphaToMask field needs a custom override-able delegate to handle cases like when HDRP Asset force deferred while frame setting has forward Lit Shader Mode, so we added a custom override-able delegate too. * update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Settings/FrameSettingsUI.Drawers.cs | 78 +++++++------------ .../Settings/OverridableFrameSettingsArea.cs | 12 +-- .../RenderPipeline/Settings/FrameSettings.cs | 2 +- 4 files changed, 32 insertions(+), 61 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 0d99108aae6..385a20f0b05 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -70,6 +70,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with automatic exposure settings not updating scene view. - Fixed issue with velocity rejection in post-DoF TAA. Fixing this reduces ghosting (case 1304381). - Fixed missing option to use POM on emissive for tessellated shaders. +- Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs index 9c856cf1e03..2d9873aa9fb 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs @@ -183,59 +183,26 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, bool msaaEnablable = hdrpSettings.supportMSAA && ((hdrpAssetSupportForward && (frameSettingsOverrideToForward || defaultForwardUsed)) || hdrpAssetIsForward) && !hdrpSettings.supportRayTracing; area.AmmendInfo(FrameSettingsField.MSAA, overrideable: () => msaaEnablable, - overridedDefaultValue: msaaEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.MSAA), - customOverrideable: () => - { - switch (hdrpSettings.supportedLitShaderMode) - { - case RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly: - return false; //negative dependency - case RenderPipelineSettings.SupportedLitShaderMode.DeferredOnly: - return true; //negative dependency - case RenderPipelineSettings.SupportedLitShaderMode.Both: - return !(frameSettingsOverrideToForward || defaultForwardUsed); //negative dependency - default: - throw new System.ArgumentOutOfRangeException("Unknown ShaderLitMode"); - } - }); + ignoreDependencies: true, + overridedDefaultValue: msaaEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.MSAA)); + + bool msaaIsOff = (msaaEnablable && serialized.GetOverrides(FrameSettingsField.MSAA)) ? !(serialized.IsEnabled(FrameSettingsField.MSAA) ?? false) : !defaultFrameSettings.IsEnabled(FrameSettingsField.MSAA); + area.AmmendInfo(FrameSettingsField.AlphaToMask, + overrideable: () => msaaEnablable && !msaaIsOff, + ignoreDependencies: true, + overridedDefaultValue: msaaEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.AlphaToMask) && !msaaIsOff); bool depthPrepassEnablable = (hdrpAssetSupportDeferred && (defaultDeferredUsed || frameSettingsOverrideToDeferred)) || (hdrpAssetIsDeferred); area.AmmendInfo(FrameSettingsField.DepthPrepassWithDeferredRendering, overrideable: () => depthPrepassEnablable, - overridedDefaultValue: depthPrepassEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.DepthPrepassWithDeferredRendering), - customOverrideable: () => - { - switch (hdrpSettings.supportedLitShaderMode) - { - case RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly: - return false; - case RenderPipelineSettings.SupportedLitShaderMode.DeferredOnly: - return true; - case RenderPipelineSettings.SupportedLitShaderMode.Both: - return frameSettingsOverrideToDeferred || defaultDeferredUsed; - default: - throw new System.ArgumentOutOfRangeException("Unknown ShaderLitMode"); - } - }); + ignoreDependencies: true, + overridedDefaultValue: depthPrepassEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.DepthPrepassWithDeferredRendering)); bool clearGBufferEnablable = (hdrpAssetSupportDeferred && (defaultDeferredUsed || frameSettingsOverrideToDeferred)) || (hdrpAssetIsDeferred); area.AmmendInfo(FrameSettingsField.ClearGBuffers, overrideable: () => clearGBufferEnablable, - overridedDefaultValue: clearGBufferEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.ClearGBuffers), - customOverrideable: () => - { - switch (hdrpSettings.supportedLitShaderMode) - { - case RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly: - return false; - case RenderPipelineSettings.SupportedLitShaderMode.DeferredOnly: - return true; - case RenderPipelineSettings.SupportedLitShaderMode.Both: - return frameSettingsOverrideToDeferred || defaultDeferredUsed; - default: - throw new System.ArgumentOutOfRangeException("Unknown ShaderLitMode"); - } - }); + ignoreDependencies: true, + overridedDefaultValue: clearGBufferEnablable && defaultFrameSettings.IsEnabled(FrameSettingsField.ClearGBuffers)); area.AmmendInfo(FrameSettingsField.RayTracing, overrideable: () => hdrpSettings.supportRayTracing); #if !ENABLE_VIRTUALTEXTURES @@ -262,14 +229,16 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, overridedDefaultValue: ScalableLevel3ForFrameSettingsUIOnly.Low, customGetter: () => (ScalableLevel3ForFrameSettingsUIOnly)serialized.lodBiasQualityLevel.intValue, customSetter: v => serialized.lodBiasQualityLevel.intValue = (int)v, - customOverrideable: () => serialized.lodBiasMode.GetEnumValue() != LODBiasMode.OverrideQualitySettings, + overrideable: () => serialized.lodBiasMode.GetEnumValue() != LODBiasMode.OverrideQualitySettings, + ignoreDependencies: true, hasMixedValues: serialized.lodBiasQualityLevel.hasMultipleDifferentValues); area.AmmendInfo(FrameSettingsField.LODBias, overridedDefaultValue: hdrpSettings.lodBias[serialized.lodBiasQualityLevel.intValue], customGetter: () => serialized.lodBias.floatValue, customSetter: v => serialized.lodBias.floatValue = (float)v, - customOverrideable: () => serialized.lodBiasMode.GetEnumValue() != LODBiasMode.FromQualitySettings, + overrideable: () => serialized.lodBiasMode.GetEnumValue() != LODBiasMode.FromQualitySettings, + ignoreDependencies: true, labelOverride: serialized.lodBiasMode.GetEnumValue() == LODBiasMode.ScaleQualitySettings ? "Scale Factor" : "LOD Bias", hasMixedValues: serialized.lodBias.hasMultipleDifferentValues); @@ -284,14 +253,16 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, overridedDefaultValue: ScalableLevel3ForFrameSettingsUIOnly.Low, customGetter: () => (ScalableLevel3ForFrameSettingsUIOnly)serialized.maximumLODLevelQualityLevel.intValue, customSetter: v => serialized.maximumLODLevelQualityLevel.intValue = (int)v, - customOverrideable: () => serialized.maximumLODLevelMode.GetEnumValue() != MaximumLODLevelMode.OverrideQualitySettings, + overrideable: () => serialized.maximumLODLevelMode.GetEnumValue() != MaximumLODLevelMode.OverrideQualitySettings, + ignoreDependencies: true, hasMixedValues: serialized.maximumLODLevelQualityLevel.hasMultipleDifferentValues); area.AmmendInfo(FrameSettingsField.MaximumLODLevel, overridedDefaultValue: hdrpSettings.maximumLODLevel[serialized.maximumLODLevelQualityLevel.intValue], customGetter: () => serialized.maximumLODLevel.intValue, customSetter: v => serialized.maximumLODLevel.intValue = (int)v, - customOverrideable: () => serialized.maximumLODLevelMode.GetEnumValue() != MaximumLODLevelMode.FromQualitySettings, + overrideable: () => serialized.maximumLODLevelMode.GetEnumValue() != MaximumLODLevelMode.FromQualitySettings, + ignoreDependencies: true, labelOverride: serialized.maximumLODLevelMode.GetEnumValue() == MaximumLODLevelMode.OffsetQualitySettings ? "Offset Factor" : "Maximum LOD Level", hasMixedValues: serialized.maximumLODLevel.hasMultipleDifferentValues); @@ -336,26 +307,29 @@ static void Drawer_SectionLightingSettings(SerializedFrameSettings serialized, E overridedDefaultValue: SssQualityMode.FromQualitySettings, customGetter: () => serialized.sssQualityMode.GetEnumValue(), customSetter: v => serialized.sssQualityMode.SetEnumValue((SssQualityMode)v), - customOverrideable: () => hdrpSettings.supportSubsurfaceScattering + overrideable: () => hdrpSettings.supportSubsurfaceScattering && (serialized.IsEnabled(FrameSettingsField.SubsurfaceScattering) ?? false), + ignoreDependencies: true, hasMixedValues: serialized.sssQualityMode.hasMultipleDifferentValues ); area.AmmendInfo(FrameSettingsField.SssQualityLevel, overridedDefaultValue: ScalableLevel3ForFrameSettingsUIOnly.Low, customGetter: () => (ScalableLevel3ForFrameSettingsUIOnly)serialized.sssQualityLevel.intValue, // 3 levels customSetter: v => serialized.sssQualityLevel.intValue = Math.Max(0, Math.Min((int)v, 2)), // Levels 0-2 - customOverrideable: () => hdrpSettings.supportSubsurfaceScattering + overrideable: () => hdrpSettings.supportSubsurfaceScattering && (serialized.IsEnabled(FrameSettingsField.SubsurfaceScattering) ?? false) && (serialized.sssQualityMode.GetEnumValue() == SssQualityMode.FromQualitySettings), + ignoreDependencies: true, hasMixedValues: serialized.sssQualityLevel.hasMultipleDifferentValues ); area.AmmendInfo(FrameSettingsField.SssCustomSampleBudget, overridedDefaultValue: (int)DefaultSssSampleBudgetForQualityLevel.Low, customGetter: () => serialized.sssCustomSampleBudget.intValue, customSetter: v => serialized.sssCustomSampleBudget.intValue = Math.Max(1, Math.Min((int)v, (int)DefaultSssSampleBudgetForQualityLevel.Max)), - customOverrideable: () => hdrpSettings.supportSubsurfaceScattering + overrideable: () => hdrpSettings.supportSubsurfaceScattering && (serialized.IsEnabled(FrameSettingsField.SubsurfaceScattering) ?? false) && (serialized.sssQualityMode.GetEnumValue() != SssQualityMode.FromQualitySettings), + ignoreDependencies: true, hasMixedValues: serialized.sssCustomSampleBudget.hasMultipleDifferentValues ); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs index 5d4fe2acc5e..43a566f3cb2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/OverridableFrameSettingsArea.cs @@ -42,7 +42,7 @@ private struct Field { public FrameSettingsField field; public Func overrideable; - public Func customOverrideable; + public bool ignoreDependencies; public Func customGetter; public Action customSetter; public object overridedDefaultValue; @@ -60,7 +60,7 @@ public bool IsOverrideableWithDependencies(SerializedFrameSettings serialized, F FrameSettingsFieldAttribute attribute = attributes[field]; bool locallyOverrideable = overrideable == null || overrideable(); FrameSettingsField[] dependencies = attribute.dependencies; - if (dependencies == null || !locallyOverrideable) + if (dependencies == null || ignoreDependencies || !locallyOverrideable) return locallyOverrideable; bool dependenciesOverrideable = true; @@ -96,7 +96,7 @@ public static OverridableFrameSettingsArea GetGroupContent(int groupIndex, Frame return area; } - public void AmmendInfo(FrameSettingsField field, Func overrideable = null, Func customGetter = null, Action customSetter = null, object overridedDefaultValue = null, Func customOverrideable = null, string labelOverride = null, bool hasMixedValues = false) + public void AmmendInfo(FrameSettingsField field, Func overrideable = null, bool ignoreDependencies = false, Func customGetter = null, Action customSetter = null, object overridedDefaultValue = null, string labelOverride = null, bool hasMixedValues = false) { var matchIndex = fields.FindIndex(f => f.field == field); @@ -106,8 +106,7 @@ public void AmmendInfo(FrameSettingsField field, Func overrideable = null, var match = fields[matchIndex]; if (overrideable != null) match.overrideable = overrideable; - if (customOverrideable != null) - match.customOverrideable = customOverrideable; + match.ignoreDependencies = ignoreDependencies; if (customGetter != null) match.customGetter = customGetter; if (customSetter != null) @@ -123,9 +122,6 @@ public void AmmendInfo(FrameSettingsField field, Func overrideable = null, static bool EvaluateBoolWithOverride(FrameSettingsField field, Field forField, FrameSettings defaultFrameSettings, SerializedFrameSettings serializedFrameSettings, bool negative) { bool value; - if (forField.customOverrideable != null) - return forField.customOverrideable() ^ negative; - if (serializedFrameSettings.GetOverrides(field)) value = serializedFrameSettings.IsEnabled(field) ?? false; else diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs index 3bd479c4499..94550b68b03 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs @@ -103,7 +103,7 @@ public enum FrameSettingsField [FrameSettingsField(0, displayedName: "MSAA within Forward", negativeDependencies: new[] { LitShaderMode }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings calculate MSAA when they render the Scene. Set Lit Shader Mode to Forward to access this option.")] MSAA = 31, /// When enabled, Cameras using these Frame Settings use Alpha To Mask. Activate MSAA to access this option. - [FrameSettingsField(0, displayedName: "Alpha To Mask", positiveDependencies: new[] { MSAA }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings use Alpha To Mask. Activate MSAA to access this option.")] + [FrameSettingsField(0, displayedName: "Alpha To Mask", negativeDependencies: new[] { LitShaderMode }, positiveDependencies: new[] { MSAA }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings use Alpha To Mask. Activate MSAA to access this option.")] AlphaToMask = 56, /// When enabled, Cameras using these Frame Settings render opaque GameObjects. [FrameSettingsField(0, autoName: OpaqueObjects, customOrderInGroup: 4, tooltip: "When enabled, Cameras using these Frame Settings render opaque GameObjects.")] From 88911cf4fca3273b045465e2337864e04470037f Mon Sep 17 00:00:00 2001 From: victorsclui <34995714+victorsclui@users.noreply.github.com> Date: Mon, 1 Mar 2021 10:03:49 +0000 Subject: [PATCH 093/148] Hd/rough distortion fix 1317952 (#3683) * Fix Rough Distortion frame setting not greyed out when Distortion is disabled in HDRP Asset * update CHANGELOG.md --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 385a20f0b05..10c943aab70 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -67,6 +67,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed nullref when adding a volume component in a Volume profile asset (case 1317156). - Fixed decal normal for double sided materials (case 1312065). - Fixed multiple HDRP Frame Settings panel issues: missing "Refraction" Frame Setting. Fixing ordering of Rough Distortion, it should now be under the Distortion setting. +- Fixed Rough Distortion frame setting not greyed out when Distortion is disabled in HDRP Asset - Fixed issue with automatic exposure settings not updating scene view. - Fixed issue with velocity rejection in post-DoF TAA. Fixing this reduces ghosting (case 1304381). - Fixed missing option to use POM on emissive for tessellated shaders. diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs index 2d9873aa9fb..2b0d031988d 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs @@ -214,6 +214,7 @@ static void Drawer_SectionRenderingSettings(SerializedFrameSettings serialized, area.AmmendInfo(FrameSettingsField.Decals, overrideable: () => hdrpSettings.supportDecals); area.AmmendInfo(FrameSettingsField.DecalLayers, overrideable: () => hdrpSettings.supportDecalLayers); area.AmmendInfo(FrameSettingsField.Distortion, overrideable: () => hdrpSettings.supportDistortion); + area.AmmendInfo(FrameSettingsField.RoughDistortion, overrideable: () => hdrpSettings.supportDistortion); area.AmmendInfo(FrameSettingsField.Postprocess, overrideable: () => (frameSettingType != FrameSettingsRenderType.CustomOrBakedReflection && frameSettingType != FrameSettingsRenderType.RealtimeReflection)); From 8a68fd81241cba3c4bc5b76eab365eb04746a5cd Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Mon, 1 Mar 2021 14:46:16 +0100 Subject: [PATCH 094/148] Fix issue with physically-based DoF computation and transparent materials with depth-writes ON. (#3689) Co-authored-by: Sebastien Lagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs | 2 +- .../Runtime/PostProcessing/PostProcessSystem.cs | 3 ++- 3 files changed, 4 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 6ab292f8716..e33731db8e9 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -76,6 +76,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a limit case when the camera is exactly at the lower cloud level (case 1316988). - Fixed the various history buffers being discarded when the fog was enabled/disabled (case 1316072). - Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode +- Fixed issue with physically-based DoF computation and transparent materials with depth-writes ON. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs index 80020d87690..7012272a35f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.RenderGraph.cs @@ -1059,7 +1059,7 @@ TextureHandle DepthOfFieldPass(RenderGraph renderGraph, HDCamera hdCamera, Textu builder.SetRenderFunc( (DepthofFieldData data, RenderGraphContext ctx) => { - DoPhysicallyBasedDepthOfField(data.parameters, ctx.cmd, data.source, data.destination, data.fullresCoC, data.prevCoC, data.nextCoC, data.motionVecTexture, data.pingFarRGB, data.taaEnabled); + DoPhysicallyBasedDepthOfField(data.parameters, ctx.cmd, data.source, data.destination, data.fullresCoC, data.prevCoC, data.nextCoC, data.motionVecTexture, data.pingFarRGB, data.depthBuffer, data.taaEnabled); }); source = passData.destination; diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs index b49b9bf322c..d9d83a38f75 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -1421,7 +1421,7 @@ static void GetMipMapDimensions(RTHandle texture, int lod, out int width, out in } } - static void DoPhysicallyBasedDepthOfField(in DepthOfFieldParameters dofParameters, CommandBuffer cmd, RTHandle source, RTHandle destination, RTHandle fullresCoC, RTHandle prevCoCHistory, RTHandle nextCoCHistory, RTHandle motionVecTexture, RTHandle sourcePyramid, bool taaEnabled) + static void DoPhysicallyBasedDepthOfField(in DepthOfFieldParameters dofParameters, CommandBuffer cmd, RTHandle source, RTHandle destination, RTHandle fullresCoC, RTHandle prevCoCHistory, RTHandle nextCoCHistory, RTHandle motionVecTexture, RTHandle sourcePyramid, RTHandle depthBuffer, bool taaEnabled) { float scale = 1f / (float)dofParameters.resolution; int targetWidth = Mathf.RoundToInt(dofParameters.camera.actualWidth * scale); @@ -1471,6 +1471,7 @@ static void DoPhysicallyBasedDepthOfField(in DepthOfFieldParameters dofParameter cmd.SetComputeVectorParam(cs, HDShaderIDs._Params2, new Vector4(dofParameters.nearMaxBlur, dofParameters.farMaxBlur, 0, 0)); } + cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._CameraDepthTexture, depthBuffer); cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._OutputTexture, fullresCoC); cmd.DispatchCompute(cs, kernel, (dofParameters.camera.actualWidth + 7) / 8, (dofParameters.camera.actualHeight + 7) / 8, dofParameters.camera.viewCount); From 5625ab7b12a24469253c621dfc370184c2852f7f Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Mon, 1 Mar 2021 18:29:15 +0100 Subject: [PATCH 095/148] Update RaytracingIntersection.hlsl (#3703) --- .../Raytracing/Shaders/RaytracingIntersection.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl index a644452386c..45d9569c4bd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingIntersection.hlsl @@ -2,7 +2,7 @@ #define UNITY_RAYTRACING_INTERSECTION_INCLUDED // Engine includes -#include "UnityRaytracingMeshUtils.cginc" +#include "UnityRayTracingMeshUtils.cginc" // Raycone structure that defines the stateof the ray struct RayCone From 83fcb3e6fdb0d6092c442d0b76c9ed1bed808a27 Mon Sep 17 00:00:00 2001 From: victorsclui <34995714+victorsclui@users.noreply.github.com> Date: Mon, 1 Mar 2021 19:46:15 +0000 Subject: [PATCH 096/148] Hd/fix access current hdrp asset for default frame settings 1317968 (#3695) * Fix issue of accessing default frame setting stored in current HDRPAsset instead fo the default HDRPAsset * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index e33731db8e9..52f128ed312 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -77,6 +77,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed the various history buffers being discarded when the fog was enabled/disabled (case 1316072). - Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode - Fixed issue with physically-based DoF computation and transparent materials with depth-writes ON. +- Fixed issue of accessing default frame setting stored in current HDRPAsset instead fo the default HDRPAsset ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs index 2b0d031988d..00f1a8093a6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs @@ -135,7 +135,8 @@ static HDRenderPipelineAsset GetHDRPAssetFor(Editor owner) static FrameSettings GetDefaultFrameSettingsFor(Editor owner) { - HDRenderPipelineAsset hdrpAsset = GetHDRPAssetFor(owner); + HDRenderPipelineAsset hdrpAsset = HDRenderPipeline.defaultAsset; + return owner is IDefaultFrameSettingsType getType ? hdrpAsset.GetDefaultFrameSettings(getType.GetFrameSettingsType()) : hdrpAsset.GetDefaultFrameSettings(FrameSettingsRenderType.Camera); From 50074ab791fd103c1075a1aaae687c677cecd37d Mon Sep 17 00:00:00 2001 From: victorsclui <34995714+victorsclui@users.noreply.github.com> Date: Mon, 1 Mar 2021 19:53:21 +0000 Subject: [PATCH 097/148] Fix SSGI frame setting not greyed out while SSGI is disabled in HDRP Asset (#3693) * Fix SSGI frame setting not greyed out while SSGI is disabled in HDRP Asset * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs | 1 + 2 files changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 52f128ed312..d0d79cfb373 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -78,6 +78,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed ability to override AlphaToMask FrameSetting while camera in deferred lit shader mode - Fixed issue with physically-based DoF computation and transparent materials with depth-writes ON. - Fixed issue of accessing default frame setting stored in current HDRPAsset instead fo the default HDRPAsset +- Fixed SSGI frame setting not greyed out while SSGI is disabled in HDRP Asset ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs index 00f1a8093a6..374f1d2b39e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/FrameSettingsUI.Drawers.cs @@ -296,6 +296,7 @@ static void Drawer_SectionLightingSettings(SerializedFrameSettings serialized, E area.AmmendInfo(FrameSettingsField.SSR, overrideable: () => hdrpSettings.supportSSR); area.AmmendInfo(FrameSettingsField.TransparentSSR, overrideable: () => (hdrpSettings.supportSSR && hdrpSettings.supportSSRTransparent)); area.AmmendInfo(FrameSettingsField.SSAO, overrideable: () => hdrpSettings.supportSSAO); + area.AmmendInfo(FrameSettingsField.SSGI, overrideable: () => hdrpSettings.supportSSGI); area.AmmendInfo(FrameSettingsField.VolumetricClouds, overrideable: () => hdrpSettings.supportVolumetricClouds); // SSS From a9b5a05eb8d8020dc0efe0e20e7a20bce7ba203f Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Mon, 15 Mar 2021 12:04:25 +0100 Subject: [PATCH 098/148] Reduced the maximal number of bounces for both RTGI and RTR (case 1318876). (#3864) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Lighting/GlobalIllumination.cs | 2 +- .../Lighting/ScreenSpaceLighting/ScreenSpaceReflection.cs | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 44b090b82bd..3b163913f4c 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -142,6 +142,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Decreased the minimal Fog Distance value in the Density Volume to 0.05. - Virtual Texturing Resolver now performs RTHandle resize logic in HDRP instead of in core Unity - Cached the base types of Volume Manager to improve memory and cpu usage. +- Reduced the maximal number of bounces for both RTGI and RTR (case 1318876). ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/GlobalIllumination.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/GlobalIllumination.cs index d897eac2e90..54b74a8a087 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/GlobalIllumination.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/GlobalIllumination.cs @@ -159,7 +159,7 @@ public int upscaleRadius /// Number of bounces for evaluating the effect. /// [Tooltip("Number of bounces for GI.")] - public ClampedIntParameter bounceCount = new ClampedIntParameter(1, 1, 31); + public ClampedIntParameter bounceCount = new ClampedIntParameter(1, 1, 8); // Filtering /// diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflection.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflection.cs index 17bc3c7da39..073cb1df9f1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflection.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflection.cs @@ -222,7 +222,7 @@ public bool fullResolution /// /// Number of bounces for reflection rays. /// - public ClampedIntParameter bounceCount = new ClampedIntParameter(1, 1, 31); + public ClampedIntParameter bounceCount = new ClampedIntParameter(1, 1, 8); /// /// Sets the maximum number of steps HDRP uses for raytracing. Affects both correctness and performance. From 21f5a265e9a5f69fa97038293f338fdcd63431e7 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Mon, 15 Mar 2021 18:06:16 +0100 Subject: [PATCH 099/148] Fix scene being fully grey on playstation when histogram exposure is used but not curve remapping (#3867) * Allocate the curve texture always * Changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../RenderPipeline/HDRenderPipeline.PostProcess.cs | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3b163913f4c..f3641f5d165 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -94,6 +94,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed gizmo rendering when wireframe mode is selected. - Fixed issue in path tracing, where objects would cast shadows even if not present in the path traced layers (case 1318857). - Fixed SRP batcher not compatible with Decal (case 1311586) +- Fixed grey screen on playstation platform when histogram exposure is enabled but the curve mapping is not used. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.PostProcess.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.PostProcess.cs index 7935018d632..09d055c9257 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.PostProcess.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.PostProcess.cs @@ -180,6 +180,15 @@ void InitializePostProcess() m_DebugExposureData = RTHandles.Alloc(1, 1, colorFormat: k_ExposureFormat, enableRandomWrite: true, name: "Debug Exposure Info"); + m_ExposureCurveTexture = new Texture2D(k_ExposureCurvePrecision, 1, GraphicsFormat.R16G16B16A16_SFloat, TextureCreationFlags.None) + { + name = "Exposure Curve", + filterMode = FilterMode.Bilinear, + wrapMode = TextureWrapMode.Clamp + }; + m_ExposureCurveTexture.hideFlags = HideFlags.HideAndDontSave; + + SetExposureTextureToEmpty(m_EmptyExposureTexture); } From 18dd20df8e9ee36601c87967c851ce31f09b8703 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Mon, 15 Mar 2021 18:07:32 +0100 Subject: [PATCH 100/148] fix faulty lights (#3870) --- .../Scenes/2x_Lighting/2311_ShadowMaps.unity | 38 +++++++++---------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2311_ShadowMaps.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2311_ShadowMaps.unity index 291481c3cf6..936213f3838 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2311_ShadowMaps.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2311_ShadowMaps.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.031361535, g: 0.040105373, b: 0.05148928, a: 1} + m_IndirectSpecularColor: {r: 0.031344295, g: 0.04007934, b: 0.051458105, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -447,6 +447,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -462,7 +463,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -1415,6 +1415,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -1430,7 +1431,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -1455,7 +1455,7 @@ Light: m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 10 - m_Range: 1e+11 + m_Range: 1000 m_SpotAngle: 30 m_InnerSpotAngle: 21.80208 m_CookieSize: 10 @@ -1495,7 +1495,7 @@ Light: m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 2 - m_AreaSize: {x: 1, y: 1} + m_AreaSize: {x: 0.5, y: 0.5} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 @@ -1632,6 +1632,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -1647,7 +1648,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -1849,6 +1849,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -1864,7 +1865,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -2388,6 +2388,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -2403,7 +2404,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -2605,6 +2605,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -2620,7 +2621,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -2822,6 +2822,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -2837,7 +2838,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -2862,7 +2862,7 @@ Light: m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 10 - m_Range: 1e+11 + m_Range: 1000 m_SpotAngle: 30 m_InnerSpotAngle: 21.80208 m_CookieSize: 10 @@ -2902,7 +2902,7 @@ Light: m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 2 - m_AreaSize: {x: 1, y: 1} + m_AreaSize: {x: 0.5, y: 0.5} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 @@ -3134,6 +3134,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -3149,7 +3150,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -3451,6 +3451,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -3466,7 +3467,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -3812,6 +3812,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -3827,7 +3828,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -5299,6 +5299,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -5314,7 +5315,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -5339,7 +5339,7 @@ Light: m_Shape: 0 m_Color: {r: 1, g: 0.95686275, b: 0.8392157, a: 1} m_Intensity: 10 - m_Range: 1e+11 + m_Range: 1000 m_SpotAngle: 30 m_InnerSpotAngle: 21.80208 m_CookieSize: 10 @@ -5379,7 +5379,7 @@ Light: m_RenderingLayerMask: 1 m_Lightmapping: 4 m_LightShadowCasterMode: 2 - m_AreaSize: {x: 1, y: 1} + m_AreaSize: {x: 0.5, y: 0.5} m_BounceIntensity: 1 m_ColorTemperature: 6570 m_UseColorTemperature: 0 @@ -5516,6 +5516,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -5531,7 +5532,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 8 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 From d04c299786b5dec17ae148cb904512aa5459e800 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Mon, 15 Mar 2021 20:04:21 +0100 Subject: [PATCH 101/148] Fixed indent level on material Global Illumination field (#3881) --- .../Editor/Material/UIBlocks/EmissionUIBlock.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/EmissionUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/EmissionUIBlock.cs index 8fb6c8bb89f..bc3707f1bf3 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/EmissionUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/EmissionUIBlock.cs @@ -215,7 +215,7 @@ void DrawEmissionGUI() if ((m_Features & Features.EnableEmissionForGI) != 0) { // Change the GI emission flag and fix it up with emissive as black if necessary. - materialEditor.LightmapEmissionFlagsProperty(MaterialEditor.kMiniTextureFieldLabelIndentLevel, true); + materialEditor.LightmapEmissionFlagsProperty(0, true); } } From a18c180b3a8ad09628cbd05a77f849d7495e8672 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 16 Mar 2021 13:17:51 +0100 Subject: [PATCH 102/148] [HDRP] Disc light realtime gi UI error (#3866) * Added an error in the UI when trying to use disk lights with realtime GI * Updated changelog --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/HDLightUI.cs | 3 +++ 2 files changed, 4 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f3641f5d165..72da718d6e2 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -28,6 +28,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added a Falloff Mode (Linear or Exponential) in the Density Volume for volume blending with Blend Distance. - Added support for screen space shadows (directional and point, no area) for shadow matte unlit shader graph. - Added support for volumetric clouds in planar reflections. +- Added an error message when trying to use disk lights with realtime GI (case 1317808). ### Fixed - Fixed Intensity Multiplier not affecting realtime global illumination. diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index b37f3e2f203..409ce21ce2e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -222,6 +222,9 @@ static void DrawGeneralContent(SerializedHDLight serialized, Editor owner) case AreaLightShape.Disc: if (!serialized.settings.isCompletelyBaked) EditorGUILayout.HelpBox("Disc Area Lights are baked only.", MessageType.Error); + // Disc lights are not supported in Enlighten + if (!Lightmapping.bakedGI && Lightmapping.realtimeGI) + EditorGUILayout.HelpBox("Disc Area Lights are not supported with realtime GI.", MessageType.Error); break; } } From 741445b1332cb58955af66aeb4804024c94ca7c8 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 16 Mar 2021 18:26:25 +0100 Subject: [PATCH 103/148] Remove useless shaders from the creation menu (#3893) --- .../Lighting/Reflection/HDReflectionProbeEditor.Gizmos.cs | 2 +- .../Editor/Lighting/Reflection/PlanarReflectionProbeEditor.cs | 2 +- .../Lighting/Reflection/PlanarReflectionProbesPreview.shader | 2 +- .../Editor/Lighting/Reflection/ReflectionProbesPreview.shader | 2 +- .../Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader | 2 +- .../RenderPass/CustomPass/CustomPassRenderersUtils.shader | 2 +- 6 files changed, 6 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDReflectionProbeEditor.Gizmos.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDReflectionProbeEditor.Gizmos.cs index 89fd3191d0f..a84e202b86b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDReflectionProbeEditor.Gizmos.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/HDReflectionProbeEditor.Gizmos.cs @@ -33,7 +33,7 @@ static void Gizmos_CapturePoint(ReflectionProbe target) if (sphere == null) sphere = Resources.GetBuiltinResource("New-Sphere.fbx"); if (material == null) - material = new Material(Shader.Find("Debug/ReflectionProbePreview")); + material = new Material(Shader.Find("Hidden/Debug/ReflectionProbePreview")); var probe = target.GetComponent(); var probePositionSettings = ProbeCapturePositionSettings.ComputeFrom(probe, null); HDRenderUtilities.ComputeCameraSettingsFromProbeSettings( diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbeEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbeEditor.cs index 5d6d02f92e1..15880958916 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbeEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbeEditor.cs @@ -260,7 +260,7 @@ static void DrawCapturePositionGizmo(PlanarReflectionProbe probe) if (k_QuadMesh == null) k_QuadMesh = Resources.GetBuiltinResource("Quad.fbx"); if (k_PreviewMaterial == null) - k_PreviewMaterial = new Material(Shader.Find("Debug/PlanarReflectionProbePreview")); + k_PreviewMaterial = new Material(Shader.Find("Hidden/Debug/PlanarReflectionProbePreview")); if (k_PreviewOutlineMaterial == null) k_PreviewOutlineMaterial = new Material(Shader.Find("Hidden/UnlitTransparentColored")); diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbesPreview.shader b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbesPreview.shader index 36c9779bc8b..da79ed95b65 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbesPreview.shader +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/PlanarReflectionProbesPreview.shader @@ -1,4 +1,4 @@ -Shader "Debug/PlanarReflectionProbePreview" +Shader "Hidden/Debug/PlanarReflectionProbePreview" { Properties { diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/ReflectionProbesPreview.shader b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/ReflectionProbesPreview.shader index 13710946349..ddb3a183778 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/ReflectionProbesPreview.shader +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/ReflectionProbesPreview.shader @@ -1,4 +1,4 @@ -Shader "Debug/ReflectionProbePreview" +Shader "Hidden/Debug/ReflectionProbePreview" { Properties { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader index 983144a2e9c..ec3ec4c9597 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LTCAreaLight/FilterAreaLightCookies.shader @@ -1,4 +1,4 @@ -Shader "CoreResources/FilterAreaLightCookies" +Shader "Hidden/CoreResources/FilterAreaLightCookies" { HLSLINCLUDE #pragma target 4.5 diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassRenderersUtils.shader b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassRenderersUtils.shader index 3c792736c4b..bb7b7acd296 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassRenderersUtils.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPassRenderersUtils.shader @@ -1,4 +1,4 @@ -Shader "Renderers/CustomPassRenderersUtils" +Shader "Hidden/HDRP/CustomPassRenderersUtils" { Properties { From e03af0d925660013a65b2a3fbb6c1fbd4fe9b560 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Tue, 16 Mar 2021 19:02:17 +0100 Subject: [PATCH 104/148] Fixed HDRPAsset loosing its reference to the ray tracing resources when clicking on a different quality level that doesn't have ray tracing (case 1320304). (#3894) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/HDRenderPipeline.cs | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d895097f492..c759f8d9700 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -101,6 +101,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed wrong color buffer being bound to pre refraction custom passes. - Fixed issue in Probe Reference Volume authoring component triggering an asset reload on all operations. - Fixed grey screen on playstation platform when histogram exposure is enabled but the curve mapping is not used. +- Fixed HDRPAsset loosing its reference to the ray tracing resources when clicking on a different quality level that doesn't have ray tracing (case 1320304). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard 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 e275d877ce0..569ec01ae62 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -508,7 +508,7 @@ void UpgradeResourcesInAssetIfNeeded(HDRenderPipelineAsset asset) ResourceReloader.ReloadAllNullIn(asset.renderPipelineResources, HDUtils.GetHDRenderPipelinePath()); #endif - if (m_RayTracingSupported) + if (GatherRayTracingSupport(asset.currentPlatformRenderPipelineSettings)) { if (asset.renderPipelineRayTracingResources == null) asset.renderPipelineRayTracingResources From 8a92aa8e92976cbf394d08969a0df18eb68a41c6 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Tue, 16 Mar 2021 19:16:22 +0100 Subject: [PATCH 105/148] Fixed error message when having MSAA and Screen Space Shadows (case 1318698). (#3865) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 2 ++ .../Runtime/RenderPipeline/Settings/FrameSettings.cs | 4 +++- 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c759f8d9700..1cb2f55776c 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -102,6 +102,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue in Probe Reference Volume authoring component triggering an asset reload on all operations. - Fixed grey screen on playstation platform when histogram exposure is enabled but the curve mapping is not used. - Fixed HDRPAsset loosing its reference to the ray tracing resources when clicking on a different quality level that doesn't have ray tracing (case 1320304). +- Fixed SRP batcher not compatible with Decal (case 1311586). +- Fixed error message when having MSAA and Screen Space Shadows (case 1318698). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs index cfeb7af476f..e6ec82c7571 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs @@ -759,7 +759,6 @@ internal static void Sanitize(ref FrameSettings sanitizedFrameSettings, Camera c sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.ShadowMaps] &= !preview; sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.Shadowmask] &= renderPipelineSettings.supportShadowMask && !preview; sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.ContactShadows] &= !preview; - sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.ScreenSpaceShadows] &= renderPipelineSettings.hdShadowInitParams.supportScreenSpaceShadows && sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.OpaqueObjects]; bool pipelineSupportsRayTracing = HDRenderPipeline.GatherRayTracingSupport(renderPipelineSettings); // Ray tracing effects are not allowed on reflection probes due to the accumulation process. bool rayTracingActive = sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.RayTracing] &= pipelineSupportsRayTracing && !preview && temporalAccumulationAllowed; @@ -769,6 +768,9 @@ internal static void Sanitize(ref FrameSettings sanitizedFrameSettings, Camera c bool msaa = sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.MSAA] &= renderPipelineSettings.supportMSAA && sanitizedFrameSettings.litShaderMode == LitShaderMode.Forward && !pipelineSupportsRayTracing; sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.AlphaToMask] &= msaa; + // Screen space shadows are not compatible with MSAA + sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.ScreenSpaceShadows] &= renderPipelineSettings.hdShadowInitParams.supportScreenSpaceShadows && sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.OpaqueObjects] & !msaa; + // No recursive reflections bool ssr = sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.SSR] &= renderPipelineSettings.supportSSR && !msaa && !preview && temporalAccumulationAllowed; sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.TransparentSSR] &= ssr && renderPipelineSettings.supportSSRTransparent && sanitizedFrameSettings.bitDatas[(int)FrameSettingsField.TransparentObjects]; From cc579930d949e766ab1d0d35f42a0737041efa61 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Tue, 16 Mar 2021 19:17:35 +0100 Subject: [PATCH 106/148] Fixed Nans happening in RTR when the history render target is bigger than the current viewport (case 1321139). (#3876) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Shaders/Denoising/ReflectionDenoiser.compute | 9 +++++---- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1cb2f55776c..fc2f46f4e72 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -104,6 +104,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed HDRPAsset loosing its reference to the ray tracing resources when clicking on a different quality level that doesn't have ray tracing (case 1320304). - Fixed SRP batcher not compatible with Decal (case 1311586). - Fixed error message when having MSAA and Screen Space Shadows (case 1318698). +- Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute index 3651b024774..dfc6d3572f2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute @@ -29,7 +29,7 @@ // Thereshold at which we decide to reject the reflection history #define REFLECTION_HISTORY_REJECTION_THRESHOLD 0.75 // Threshold at which we go from accumulation to clampiong -#define SMOOTHNESS_ACCUMULATION_THRESHOLD 0.5 +#define ROUGHNESS_ACCUMULATION_THRESHOLD 0.5 // Input textures TEXTURE2D_X(_DenoiseInputTexture); @@ -86,7 +86,7 @@ void TEMPORAL_ACCUMULATION(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 g // Compute the current and history UV coordinates float2 currentUV = (mainCoord + 0.5f) * _ScreenSize.zw; float2 historyCoordinate = ((float2)(mainCoord + 0.5f) - velocity * _CurrentEffectResolution.xy); - float2 historyUV = historyCoordinate * _HistoryBufferSize.xy; + float2 historyUV = clamp(historyCoordinate, 0.0f, _CurrentEffectResolution.xy - 1.0f) * _HistoryBufferSize.xy; // Fetch the current and history values and apply the exposition to it. float3 color = Fetch(_DenoiseInputTexture, currentUV, 0.0, _RTHandleScale.xy) * GetCurrentExposureMultiplier(); @@ -102,12 +102,13 @@ void TEMPORAL_ACCUMULATION(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 g float sampleCount = historyRaw.w; float3 result; - if (normalData.perceptualRoughness > SMOOTHNESS_ACCUMULATION_THRESHOLD) + if (normalData.perceptualRoughness > ROUGHNESS_ACCUMULATION_THRESHOLD) { bool canBeReprojected = true; // If the pixel was outside of the screen during the previous frame, invalidate the history - if (historyCoordinate.x >= _CurrentEffectResolution.x || historyCoordinate.x < 0 || historyCoordinate.y >= _CurrentEffectResolution.y || historyCoordinate.y < 0) + if (historyCoordinate.x >= _CurrentEffectResolution.x || historyCoordinate.x < 0 + || historyCoordinate.y >= _CurrentEffectResolution.y || historyCoordinate.y < 0) canBeReprojected = false; #ifdef HALF_RESOLUTION From 86237d32423884d3b609f37967fadea350c060e1 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 16 Mar 2021 19:47:23 +0100 Subject: [PATCH 107/148] [HDRP] Fix tube light mode (#3871) * Fixed tube light mode selection (case 1317776) * Updated changelog * PR fixes Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Lighting/HDLightUI.cs | 5 +++-- .../Runtime/Lighting/Light/HDAdditionalLightData.Types.cs | 6 ++++++ 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index fc2f46f4e72..09bc073e33c 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -105,6 +105,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed SRP batcher not compatible with Decal (case 1311586). - Fixed error message when having MSAA and Screen Space Shadows (case 1318698). - Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139). +- Fixed Tube and Disc lights mode selection (case 1317776) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs index 409ce21ce2e..89b872bfeaa 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/HDLightUI.cs @@ -208,8 +208,9 @@ static void DrawGeneralContent(SerializedHDLight serialized, Editor owner) } EditorGUI.showMixedValue = false; - //Draw the mode - serialized.settings.DrawLightmapping(); + // Draw the mode, for Tube and Disc lights, there is only one choice, so we can disable the enum. + using (new EditorGUI.DisabledScope(serialized.areaLightShape == AreaLightShape.Tube || serialized.areaLightShape == AreaLightShape.Disc)) + serialized.settings.DrawLightmapping(); if (updatedLightType == HDLightType.Area) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.Types.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.Types.cs index d733242139f..08e68a80a89 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.Types.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Light/HDAdditionalLightData.Types.cs @@ -322,6 +322,12 @@ void ResolveAreaShape() legacyLight.type = LightType.Disc; #if UNITY_EDITOR legacyLight.lightmapBakeType = LightmapBakeType.Baked; +#endif + } + else if (areaLightShape == AreaLightShape.Tube) + { +#if UNITY_EDITOR + legacyLight.lightmapBakeType = LightmapBakeType.Realtime; #endif } else From 696123132aa546534394f063f60909a072f14578 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Tue, 16 Mar 2021 19:49:01 +0100 Subject: [PATCH 108/148] Added tooltips for features being disabled because of MSAA/Raytracing (#3879) * Added tooltips to warn when some features may be disabled. * Update change log --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/Settings/FrameSettings.cs | 6 +++--- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 09bc073e33c..15e7ecb8c21 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -158,6 +158,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Virtual Texturing Resolver now performs RTHandle resize logic in HDRP instead of in core Unity - Cached the base types of Volume Manager to improve memory and cpu usage. - Reduced the maximal number of bounces for both RTGI and RTR (case 1318876). +- Added tooltips to warn when some features may be disabled depending on MSAA/raytracing usage. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs index e6ec82c7571..8eae0a8a3aa 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/FrameSettings.cs @@ -100,7 +100,7 @@ public enum FrameSettingsField [FrameSettingsField(0, displayedName: "Clear GBuffers", positiveDependencies: new[] { LitShaderMode }, customOrderInGroup: 2, tooltip: "When enabled, HDRP clear GBuffers for Cameras using these Frame Settings. Set Lit Shader Mode to Deferred to access this option.")] ClearGBuffers = 5, /// When enabled, Cameras using these Frame Settings calculate MSAA when they render the Scene. Set Lit Shader Mode to Forward to access this option. - [FrameSettingsField(0, displayedName: "MSAA within Forward", negativeDependencies: new[] { LitShaderMode }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings calculate MSAA when they render the Scene. Set Lit Shader Mode to Forward to access this option.")] + [FrameSettingsField(0, displayedName: "MSAA within Forward", negativeDependencies: new[] { LitShaderMode }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings calculate MSAA when they render the Scene. Set Lit Shader Mode to Forward to access this option. Note that MSAA is disabled when using ray tracing.")] MSAA = 31, /// When enabled, Cameras using these Frame Settings use Alpha To Mask. Activate MSAA to access this option. [FrameSettingsField(0, displayedName: "Alpha To Mask", negativeDependencies: new[] { LitShaderMode }, positiveDependencies: new[] { MSAA }, customOrderInGroup: 3, tooltip: "When enabled, Cameras using these Frame Settings use Alpha To Mask. Activate MSAA to access this option.")] @@ -243,13 +243,13 @@ public enum FrameSettingsField [FrameSettingsField(1, autoName: ContactShadows, tooltip: "When enabled, Cameras using these Frame Settings render Contact Shadows")] ContactShadows = 21, /// When enabled, Cameras using these Frame Settings render Screen Space Shadows. - [FrameSettingsField(1, autoName: ScreenSpaceShadows, customOrderInGroup: 23, tooltip: "When enabled, Cameras using these Frame Settings render Screen Space Shadows (Depends on \"Screen Space Shadows\" in current HDRP Asset).")] + [FrameSettingsField(1, autoName: ScreenSpaceShadows, customOrderInGroup: 23, tooltip: "When enabled, Cameras using these Frame Settings render Screen Space Shadows (Depends on \"Screen Space Shadows\" in current HDRP Asset). Note that Screen Space Shadows are disabled when MSAA is enabled.")] ScreenSpaceShadows = 34, /// When enabled, Cameras using these Frame Settings render shadows from Shadow Masks. [FrameSettingsField(1, autoName: Shadowmask, customOrderInGroup: 24, tooltip: "When enabled, Cameras using these Frame Settings render shadows from Shadow Masks (Depends on \"Shadowmask\" in current HDRP Asset).")] Shadowmask = 22, /// When enabled, Cameras using these Frame Settings calculate Screen Space Reflections. - [FrameSettingsField(1, displayedName: "Screen Space Reflection", tooltip: "When enabled, Cameras using these Frame Settings calculate Screen Space Reflections (Depends on \"Screen Space Reflection\" in current HDRP Asset).")] + [FrameSettingsField(1, displayedName: "Screen Space Reflection", tooltip: "When enabled, Cameras using these Frame Settings calculate Screen Space Reflections (Depends on \"Screen Space Reflection\" in current HDRP Asset). Note that Screen Space Reflections are disabled when MSAA is enabled.")] SSR = 23, /// When enabled, Cameras using these Frame Settings calculate Screen Space Reflections on transparent objects. [FrameSettingsField(1, displayedName: "Transparents", customOrderInGroup: 25, positiveDependencies: new[] { SSR }, tooltip: "When enabled, Cameras using these Frame Settings calculate Screen Space Reflections on transparent objects.")] From f3bcec53bad83937439b78e5a48ec592349511a6 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 16 Mar 2021 20:04:08 +0100 Subject: [PATCH 109/148] Formatting --- .../Raytracing/Shaders/Denoising/ReflectionDenoiser.compute | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute index dfc6d3572f2..9791e1de7a7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/Denoising/ReflectionDenoiser.compute @@ -107,7 +107,7 @@ void TEMPORAL_ACCUMULATION(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 g bool canBeReprojected = true; // If the pixel was outside of the screen during the previous frame, invalidate the history - if (historyCoordinate.x >= _CurrentEffectResolution.x || historyCoordinate.x < 0 + if (historyCoordinate.x >= _CurrentEffectResolution.x || historyCoordinate.x < 0 || historyCoordinate.y >= _CurrentEffectResolution.y || historyCoordinate.y < 0) canBeReprojected = false; From 5a4107059340825f6196c8e031b43d8f4601f87b Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 17 Mar 2021 10:45:47 +0100 Subject: [PATCH 110/148] Update CHANGELOG.md --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 2e7b3fdb664..022fbb54c83 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -104,7 +104,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue in Probe Reference Volume authoring component triggering an asset reload on all operations. - Fixed grey screen on playstation platform when histogram exposure is enabled but the curve mapping is not used. - Fixed HDRPAsset loosing its reference to the ray tracing resources when clicking on a different quality level that doesn't have ray tracing (case 1320304). -- Fixed SRP batcher not compatible with Decal (case 1311586). - Fixed error message when having MSAA and Screen Space Shadows (case 1318698). - Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139). - Fixed Tube and Disc lights mode selection (case 1317776) @@ -160,7 +159,6 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Virtual Texturing Resolver now performs RTHandle resize logic in HDRP instead of in core Unity - Cached the base types of Volume Manager to improve memory and cpu usage. - Reduced the maximal number of bounces for both RTGI and RTR (case 1318876). -- Added tooltips to warn when some features may be disabled depending on MSAA/raytracing usage. ## [11.0.0] - 2020-10-21 From b6c9a672186645f9b53c6f364f1a6f9503a1b8e5 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Wed, 17 Mar 2021 12:47:12 +0100 Subject: [PATCH 111/148] Changed the behavior of the clear coat and SSR/RTR for the stack lit to mimic the Lit's behavior (case 1320154). (#3872) * Changed the behavior of the clear coat and SSR/RTR for the stack lit to mimic the Lit's behavior (case 1320154). * Added information about using clear coat with rtr * Reference image meta file (long time oversight) * Modifying test 1302_03 Stacklit to make it fail with new fix * Update reference images Co-authored-by: Lewis Jordan Co-authored-by: Remi Chapelain --- .../902_Materials_SG_Variants_StackLit.png | 4 +- ...02_Materials_SG_Variants_StackLit.png.meta | 23 +- .../{Screenshots => }/Floor_Sides_03.mat | 12 +- .../{Screenshots => }/Floor_Sides_03.mat.meta | 0 .../Floor_Sides_03_nodetail.mat | 0 .../Floor_Sides_03_nodetail.mat.meta | 0 .../PixarLM/Materials/GreenBall.mat | 262 +++++++ .../PixarLM/Materials/GreenBall.mat.meta | 8 + .../Materials/{Screenshots => }/GreyFloor.mat | 17 +- .../{Screenshots => }/GreyFloor.mat.meta | 0 .../{Screenshots => }/GreyFloor_nomaps.mat | 0 .../GreyFloor_nomaps.mat.meta | 0 .../SLSG_BaseMetal_Coat.ShaderGraph | 0 .../SLSG_BaseMetal_Coat.ShaderGraph.meta | 0 .../{Screenshots => }/SLSG_FrostedMetal.mat | 0 .../SLSG_FrostedMetal.mat.meta | 0 .../{Screenshots => }/SLSG_FrostedPaint.mat | 0 .../SLSG_FrostedPaint.mat.meta | 0 .../{Screenshots => }/SLSG_GlossyPaint.mat | 0 .../SLSG_GlossyPaint.mat.meta | 0 .../{Screenshots => }/SLSG_MetalFoil.mat | 0 .../{Screenshots => }/SLSG_MetalFoil.mat.meta | 0 .../{Screenshots => }/SLSG_MetallicPaint.mat | 0 .../SLSG_MetallicPaint.mat.meta | 0 .../{Screenshots => }/SLSG_Patina.mat | 0 .../{Screenshots => }/SLSG_Patina.mat.meta | 0 .../{Screenshots => }/SLSG_TintedGlazing.mat | 18 +- .../SLSG_TintedGlazing.mat.meta | 0 ...1302_StackLit_PixarLM_VolumeSettings.asset | 111 ++- ...hots.meta => 1302_StackLitSG_PixarLM.meta} | 2 +- .../1302_StackLitSG_PixarLM.unity | 663 +++++++++++++++++- .../ReflectionProbe-0.exr | Bin 0 -> 88693 bytes .../ReflectionProbe-0.exr.meta | 97 +++ .../Vulkan/None/1302_StackLitSG_PixarLM.png | 4 +- .../Vulkan/None/1303_StackLitSG_Testers_a.png | 4 +- .../Vulkan/None/1303_StackLitSG_Testers_b.png | 4 +- .../Metal/None/1302_StackLitSG_PixarLM.png | 4 +- .../Metal/None/1303_StackLitSG_Testers_a.png | 4 +- .../Metal/None/1303_StackLitSG_Testers_b.png | 4 +- .../None/1302_StackLitSG_PixarLM.png | 4 +- .../None/1303_StackLitSG_Testers_a.png | 4 +- .../None/1303_StackLitSG_Testers_b.png | 4 +- .../None/1302_StackLitSG_PixarLM.png | 4 +- .../None/1303_StackLitSG_Testers_a.png | 4 +- .../None/1303_StackLitSG_Testers_b.png | 4 +- .../Vulkan/None/1302_StackLitSG_PixarLM.png | 4 +- .../Vulkan/None/1303_StackLitSG_Testers_a.png | 4 +- .../Vulkan/None/1303_StackLitSG_Testers_b.png | 4 +- .../CHANGELOG.md | 1 + .../ray-traced-reflection-clear-coat-1.png | 3 + .../ray-traced-reflection-clear-coat-2.png | 3 + .../ray-traced-reflection-clear-coat-3.png | 3 + .../Documentation~/Ray-Traced-Reflections.md | 23 + .../Runtime/Material/StackLit/StackLit.hlsl | 39 +- 54 files changed, 1252 insertions(+), 97 deletions(-) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/Floor_Sides_03.mat (97%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/Floor_Sides_03.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/Floor_Sides_03_nodetail.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/Floor_Sides_03_nodetail.mat.meta (100%) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat.meta rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/GreyFloor.mat (95%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/GreyFloor.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/GreyFloor_nomaps.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/GreyFloor_nomaps.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_BaseMetal_Coat.ShaderGraph (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_BaseMetal_Coat.ShaderGraph.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_FrostedMetal.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_FrostedMetal.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_FrostedPaint.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_FrostedPaint.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_GlossyPaint.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_GlossyPaint.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_MetalFoil.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_MetalFoil.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_MetallicPaint.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_MetallicPaint.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_Patina.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_Patina.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_TintedGlazing.mat (98%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/{Screenshots => }/SLSG_TintedGlazing.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/{1302_03_StackLit/PixarLM/Materials/Screenshots.meta => 1302_StackLitSG_PixarLM.meta} (77%) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr.meta create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-1.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-2.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-3.png diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png index bf3bfe20298..b71dcdc6453 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b6ca7a4959b1229e84a2b8d0df86fa0592721c7e39d9638febbe11b79660d55b -size 196919 +oid sha256:dbe9437172d0512b1e053efd8bbeb9c2a45d7cd75cddf7116449204c015b4d47 +size 196694 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png.meta index 5128283a88b..6a29d244ea5 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png.meta +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/902_Materials_SG_Variants_StackLit.png.meta @@ -6,7 +6,7 @@ TextureImporter: serializedVersion: 11 mipmaps: mipMapMode: 0 - enableMipMap: 0 + enableMipMap: 1 sRGBTexture: 1 linearTexture: 0 fadeOut: 0 @@ -20,7 +20,7 @@ TextureImporter: externalNormalMap: 0 heightScale: 0.25 normalMapFilter: 0 - isReadable: 1 + isReadable: 0 streamingMipmaps: 0 streamingMipmapsPriority: 0 vTOnly: 0 @@ -32,13 +32,13 @@ TextureImporter: maxTextureSize: 2048 textureSettings: serializedVersion: 2 - filterMode: -1 - aniso: -1 - mipBias: -100 - wrapU: -1 - wrapV: -1 - wrapW: -1 - nPOTScale: 0 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 1 lightmap: 0 compressionQuality: 50 spriteMode: 0 @@ -55,6 +55,8 @@ TextureImporter: textureType: 0 textureShape: 1 singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 maxTextureSizeSet: 0 compressionQualitySet: 0 textureFormatSet: 0 @@ -66,7 +68,7 @@ TextureImporter: maxTextureSize: 2048 resizeAlgorithm: 0 textureFormat: -1 - textureCompression: 0 + textureCompression: 1 compressionQuality: 50 crunchedCompression: 0 allowsAlphaSplitting: 0 @@ -86,6 +88,7 @@ TextureImporter: edges: [] weights: [] secondaryTextures: [] + nameFileIdTable: {} spritePackingTag: pSDRemoveMatte: 0 pSDShowRemoveMatteOption: 0 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03.mat similarity index 97% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03.mat index 05dc332a842..ad06eedd25d 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03.mat @@ -22,7 +22,8 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: Floor_Sides_03 m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR _DISABLE_SSR_TRANSPARENT _NORMALMAP + _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -189,6 +190,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _Drag: 1 - _DstBlend: 0 @@ -237,7 +239,7 @@ Material: - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 - _RayTracing: 0 - - _ReceivesSSR: 1 + - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 @@ -253,10 +255,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03_nodetail.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03_nodetail.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03_nodetail.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03_nodetail.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03_nodetail.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03_nodetail.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/Floor_Sides_03_nodetail.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Floor_Sides_03_nodetail.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat new file mode 100644 index 00000000000..a365a0b3dc8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat @@ -0,0 +1,262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: GreenBall + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0, g: 1, b: 0.007030964, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0, g: 1, b: 0.0070309644, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &5318667328549498054 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat.meta new file mode 100644 index 00000000000..958915c7237 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreenBall.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0fbf3d419be679149914870134f9c60f +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor.mat similarity index 95% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor.mat index 71c5b41c72d..66003b20c15 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor.mat @@ -22,8 +22,8 @@ Material: m_PrefabAsset: {fileID: 0} m_Name: GreyFloor m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} - m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR_TRANSPARENT _MAPPING_PLANAR _MASKMAP - _NORMALMAP _NORMALMAP_TANGENT_SPACE + m_ShaderKeywords: _DETAIL_MAP _DISABLE_SSR _DISABLE_SSR_TRANSPARENT _MAPPING_PLANAR + _MASKMAP _NORMALMAP _NORMALMAP_TANGENT_SPACE m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 @@ -46,7 +46,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _BaseColorMap: - m_Texture: {fileID: 0} + m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0} m_Scale: {x: 6, y: 5} m_Offset: {x: 0, y: 0} - _BentNormalMap: @@ -86,7 +86,7 @@ Material: m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MainTex: - m_Texture: {fileID: 0} + m_Texture: {fileID: 10309, guid: 0000000000000000f000000000000000, type: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} - _MaskMap: @@ -190,6 +190,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _Drag: 1 - _DstBlend: 0 @@ -237,7 +238,7 @@ Material: - _PPDPrimitiveWidth: 1 - _PreRefractionPass: 0 - _RayTracing: 0 - - _ReceivesSSR: 1 + - _ReceivesSSR: 0 - _ReceivesSSRTransparent: 0 - _RefractionMode: 0 - _RefractionModel: 0 @@ -254,10 +255,10 @@ Material: - _SpecularOcclusionMode: 1 - _SrcBlend: 1 - _StencilRef: 0 - - _StencilRefDepth: 8 + - _StencilRefDepth: 0 - _StencilRefDistortionVec: 4 - - _StencilRefGBuffer: 10 - - _StencilRefMV: 40 + - _StencilRefGBuffer: 2 + - _StencilRefMV: 32 - _StencilWriteMask: 6 - _StencilWriteMaskDepth: 8 - _StencilWriteMaskDistortionVec: 4 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor_nomaps.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor_nomaps.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor_nomaps.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor_nomaps.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor_nomaps.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor_nomaps.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/GreyFloor_nomaps.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/GreyFloor_nomaps.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_BaseMetal_Coat.ShaderGraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_BaseMetal_Coat.ShaderGraph similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_BaseMetal_Coat.ShaderGraph rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_BaseMetal_Coat.ShaderGraph diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_BaseMetal_Coat.ShaderGraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_BaseMetal_Coat.ShaderGraph.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_BaseMetal_Coat.ShaderGraph.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_BaseMetal_Coat.ShaderGraph.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedMetal.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedMetal.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedMetal.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedMetal.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedMetal.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedMetal.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedMetal.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedMetal.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedPaint.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedPaint.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedPaint.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedPaint.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedPaint.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedPaint.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_FrostedPaint.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_FrostedPaint.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_GlossyPaint.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_GlossyPaint.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_GlossyPaint.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_GlossyPaint.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_GlossyPaint.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_GlossyPaint.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_GlossyPaint.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_GlossyPaint.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetalFoil.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetalFoil.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetalFoil.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetalFoil.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetalFoil.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetalFoil.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetalFoil.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetalFoil.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetallicPaint.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetallicPaint.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetallicPaint.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetallicPaint.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetallicPaint.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetallicPaint.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_MetallicPaint.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_MetallicPaint.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_Patina.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_Patina.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_Patina.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_Patina.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_Patina.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_Patina.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_Patina.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_Patina.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_TintedGlazing.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_TintedGlazing.mat similarity index 98% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_TintedGlazing.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_TintedGlazing.mat index ccf9f42d85c..6cf7119eda8 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_TintedGlazing.mat +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_TintedGlazing.mat @@ -14,15 +14,14 @@ Material: m_LightmapFlags: 4 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 0 - m_CustomRenderQueue: -1 + m_CustomRenderQueue: 2225 stringTagMap: MotionVector: User disabledShaderPasses: - - DistortionVectors + - TransparentDepthPostpass - MOTIONVECTORS - TransparentBackface - TransparentDepthPrepass - - TransparentDepthPostpass m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -250,6 +249,18 @@ Material: m_Texture: {fileID: 0} m_Scale: {x: 1, y: 1} m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} m_Ints: [] m_Floats: - Vector1_2632BC3D: 0.938 @@ -403,6 +414,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _Drag: 1 - _DstBlend: 0 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_TintedGlazing.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_TintedGlazing.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots/SLSG_TintedGlazing.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/SLSG_TintedGlazing.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Settings/1302_StackLit_PixarLM_VolumeSettings.asset b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Settings/1302_StackLit_PixarLM_VolumeSettings.asset index e06c6d5e2c9..d25304b4788 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Settings/1302_StackLit_PixarLM_VolumeSettings.asset +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Settings/1302_StackLit_PixarLM_VolumeSettings.asset @@ -16,6 +16,7 @@ MonoBehaviour: - {fileID: 114527594671542966} - {fileID: 114339849572665496} - {fileID: 114914201461855468} + - {fileID: 7134681920850386777} --- !u!114 &114339849572665496 MonoBehaviour: m_ObjectHideFlags: 0 @@ -29,10 +30,12 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: active: 1 - m_AdvancedMode: 0 skyType: m_OverrideState: 1 m_Value: 2 + cloudType: + m_OverrideState: 0 + m_Value: 0 skyAmbientMode: m_OverrideState: 0 m_Value: 0 @@ -52,16 +55,15 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: active: 1 - m_AdvancedMode: 0 maxShadowDistance: m_OverrideState: 1 m_Value: 700 - min: 0 + directionalTransmissionMultiplier: + m_OverrideState: 0 + m_Value: 1 cascadeShadowSplitCount: m_OverrideState: 1 m_Value: 4 - min: 1 - max: 4 cascadeShadowSplit0: m_OverrideState: 1 m_Value: 0.005 @@ -96,12 +98,9 @@ MonoBehaviour: m_Name: m_EditorClassIdentifier: active: 1 - m_AdvancedMode: 0 rotation: m_OverrideState: 1 m_Value: 0 - min: 0 - max: 360 skyIntensityMode: m_OverrideState: 0 m_Value: 0 @@ -111,11 +110,12 @@ MonoBehaviour: multiplier: m_OverrideState: 1 m_Value: 1 - min: 0 upperHemisphereLuxValue: m_OverrideState: 0 m_Value: 1 - min: 0 + upperHemisphereLuxColor: + m_OverrideState: 0 + m_Value: {x: 0, y: 0, z: 0} desiredLuxValue: m_OverrideState: 0 m_Value: 20000 @@ -125,37 +125,102 @@ MonoBehaviour: updatePeriod: m_OverrideState: 1 m_Value: 0 - min: 0 includeSunInBaking: m_OverrideState: 0 m_Value: 0 sunSize: m_OverrideState: 1 m_Value: 0.04 - min: 0 - max: 1 sunSizeConvergence: m_OverrideState: 1 m_Value: 5 - min: 1 - max: 10 atmosphereThickness: m_OverrideState: 1 m_Value: 0.5 - min: 0 - max: 5 skyTint: m_OverrideState: 1 m_Value: {r: 1, g: 1, b: 1, a: 1} - hdr: 0 - showAlpha: 1 - showEyeDropper: 1 groundColor: m_OverrideState: 1 m_Value: {r: 0.59927905, g: 0.6172068, b: 0.6320754, a: 1} - hdr: 0 - showAlpha: 1 - showEyeDropper: 1 enableSunDisk: m_OverrideState: 1 m_Value: 1 +--- !u!114 &7134681920850386777 +MonoBehaviour: + m_ObjectHideFlags: 3 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 384c4d03a551c44448145f4093304119, type: 3} + m_Name: ScreenSpaceReflection + m_EditorClassIdentifier: + active: 1 + quality: + m_OverrideState: 1 + m_Value: 2 + enabled: + m_OverrideState: 1 + m_Value: 1 + usedAlgorithm: + m_OverrideState: 0 + m_Value: 0 + rayTracing: + m_OverrideState: 0 + m_Value: 0 + reflectSky: + m_OverrideState: 1 + m_Value: 1 + depthBufferThickness: + m_OverrideState: 1 + m_Value: 0.01 + screenFadeDistance: + m_OverrideState: 1 + m_Value: 0.1 + accumulationFactor: + m_OverrideState: 0 + m_Value: 0.75 + layerMask: + m_OverrideState: 0 + m_Value: + serializedVersion: 2 + m_Bits: 4294967295 + mode: + m_OverrideState: 0 + m_Value: 2 + sampleCount: + m_OverrideState: 0 + m_Value: 1 + bounceCount: + m_OverrideState: 0 + m_Value: 1 + m_MinSmoothness: + m_OverrideState: 1 + m_Value: 0 + m_SmoothnessFadeStart: + m_OverrideState: 1 + m_Value: 0 + m_RayMaxIterations: + m_OverrideState: 1 + m_Value: 64 + m_RayLength: + m_OverrideState: 0 + m_Value: 50 + m_ClampValue: + m_OverrideState: 0 + m_Value: 1 + m_FullResolution: + m_OverrideState: 0 + m_Value: 0 + m_Denoise: + m_OverrideState: 0 + m_Value: 1 + m_DenoiserRadius: + m_OverrideState: 0 + m_Value: 8 + m_AffectSmoothSurfaces: + m_OverrideState: 0 + m_Value: 0 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.meta similarity index 77% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.meta index 7627c83db5e..7de0567fa6a 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_03_StackLit/PixarLM/Materials/Screenshots.meta +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: a9f89142bbc76994b98094125564580b +guid: 7f10a801bdfbc704fa6afebb35c9e3cb folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.unity index 28a36c1ee28..91dbe1cc38b 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM.unity @@ -312,6 +312,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.005 - 0.015 @@ -327,7 +328,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 1 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -586,6 +586,116 @@ Transform: m_Father: {fileID: 400084911} m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!115 &491874998 +MonoScript: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: + serializedVersion: 5 + m_Script: + m_DefaultReferences: {} + m_Icon: {fileID: 0} + m_ExecutionOrder: 0 + m_ClassName: SceneObjectIDMapSceneAsset + m_Namespace: UnityEngine.Rendering.HighDefinition +--- !u!1 &738643838 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 738643842} + - component: {fileID: 738643841} + - component: {fileID: 738643840} + - component: {fileID: 738643839} + m_Layer: 0 + m_Name: Sphere + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 2147483647 + m_IsActive: 1 +--- !u!135 &738643839 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738643838} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &738643840 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738643838} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0fbf3d419be679149914870134f9c60f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &738643841 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738643838} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &738643842 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 738643838} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.102, y: 0.45, z: 7.633} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &811234925 GameObject: m_ObjectHideFlags: 0 @@ -746,6 +856,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -761,7 +872,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -1187,6 +1297,53 @@ PrefabInstance: objectReference: {fileID: 2100000, guid: 5ebe9aa89d5688c4dbdb30d2f6c2f15f, type: 2} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: 8f37564560ca16541a8a345a9d0ed93a, type: 3} +--- !u!1 &1510592441 +GameObject: + m_ObjectHideFlags: 19 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1510592443} + - component: {fileID: 1510592442} + m_Layer: 0 + m_Name: SceneIDMap + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1510592442 +MonoBehaviour: + m_ObjectHideFlags: 19 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1510592441} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 491874998} + m_Name: + m_EditorClassIdentifier: + m_Entries: + - id: 0 + category: 0 + gameObject: {fileID: 1947539804} +--- !u!4 &1510592443 +Transform: + m_ObjectHideFlags: 19 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1510592441} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!4 &1532741518 stripped Transform: m_CorrespondingSourceObject: {fileID: 400004, guid: 8f37564560ca16541a8a345a9d0ed93a, @@ -1466,6 +1623,441 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1898143623} m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1947539804 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1947539807} + - component: {fileID: 1947539806} + - component: {fileID: 1947539805} + m_Layer: 0 + m_Name: Reflection Probe + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1947539805 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947539804} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: d0ef8dc2c2eabfa4e8cb77be57a837c0, type: 3} + m_Name: + m_EditorClassIdentifier: + m_ProbeSettings: + frustum: + fieldOfViewMode: 1 + fixedValue: 90 + automaticScale: 1 + viewerScale: 1 + type: 0 + mode: 0 + realtimeMode: 1 + lighting: + multiplier: 1 + weight: 1 + lightLayer: 1 + fadeDistance: 10000 + rangeCompressionFactor: 1 + influence: + m_Shape: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} + m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 + m_EditorAdvancedModeBlendDistancePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_EditorSimplifiedModeBlendDistance: 1 + m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendNormalDistance: 0 + m_EditorAdvancedModeEnabled: 0 + m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} + m_Version: 1 + m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} + m_ObsoleteOffset: {x: 0, y: 0, z: 0} + proxy: + m_Shape: 0 + m_BoxSize: {x: 1, y: 1, z: 1} + m_SphereRadius: 1 + m_CSVersion: 1 + m_ObsoleteSphereInfiniteProjection: 0 + m_ObsoleteBoxInfiniteProjection: 0 + proxySettings: + useInfluenceVolumeAsProxyVolume: 0 + capturePositionProxySpace: {x: 0, y: 0, z: 0} + captureRotationProxySpace: {x: 0, y: 0, z: 0, w: 1} + mirrorPositionProxySpace: {x: 0, y: 0, z: 0} + mirrorRotationProxySpace: {x: 0, y: 0, z: 0, w: 0} + resolutionScalable: + m_Override: 512 + m_UseOverride: 0 + m_Level: 0 + resolution: 0 + cameraSettings: + customRenderingSettings: 0 + renderingPathCustomFrameSettings: + bitDatas: + data1: 72198262773251917 + data2: 13763000468760363032 + lodBias: 1 + lodBiasMode: 0 + lodBiasQualityLevel: 0 + maximumLODLevel: 0 + maximumLODLevelMode: 0 + maximumLODLevelQualityLevel: 0 + sssQualityMode: 0 + sssQualityLevel: 0 + sssCustomSampleBudget: 20 + materialQuality: 0 + renderingPathCustomFrameSettingsOverrideMask: + mask: + data1: 0 + data2: 0 + bufferClearing: + clearColorMode: 0 + backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} + clearDepth: 1 + volumes: + layerMask: + serializedVersion: 2 + m_Bits: 1 + anchorOverride: {fileID: 0} + frustum: + mode: 0 + aspect: 1 + farClipPlaneRaw: 1000 + nearClipPlaneRaw: 0.3 + fieldOfView: 90 + projectionMatrix: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + culling: + useOcclusionCulling: 1 + cullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + sceneCullingMaskOverride: 0 + invertFaceCulling: 0 + flipYMode: 0 + probeLayerMask: + serializedVersion: 2 + m_Bits: 4294967295 + defaultFrameSettings: 0 + m_ObsoleteRenderingPath: 0 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + roughReflections: 1 + distanceBasedRoughness: 0 + m_ProbeSettingsOverride: + probe: 0 + camera: + camera: 0 + m_ProxyVolume: {fileID: 0} + m_BakedTexture: {fileID: 8900000, guid: 1de8a213f8558294e8d40e642cc2ecae, type: 3} + m_CustomTexture: {fileID: 0} + m_BakedRenderData: + m_WorldToCameraRHS: + e00: 0 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 0 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 0 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 0 + m_ProjectionMatrix: + e00: 0 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 0 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 0 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 0 + m_CapturePosition: {x: 0, y: 0, z: 0} + m_CaptureRotation: {x: 0, y: 0, z: 0, w: 0} + m_FieldOfView: 0 + m_Aspect: 0 + m_CustomRenderData: + m_WorldToCameraRHS: + e00: 0 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 0 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 0 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 0 + m_ProjectionMatrix: + e00: 0 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 0 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 0 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 0 + m_CapturePosition: {x: 0, y: 0, z: 0} + m_CaptureRotation: {x: 0, y: 0, z: 0, w: 0} + m_FieldOfView: 0 + m_Aspect: 0 + m_HDProbeVersion: 3 + m_ObsoleteInfiniteProjection: 1 + m_ObsoleteInfluenceVolume: + m_Shape: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxBlendDistancePositive: {x: 1, y: 1, z: 1} + m_BoxBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_BoxBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_BoxBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_BoxSideFadePositive: {x: 1, y: 1, z: 1} + m_BoxSideFadeNegative: {x: 1, y: 1, z: 1} + m_SphereRadius: 3 + m_SphereBlendDistance: 0 + m_SphereBlendNormalDistance: 0 + m_EditorAdvancedModeBlendDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendDistance: 0 + m_EditorAdvancedModeBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_EditorAdvancedModeBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_EditorSimplifiedModeBlendNormalDistance: 0 + m_EditorAdvancedModeEnabled: 0 + m_EditorAdvancedModeFaceFadePositive: {x: 1, y: 1, z: 1} + m_EditorAdvancedModeFaceFadeNegative: {x: 1, y: 1, z: 1} + m_Version: 1 + m_ObsoleteSphereBaseOffset: {x: 0, y: 0, z: 0} + m_ObsoleteOffset: {x: 0, y: 0, z: 0} + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteMultiplier: 1 + m_ObsoleteWeight: 1 + m_ObsoleteMode: 0 + m_ObsoleteLightLayers: 1 + m_ObsoleteCaptureSettings: + overrides: 0 + clearColorMode: 0 + backgroundColorHDR: {r: 0.023529412, g: 0.07058824, b: 0.1882353, a: 0} + clearDepth: 1 + cullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + useOcclusionCulling: 1 + volumeLayerMask: + serializedVersion: 2 + m_Bits: 1 + volumeAnchorOverride: {fileID: 0} + projection: 0 + nearClipPlane: 0.3 + farClipPlane: 1000 + fieldOfView: 90 + orthographicSize: 5 + renderingPath: 0 + shadowDistance: 100 + m_ReflectionProbeVersion: 9 + m_ObsoleteInfluenceShape: 0 + m_ObsoleteInfluenceSphereRadius: 3 + m_ObsoleteBlendDistancePositive: {x: 1, y: 1, z: 1} + m_ObsoleteBlendDistanceNegative: {x: 1, y: 1, z: 1} + m_ObsoleteBlendNormalDistancePositive: {x: 0, y: 0, z: 0} + m_ObsoleteBlendNormalDistanceNegative: {x: 0, y: 0, z: 0} + m_ObsoleteBoxSideFadePositive: {x: 1, y: 1, z: 1} + m_ObsoleteBoxSideFadeNegative: {x: 1, y: 1, z: 1} +--- !u!215 &1947539806 +ReflectionProbe: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947539804} + m_Enabled: 1 + serializedVersion: 2 + m_Type: 0 + m_Mode: 2 + m_RefreshMode: 2 + m_TimeSlicingMode: 0 + m_Resolution: 128 + m_UpdateFrequency: 0 + m_BoxSize: {x: 10, y: 10, z: 10} + m_BoxOffset: {x: 0, y: 0, z: 0} + m_NearClip: 0.3 + m_FarClip: 1000 + m_ShadowDistance: 100 + m_ClearFlags: 1 + m_BackGroundColor: {r: 0.19215687, g: 0.3019608, b: 0.4745098, a: 0} + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_IntensityMultiplier: 1 + m_BlendDistance: 1 + m_HDR: 1 + m_BoxProjection: 0 + m_RenderDynamicObjects: 0 + m_UseOcclusionCulling: 1 + m_Importance: 1 + m_CustomBakedTexture: {fileID: 0} +--- !u!4 &1947539807 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1947539804} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -3.49, y: 0.88, z: 6.08} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &2062071932 GameObject: m_ObjectHideFlags: 0 @@ -1626,6 +2218,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -1641,7 +2234,6 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 @@ -1824,6 +2416,11 @@ PrefabInstance: propertyPath: m_Version value: 7 objectReference: {fileID: 0} + - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, + type: 3} + propertyPath: customRenderingSettings + value: 1 + objectReference: {fileID: 0} - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, type: 3} propertyPath: m_ObsoleteFrameSettings.enableSSR @@ -1954,6 +2551,11 @@ PrefabInstance: propertyPath: m_ObsoleteFrameSettings.enableTransparentPostpass value: 0 objectReference: {fileID: 0} + - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 72198262773251917 + objectReference: {fileID: 0} - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, type: 3} propertyPath: m_ObsoleteFrameSettings.enableSubsurfaceScattering @@ -1979,6 +2581,11 @@ PrefabInstance: propertyPath: m_ObsoleteFrameSettings.lightLoopSettings.isFptlEnabled value: 0 objectReference: {fileID: 0} + - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data1 + value: 8388608 + objectReference: {fileID: 0} - target: {fileID: 289498767785640824, guid: c9ada76d1d9f321498ace4c15cbc52dc, type: 3} propertyPath: m_ObsoleteFrameSettings.enableReprojectionForVolumetrics @@ -2028,11 +2635,21 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 3546382869632206708, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} - target: {fileID: 6224387857195154903, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387857195154903, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387857197146903, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2043,6 +2660,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387857635430170, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387857637691866, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2053,6 +2675,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387857885861175, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387857887792119, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2063,6 +2690,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387857936015827, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387857937956627, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2073,6 +2705,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387857941509021, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387857943440733, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2088,6 +2725,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387858195700752, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} - target: {fileID: 6224387858195700753, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_RootOrder @@ -2143,6 +2785,11 @@ PrefabInstance: propertyPath: m_LocalEulerAnglesHint.z value: 0 objectReference: {fileID: 0} + - target: {fileID: 6224387858234057791, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 2147483647 + objectReference: {fileID: 0} - target: {fileID: 6224387858235996927, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2153,6 +2800,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387858367775583, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387858370043295, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] @@ -2168,6 +2820,11 @@ PrefabInstance: propertyPath: m_IsActive value: 1 objectReference: {fileID: 0} + - target: {fileID: 6224387858406123820, guid: 91205157494601b45871943a710e3370, + type: 3} + propertyPath: m_StaticEditorFlags + value: 0 + objectReference: {fileID: 0} - target: {fileID: 6224387858408388588, guid: 91205157494601b45871943a710e3370, type: 3} propertyPath: m_Materials.Array.data[0] diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr new file mode 100644 index 0000000000000000000000000000000000000000..91347e03840d3943a570b91770e6fd1d1a146d60 GIT binary patch literal 88693 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 QQKh?17=XH(=H>GL0qD0zPyhe` literal 0 HcmV?d00001 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr.meta new file mode 100644 index 00000000000..ea7dd5cd735 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1302_StackLitSG_PixarLM/ReflectionProbe-0.exr.meta @@ -0,0 +1,97 @@ +fileFormatVersion: 2 +guid: 1de8a213f8558294e8d40e642cc2ecae +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 0 + 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: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + 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: 2 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1302_StackLitSG_PixarLM.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1302_StackLitSG_PixarLM.png index 0619d9984c6..353e025eba5 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1302_StackLitSG_PixarLM.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1302_StackLitSG_PixarLM.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e86a9c7a9e0f25672fd2b290df32ba40719b31fd8992fd38e9e02daed2788ba8 -size 191256 +oid sha256:ea9c0b66eda079dde8aa3256fdacf1cf8006f560d01533721f395032c52ab342 +size 207569 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_a.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_a.png index 083675c6b4d..16c9fba1bd5 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_a.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_a.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89566d400fc3c71ddd31bdf0f8ec58fcfab75e97deffa638a54e2a95b015e0fb -size 244412 +oid sha256:dccb296b3d11c74207a0f14f1002333378ddc7e4c8b42c244c2a258d797aed3f +size 251894 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_b.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_b.png index 97dca57872e..dea620f9ead 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_b.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1303_StackLitSG_Testers_b.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ebc398403d2dbd31dbdaa94ec5ecde83fb2e4726a4f1c2be2c148e29d415caae -size 269719 +oid sha256:1ac2cd797a4a53fd0f8e1bc6317e21e5f4a7a3d598818223a3ff2be8c4da4d79 +size 281210 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1302_StackLitSG_PixarLM.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1302_StackLitSG_PixarLM.png index c5cc9d2fc3e..a0fe7329cdc 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1302_StackLitSG_PixarLM.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1302_StackLitSG_PixarLM.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:89cd34fb149d20a73faf94b73363f8006e2dbeca6dceb2ff0d436f3ac46984c3 -size 198403 +oid sha256:d9ac0db404cae70b6a83ccdd54f5744a50bbb17294538a44ed1467f6368c69a8 +size 212028 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_a.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_a.png index 4f38f80f606..293b90ffb96 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_a.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_a.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:1ab13e322c857384d29581d4f5e7dc2344458601b505ccd63c609b3b9cbe38d6 -size 248654 +oid sha256:32badd5a510198b907d90dfeb92cb063aa3894f7667b6309f303f4b81e2e289d +size 255745 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_b.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_b.png index 40b37677aba..8e73cd6d62d 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_b.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1303_StackLitSG_Testers_b.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:469857bef2f12f3b24b98970eb3125264669d8440398df615a2e9f3c307d380b -size 277997 +oid sha256:e3508d8142d5c6655a9f717b43f7aefff534269cbb5afcace9192a7d4e4850bd +size 286338 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1302_StackLitSG_PixarLM.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1302_StackLitSG_PixarLM.png index 3a5af40b14b..4af65a030f5 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1302_StackLitSG_PixarLM.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1302_StackLitSG_PixarLM.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fd6e97c730791bebe3af8f6084991fba681911be5fefec9b7983c65af2c0e7ff -size 196130 +oid sha256:c024ddcf69509e7b895df1a640c57f4baee061c7814ba600f63408a7c8fa3ac0 +size 211399 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_a.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_a.png index ad4002f5962..293b90ffb96 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_a.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_a.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:c91aef2469e17e0f7fcfa78680ba53ce42c478029cd34ea55c37a12f67ecafa6 -size 248545 +oid sha256:32badd5a510198b907d90dfeb92cb063aa3894f7667b6309f303f4b81e2e289d +size 255745 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_b.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_b.png index d3226254b83..8e73cd6d62d 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_b.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1303_StackLitSG_Testers_b.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:ce2d5e9c1cb47e1a1f4072a5966beac03c5b0037ee8a93c502b5616bf455ecc4 -size 275077 +oid sha256:e3508d8142d5c6655a9f717b43f7aefff534269cbb5afcace9192a7d4e4850bd +size 286338 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1302_StackLitSG_PixarLM.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1302_StackLitSG_PixarLM.png index 2c4d96d4c0e..c18a8f35c13 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1302_StackLitSG_PixarLM.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1302_StackLitSG_PixarLM.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:982885ef298c0206fad25424181c47d48bf1a6e92d036c3baf269a5bc3d09e73 -size 227633 +oid sha256:94bd417f722ad25d9e00466ecab5c6a94651d4cc4e6fb82d05135bd34a85d949 +size 211597 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_a.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_a.png index 33fbbdf3871..3cde5181f59 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_a.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_a.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:2a5466c11d1657238dee3abc6ac27722d010deacf5761c06ac619cb4fada61ee -size 290590 +oid sha256:f16cfb03ff2c960e305e45594a3fff8f91b3c27070c9f598d137c80b3b28b283 +size 255707 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_b.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_b.png index 654d5f234b8..4d67284ab38 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_b.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1303_StackLitSG_Testers_b.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:26e074d82b635640422fe069b24df7bde405849d362036f023b7baaf5fe6b0b2 -size 275460 +oid sha256:3a215f809f7d7209c54b11b845717522e0177e06a28369a3e98decdee5b554ff +size 286043 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1302_StackLitSG_PixarLM.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1302_StackLitSG_PixarLM.png index 6bf1b465544..353e025eba5 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1302_StackLitSG_PixarLM.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1302_StackLitSG_PixarLM.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68930db14a53cb92a3b9e8c052f641e9c661e364c1928ddc043e0c13f81e8e18 -size 191152 +oid sha256:ea9c0b66eda079dde8aa3256fdacf1cf8006f560d01533721f395032c52ab342 +size 207569 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_a.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_a.png index 1c1e23e7181..16c9fba1bd5 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_a.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_a.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dafb8107ba3621cbd609046b27fe77cde369dadd763488bb83551276edbbfbdc -size 244449 +oid sha256:dccb296b3d11c74207a0f14f1002333378ddc7e4c8b42c244c2a258d797aed3f +size 251894 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_b.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_b.png index be1bbc734fc..dea620f9ead 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_b.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1303_StackLitSG_Testers_b.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3b5eb4ca5c6ed4fa011c5a16152479c2e3252652c499b8b29a94794c55418ac6 -size 269720 +oid sha256:1ac2cd797a4a53fd0f8e1bc6317e21e5f4a7a3d598818223a3ff2be8c4da4d79 +size 281210 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 022fbb54c83..ecd6d928cfa 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -159,6 +159,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Virtual Texturing Resolver now performs RTHandle resize logic in HDRP instead of in core Unity - Cached the base types of Volume Manager to improve memory and cpu usage. - Reduced the maximal number of bounces for both RTGI and RTR (case 1318876). +- Changed the behavior of the clear coat and SSR/RTR for the stack lit to mimic the Lit's behavior (case 1320154). ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-1.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-1.png new file mode 100644 index 00000000000..9d159348ae2 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-1.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b1035954b351a7916119680ab2d8e7a4e7a677fe6c846080da7302e02eac5589 +size 438523 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-2.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-2.png new file mode 100644 index 00000000000..a029109ea6e --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-2.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59eb2fef40e3befac4c1b97544c7ba54a915c547e9d9671a5be2f5c53550cb3e +size 441151 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-3.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-3.png new file mode 100644 index 00000000000..38926c36914 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/ray-traced-reflection-clear-coat-3.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:2038fec19953ec4dbe91001fb1a402fac4bd98a110c616dcf9cb82e1e6160489 +size 388795 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Reflections.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Reflections.md index eefae587eba..868db72652a 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Reflections.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Reflections.md @@ -19,6 +19,29 @@ Because this feature replaces the [Screen Space Reflection](Override-Screen-Spac 1. In the Frame Settings for your Cameras, enable **Ray Tracing**. 2. Select the [Screen Space Reflection](Override-Screen-Space-Reflection.md) override and, in the Inspector, enable **Ray Tracing**. If you do not see a **Ray Tracing** option, make sure your HDRP Project supports ray tracing. For information on setting up ray tracing in HDRP, see [Getting started with ray tracing](Ray-Tracing-Getting-Started.md). +### Ray Traced Reflection with Lit Shader Clear Coat + +A clear coat simulates a thin transparent layer on top of the material. It is particularly useful for materials with a thin translucent layer over a base layer. Real world examples of such materials include car paints, soda cans, lacquered wood, and acrylic. + +If you use a [Lit material](Lit-Shader.md) with Ray Traced Reflection, HDRP uses ray tracing + + to render indirect specular reflection for the base layer (if that material's **Smoothness** is above the minimal smoothness specified in the override). + +If the material's **Coat Mask** value is greater than zero, HDRP uses ray tracing only for the transparent smooth clear coat specular reflection. The specular reflection of the base layer of the material falls back to the next reflection method in the [reflection hierarchy](Reflection-in-HDRP.md#reflection-hierarchy). + +The same principle applies to the [StackLit Shader Graph](master-stack-stacklit.md) when you enable **Coat**. + +For an example of a 75% smooth Lit material with different **Coat Mask** values, see the following images: + +![](Images/ray-traced-reflection-clear-coat-1.png) +*A Lit material with a Coat Mask value of 0.* + +![](Images/ray-traced-reflection-clear-coat-2.png) +*A Lit material with a Coat Mask value of 0.1.* + +![](Images/ray-traced-reflection-clear-coat-3.png) +*A Lit material with a Coat Mask value of 1.0.* + ## Properties HDRP implements ray-traced reflection on top of the Screen Space Reflection override. For information on the properties that control this effect, see [Ray-traced properties](Override-Screen-Space-Reflection.md#ray-traced). diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl index 8fc93c2e4ee..30d4de4ecf6 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl @@ -628,8 +628,11 @@ NormalData ConvertSurfaceDataToNormalData(SurfaceData surfaceData) // as it is the most dominant one if (HasFlag(surfaceData.materialFeatures, MATERIALFEATUREFLAGS_STACK_LIT_COAT)) { - normalData.normalWS = surfaceData.coatNormalWS; - normalData.perceptualRoughness = PerceptualSmoothnessToPerceptualRoughness(surfaceData.coatPerceptualSmoothness); + float hasCoat = saturate(surfaceData.coatMask * FLT_MAX); + normalData.normalWS = lerp(surfaceData.coatNormalWS, surfaceData.normalWS, hasCoat); + normalData.perceptualRoughness = PerceptualSmoothnessToPerceptualRoughness(lerp(lerp(surfaceData.perceptualSmoothnessA, surfaceData.perceptualSmoothnessB, surfaceData.lobeMix), + surfaceData.coatPerceptualSmoothness, + hasCoat)); } else { @@ -4208,18 +4211,31 @@ IndirectLighting EvaluateBSDF_ScreenSpaceReflection(PositionInputs posInput, // if the coat exist, ConvertSurfaceDataToNormalData will output the roughness of the coat and we don't need // a boost of sharp reflections from a potentially rough bottom layer. - float3 reflectanceFactor = (float3)0.0; - - if (IsVLayeredEnabled(bsdfData)) + if (HasFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_STACK_LIT_COAT)) { - reflectanceFactor = preLightData.specularFGD[COAT_LOBE_IDX]; - reflectanceFactor *= preLightData.hemiSpecularOcclusion[COAT_LOBE_IDX]; // TODOENERGY: If vlayered, should be done in ComputeAdding with FGD formulation for non dirac lights. // Incorrect, but for now: - reflectanceFactor *= preLightData.energyCompensationFactor[COAT_LOBE_IDX]; + float3 reflectanceFactorC = preLightData.specularFGD[COAT_LOBE_IDX]; + reflectanceFactorC *= preLightData.hemiSpecularOcclusion[COAT_LOBE_IDX]; + reflectanceFactorC *= preLightData.energyCompensationFactor[COAT_LOBE_IDX]; + + float3 reflectanceFactorB = (float3)0.0; + for(int i = 0; i < TOTAL_NB_LOBES; i++) + { + float3 lobeFactor = preLightData.specularFGD[i]; // note: includes the lobeMix factor, see PreLightData. + lobeFactor *= preLightData.hemiSpecularOcclusion[i]; + // TODOENERGY: If vlayered, should be done in ComputeAdding with FGD formulation for non dirac lights. + // Incorrect, but for now: + lobeFactor *= preLightData.energyCompensationFactor[i]; + reflectanceFactorB += lobeFactor; + } + + lighting.specularReflected = ssrLighting.rgb * lerp(reflectanceFactorB, reflectanceFactorC, bsdfData.coatMask); + reflectionHierarchyWeight = lerp(ssrLighting.a, ssrLighting.a * reflectanceFactorC, bsdfData.coatMask); } else { + float3 reflectanceFactor = (float3)0.0; for(int i = 0; i < TOTAL_NB_LOBES; i++) { float3 lobeFactor = preLightData.specularFGD[i]; // note: includes the lobeMix factor, see PreLightData. @@ -4229,12 +4245,11 @@ IndirectLighting EvaluateBSDF_ScreenSpaceReflection(PositionInputs posInput, lobeFactor *= preLightData.energyCompensationFactor[i]; reflectanceFactor += lobeFactor; } + // Note: RGB is already premultiplied by A. + lighting.specularReflected = ssrLighting.rgb * reflectanceFactor; + reflectionHierarchyWeight = ssrLighting.a; } - // Note: RGB is already premultiplied by A. - lighting.specularReflected = ssrLighting.rgb * reflectanceFactor; - reflectionHierarchyWeight = ssrLighting.a; - return lighting; } From b7f5bb59c0e75c56dbb71ed01919a93ba1c2a671 Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Wed, 17 Mar 2021 13:10:37 +0100 Subject: [PATCH 112/148] Fix warning for ShadowLoop (#3885) * Fix warning and changelog * Fix formating * Remove unused variable * Unused variable Co-authored-by: SoufianeKHIAT --- .../CHANGELOG.md | 1 + .../Lighting/LightLoop/HDShadowLoop.hlsl | 19 ++++++++++++------- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index ecd6d928cfa..b25d1bc8291 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -107,6 +107,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed error message when having MSAA and Screen Space Shadows (case 1318698). - Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139). - Fixed Tube and Disc lights mode selection (case 1317776) +- Fixed warning fixed on ShadowLoop include (HDRISky and Unlit+ShadowMatte) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadowLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadowLoop.hlsl index f3f48126d52..9d2d99f83eb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadowLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/HDShadowLoop.hlsl @@ -4,11 +4,16 @@ //#define SHADOW_LOOP_MULTIPLY //#define SHADOW_LOOP_AVERAGE +#if defined(SHADOW_LOOP_MULTIPLY) || defined(SHADOW_LOOP_AVERAGE) +#define SHADOW_LOOP_WEIGHT +#endif + void ShadowLoopMin(HDShadowContext shadowContext, PositionInputs posInput, float3 normalWS, uint featureFlags, uint renderLayer, out float3 shadow) { - float weight = 0.0f; +#ifdef SHADOW_LOOP_WEIGHT float shadowCount = 0.0f; +#endif #ifdef SHADOW_LOOP_MULTIPLY shadow = float3(1, 1, 1); @@ -59,8 +64,9 @@ void ShadowLoopMin(HDShadowContext shadowContext, PositionInputs posInput, float #else shadow = min(shadow, shadowD.SHADOW_TYPE_SWIZZLE); #endif +#ifdef SHADOW_LOOP_WEIGHT shadowCount += 1.0f; - weight += 1.0f - shadowD; +#endif } } } @@ -142,8 +148,9 @@ void ShadowLoopMin(HDShadowContext shadowContext, PositionInputs posInput, float #else shadow = min(shadow, shadowP.xxx); #endif +#ifdef SHADOW_LOOP_WEIGHT shadowCount += 1.0f; - weight += 1.0f - shadowP; +#endif } } } @@ -222,8 +229,9 @@ void ShadowLoopMin(HDShadowContext shadowContext, PositionInputs posInput, float #else shadow = min(shadow, shadowA.xxx); #endif +#ifdef SHADOW_LOOP_WEIGHT shadowCount += 1.0f; - weight += 1.0f - shadowA; +#endif } } @@ -245,9 +253,6 @@ void ShadowLoopMin(HDShadowContext shadowContext, PositionInputs posInput, float { shadow = float3(1, 1, 1); } -#else - //shadow = (1.0f - saturate(shadowCount)).xxx; - //shadow = (1.0f - saturate(weight)).xxx; #endif } From 1a0a200d4dea2846d4db892d171303144c27f083 Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Wed, 17 Mar 2021 13:13:47 +0100 Subject: [PATCH 113/148] Fix SSR for 4K Render Target (#3874) * Fix SSR for 4K (tested on volumetric cloud demo) * Add ChangeLog Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index b25d1bc8291..f7bf943019e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -108,6 +108,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed Nans happening when the history render target is bigger than the current viewport (case 1321139). - Fixed Tube and Disc lights mode selection (case 1317776) - Fixed warning fixed on ShadowLoop include (HDRISky and Unlit+ShadowMatte) +- Fixed SSR Precision for 4K Screens ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute index 7c6c7d625f8..59b248826a0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceReflections.compute @@ -19,7 +19,7 @@ #ifndef SSR_APPROX #define SAMPLES_VNDF #endif -#define SSR_TRACE_EPS 0.00024414 // 2^-12, should be good up to 4K +#define SSR_TRACE_EPS 0.000488281f // 2^-11, should be good up to 4K #define MIN_GGX_ROUGHNESS 0.00001f #define MAX_GGX_ROUGHNESS 0.99999f From 0da3bee3ba679643a76a61b26c34ed6adaceef9a Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Wed, 17 Mar 2021 16:41:04 +0100 Subject: [PATCH 114/148] Fix GBuffer debug view when using virtual texturing (#3880) * Fix gbuffer debug view * changelog Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Runtime/RenderPipeline/HDRenderPipeline.Debug.cs | 10 +++++++++- .../Runtime/RenderPipeline/HDRenderPipeline.Prepass.cs | 9 +++++++++ .../RenderPipeline/HDRenderPipeline.RenderGraph.cs | 2 +- 4 files changed, 20 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f7bf943019e..af9ed9c5bc9 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -109,6 +109,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed Tube and Disc lights mode selection (case 1317776) - Fixed warning fixed on ShadowLoop include (HDRISky and Unlit+ShadowMatte) - Fixed SSR Precision for 4K Screens +- Fixed issue with gbuffer debug view when virtual texturing is enabled. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs index 3f559e96b4d..93f8c03a51b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.Debug.cs @@ -1038,13 +1038,14 @@ class DebugViewMaterialData public bool decalsEnabled; public ComputeBufferHandle perVoxelOffset; public DBufferOutput dbuffer; + public GBufferOutput gbuffer; public Texture clearColorTexture; public RenderTexture clearDepthTexture; public bool clearDepth; } - TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cull, HDCamera hdCamera, BuildGPULightListOutput lightLists, DBufferOutput dbuffer) + TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cull, HDCamera hdCamera, BuildGPULightListOutput lightLists, DBufferOutput dbuffer, GBufferOutput gbuffer) { bool msaa = hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA); @@ -1066,10 +1067,17 @@ TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cu { passData.debugGBufferMaterial = m_currentDebugViewMaterialGBuffer; passData.outputColor = builder.WriteTexture(output); + passData.gbuffer = ReadGBuffer(gbuffer, builder); builder.SetRenderFunc( (DebugViewMaterialData data, RenderGraphContext context) => { + var gbufferHandles = data.gbuffer; + for (int i = 0; i < gbufferHandles.gBufferCount; ++i) + { + data.debugGBufferMaterial.SetTexture(HDShaderIDs._GBufferTexture[i], gbufferHandles.mrt[i]); + } + HDUtils.DrawFullScreen(context.cmd, data.debugGBufferMaterial, data.outputColor); }); } 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 4189df1a132..e97e7ea8a21 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 @@ -627,6 +627,15 @@ static void BindDBufferGlobalData(in DBufferOutput dBufferOutput, in RenderGraph ctx.cmd.SetGlobalTexture(HDShaderIDs._DBufferTexture[i], dBufferOutput.mrt[i]); } + static GBufferOutput ReadGBuffer(GBufferOutput gBufferOutput, RenderGraphBuilder builder) + { + // We do the reads "in place" because we don't want to allocate a struct with dynamic arrays each time we do that and we want to keep loops for code sanity. + for (int i = 0; i < gBufferOutput.gBufferCount; ++i) + gBufferOutput.mrt[i] = builder.ReadTexture(gBufferOutput.mrt[i]); + + return gBufferOutput; + } + // RenderGBuffer do the gbuffer pass. This is only called with deferred. If we use a depth prepass, then the depth prepass will perform the alpha testing for opaque alpha tested and we don't need to do it anymore // during Gbuffer pass. This is handled in the shader and the depth test (equal and no depth write) is done here. void RenderGBuffer(RenderGraph renderGraph, TextureHandle sssBuffer, TextureHandle vtFeedbackBuffer, ref PrepassOutput prepassOutput, CullingResults cull, HDCamera hdCamera) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs index 521957e325b..12780ea0bd8 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraph.cs @@ -104,7 +104,7 @@ void ExecuteWithRenderGraph(RenderRequest renderRequest, // Stop Single Pass is after post process. StartXRSinglePass(m_RenderGraph, hdCamera); - colorBuffer = RenderDebugViewMaterial(m_RenderGraph, cullingResults, hdCamera, gpuLightListOutput, prepassOutput.dbuffer); + colorBuffer = RenderDebugViewMaterial(m_RenderGraph, cullingResults, hdCamera, gpuLightListOutput, prepassOutput.dbuffer, prepassOutput.gbuffer); colorBuffer = ResolveMSAAColor(m_RenderGraph, hdCamera, colorBuffer); } else if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && From 52f065f7d8e4d56a8eb47e95ff804b076bb1a9e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jarkko=20Lempi=C3=A4inen?= <79095390+JarkkoUnity@users.noreply.github.com> Date: Wed, 17 Mar 2021 22:15:21 +0200 Subject: [PATCH 115/148] Bugfix 1319005: Fix fog noise issues (#3891) * Fix fog noise issues * Code comment + changelog update * Proper fix for near-plane issue * Updated reference images Co-authored-by: Sebastien Lagarde --- .../Vulkan/None/2008_Light_Volumetrics.png | 4 ++-- .../Vulkan/None/5008_FogFiltering.png | 4 ++-- .../Metal/None/2008_Light_Volumetrics.png | 4 ++-- .../Metal/None/5008_FogFiltering.png | 4 ++-- .../None/2008_Light_Volumetrics.png | 4 ++-- .../Direct3D11/None/5008_FogFiltering.png | 4 ++-- .../None/2008_Light_Volumetrics.png | 4 ++-- .../Direct3D12/None/5008_FogFiltering.png | 4 ++-- .../Vulkan/None/2008_Light_Volumetrics.png | 4 ++-- .../Vulkan/None/5008_FogFiltering.png | 4 ++-- .../CHANGELOG.md | 1 + .../VolumetricLighting.compute | 19 ++++++++++++++----- 12 files changed, 35 insertions(+), 25 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2008_Light_Volumetrics.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2008_Light_Volumetrics.png index 28f6e7a1265..a82892a2763 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2008_Light_Volumetrics.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2008_Light_Volumetrics.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acedea51914670a28e3fe347590060e035e0529569c96c562fbe9fac932b74c1 -size 78768 +oid sha256:31db0f115f604d01ad073122a4b5831ea7849473e680a09ae271f304f403b9ed +size 79037 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/5008_FogFiltering.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/5008_FogFiltering.png index 1a9ee56ac1d..d183bc25dee 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/5008_FogFiltering.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/5008_FogFiltering.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb45512edf534dfdf2d93fb58a28e07ba08136828148cdcf8b345e4884351db0 -size 150774 +oid sha256:c594767bd80bbbc999a66c763a6eb77ab0e24b3ef43482416ddfe25cf222d0de +size 135419 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2008_Light_Volumetrics.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2008_Light_Volumetrics.png index 285f1803f08..3554d3e6a68 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2008_Light_Volumetrics.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2008_Light_Volumetrics.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:68724272add5feb7e6e8787634ac56109857b3d4534d6bbc7070d86bece45d76 -size 77168 +oid sha256:6c634aabe4e6a4556ba75af563ac5a14764f2264ecf8c13d38443fee7029ccaf +size 77748 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 b287e5edb01..3f64294017a 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:a71d3660c4bb62cb84418b98474bf8bf82ed5803ebb43e7b081b8bddf5e076f7 -size 127491 +oid sha256:9c44df7048b617c72951122957fd33d611104d677f50df065301092a7ca3a706 +size 131077 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2008_Light_Volumetrics.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2008_Light_Volumetrics.png index 28f6e7a1265..ae6fbaeea6f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2008_Light_Volumetrics.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2008_Light_Volumetrics.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acedea51914670a28e3fe347590060e035e0529569c96c562fbe9fac932b74c1 -size 78768 +oid sha256:989e9f5947a44f90d175ce9764df71de734336ad5d6b37e7b587662feeac2307 +size 79005 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5008_FogFiltering.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5008_FogFiltering.png index aa8cdc32900..41bf24e8ab8 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5008_FogFiltering.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/5008_FogFiltering.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3aeb1224113d31d041a8ac8f629f87117efa56df9ee73dbe3df16f75f1b7948a -size 132378 +oid sha256:60a7df7594d8fa39a4e693ee243db91b770218f09f2727404d92e634f4919e8c +size 135541 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2008_Light_Volumetrics.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2008_Light_Volumetrics.png index 28f6e7a1265..8b68b5d8756 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2008_Light_Volumetrics.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2008_Light_Volumetrics.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:acedea51914670a28e3fe347590060e035e0529569c96c562fbe9fac932b74c1 -size 78768 +oid sha256:1a88a801a63ccafae0de8be58be1a108ec3269ab022cfcac59674e60fff44157 +size 79002 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 aa8cdc32900..d56ab04d290 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:3aeb1224113d31d041a8ac8f629f87117efa56df9ee73dbe3df16f75f1b7948a -size 132378 +oid sha256:918f199b272315f052f25eb536aa93dad33a72454105104e7845b82ab0fb79ed +size 135470 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2008_Light_Volumetrics.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2008_Light_Volumetrics.png index deddd158657..a82892a2763 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2008_Light_Volumetrics.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2008_Light_Volumetrics.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9230e827288ce0c750a3ecd95048819c999b82cfde786bbc4fe35a4729e300ab -size 78768 +oid sha256:31db0f115f604d01ad073122a4b5831ea7849473e680a09ae271f304f403b9ed +size 79037 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/5008_FogFiltering.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/5008_FogFiltering.png index 1a9ee56ac1d..fb610b18e93 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/5008_FogFiltering.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/5008_FogFiltering.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:eb45512edf534dfdf2d93fb58a28e07ba08136828148cdcf8b345e4884351db0 -size 150774 +oid sha256:d57758fa09236902f666022a80a8ec070fa1c9f4d9bda7b453bc24854752c275 +size 135424 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index af9ed9c5bc9..e25d9ad928b 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -110,6 +110,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed warning fixed on ShadowLoop include (HDRISky and Unlit+ShadowMatte) - Fixed SSR Precision for 4K Screens - Fixed issue with gbuffer debug view when virtual texturing is enabled. +- Fixed volumetric fog noise due to sun light leaking (case 1319005) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard 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 ab603545276..47c5d0ef3dc 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 @@ -496,7 +496,7 @@ float3 EvaluateVoxelDiffuseGI(PositionInputs posInput, JitteredRay ray, float t0 // Computes the in-scattered radiance along the ray. void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, - PositionInputs posInput, uint tileIndex, int groupIdx, JitteredRay ray) + PositionInputs posInput, uint tileIndex, int groupIdx, JitteredRay ray, float tStart) { uint lightCount, lightStart; @@ -548,7 +548,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, #endif // USE_BIG_TILE_LIGHTLIST - float t0 = DecodeLogarithmicDepthGeneralized(0, _VBufferDistanceDecodingParams); + float t0 = max(tStart, DecodeLogarithmicDepthGeneralized(0, _VBufferDistanceDecodingParams)); float de = _VBufferRcpSliceCount; // Log-encoded distance between slices // The contribution of the ambient probe does not depend on the position, @@ -566,7 +566,7 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, uint3 voxelCoord = uint3(posInput.positionSS, slice + _VBufferSliceCount * unity_StereoEyeIndex); float e1 = slice * de + de; // (slice + 1) / sliceCount - float t1 = DecodeLogarithmicDepthGeneralized(e1, _VBufferDistanceDecodingParams); + float t1 = max(tStart, DecodeLogarithmicDepthGeneralized(e1, _VBufferDistanceDecodingParams)); float tNext = t1; #if USE_DEPTH_BUFFER @@ -581,8 +581,16 @@ void FillVolumetricLightingBuffer(LightLoopContext context, uint featureFlags, t1 = max(t0 * 1.0001, ray.geomDist); } #endif - float dt = t1 - t0; // Is geometry-aware + if(dt <= 0.0) + { + _VBufferLighting[voxelCoord] = 0; +#ifdef ENABLE_REPROJECTION + _VBufferFeedback[voxelCoord] = 0; +#endif + t0 = t1; + continue; + } // 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. @@ -816,6 +824,7 @@ void VolumetricLighting(uint3 dispatchThreadId : SV_DispatchThreadID, ray.jitterDirWS = normalize(ray.centerDirWS + sampleOffset.x * ray.xDirDerivWS + sampleOffset.y * ray.yDirDerivWS); + float tStart = g_fNearPlane / dot(ray.jitterDirWS, F); // 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 @@ -864,5 +873,5 @@ void VolumetricLighting(uint3 dispatchThreadId : SV_DispatchThreadID, ApplyCameraRelativeXR(ray.originWS); - FillVolumetricLightingBuffer(context, featureFlags, posInput, tileIndex, groupIndex, ray); + FillVolumetricLightingBuffer(context, featureFlags, posInput, tileIndex, groupIndex, ray, tStart); } From b9714097c8f4d9d5a81466de86e313b817b698f2 Mon Sep 17 00:00:00 2001 From: John Parsaie Date: Thu, 18 Mar 2021 07:36:53 -0400 Subject: [PATCH 116/148] Fix Decal Normal Blending NaN (Case #1317162) (#3883) * Apply the nan guard fix * Changelog * Move the epsilon onto the same line * Remove the nan fix via normal blend weight epsilon * Suppress the nan via safe normalize for the zero length normal Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Material/Fabric/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Material/StackLit/ShaderGraph/ShaderPass.template.hlsl | 2 +- .../Runtime/Material/AxF/AxFData.hlsl | 4 ++-- .../Runtime/Material/Decal/Decal.hlsl | 1 + .../Runtime/Material/Lit/LitDecalData.hlsl | 2 +- 8 files changed, 9 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index e25d9ad928b..4b2d6891924 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -111,6 +111,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed SSR Precision for 4K Screens - Fixed issue with gbuffer debug view when virtual texturing is enabled. - Fixed volumetric fog noise due to sun light leaking (case 1319005) +- Fixed an issue with Decal normal blending producing NaNs. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl index 292399ba400..71a718bec55 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/ShaderPass.template.hlsl @@ -6,7 +6,7 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal // Always test the normal as we can have decompression artifact if (decalSurfaceData.normalWS.w < 1.0) { - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } #ifdef DECALS_4RT // only smoothness in 3RT mode diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl index 2d6ca2f1276..42941cc4ef0 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Fabric/ShaderGraph/ShaderPass.template.hlsl @@ -6,7 +6,7 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal // Always test the normal as we can have decompression artifact if (decalSurfaceData.normalWS.w < 1.0) { - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } #ifdef DECALS_4RT // only smoothness in 3RT mode diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl index 69cdc4c59a6..c3888a372d1 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Hair/ShaderGraph/ShaderPass.template.hlsl @@ -6,7 +6,7 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal // Always test the normal as we can have decompression artifact if (decalSurfaceData.normalWS.w < 1.0) { - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } #ifdef DECALS_4RT // only smoothness in 3RT mode diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl index 6f70d6ec3e6..60a14ce2a3a 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/ShaderPass.template.hlsl @@ -6,7 +6,7 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal // Always test the normal as we can have decompression artifact if (decalSurfaceData.normalWS.w < 1.0) { - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } // TODOTODO: _MATERIAL_FEATURE_SPECULAR_COLOR and _MATERIAL_FEATURE_HAZY_GLOSS diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl index 108f7d376c8..d785529bf9d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/AxF/AxFData.hlsl @@ -537,8 +537,8 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal if (decalSurfaceData.normalWS.w < 1.0) { // Affect both normal and clearcoat normal - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); - surfaceData.clearcoatNormalWS = normalize(surfaceData.clearcoatNormalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.clearcoatNormalWS = SafeNormalize(surfaceData.clearcoatNormalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } #ifdef DECALS_4RT // only smoothness in 3RT mode diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl index 6d5bc6229f4..619fa2d5132 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl @@ -82,6 +82,7 @@ void DecodeFromDBuffer( // Range goes from -0.99607 to 1.0039 surfaceData.normalWS.xyz = inDBuffer1.xyz * 2.0 - (254.0 / 255.0); surfaceData.normalWS.w = inDBuffer1.w; + surfaceData.mask = inDBuffer2; #ifdef DECALS_4RT surfaceData.MAOSBlend = inDBuffer3; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl index 2ec0165034d..af6e087cf2a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitDecalData.hlsl @@ -8,7 +8,7 @@ void ApplyDecalToSurfaceData(DecalSurfaceData decalSurfaceData, float3 vtxNormal // Always test the normal as we can have decompression artifact if (decalSurfaceData.normalWS.w < 1.0) { - surfaceData.normalWS.xyz = normalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); + surfaceData.normalWS.xyz = SafeNormalize(surfaceData.normalWS.xyz * decalSurfaceData.normalWS.w + decalSurfaceData.normalWS.xyz); } #ifdef DECALS_4RT // only smoothness in 3RT mode From 6356cb4a301a630f1e1c05fd09a3587953fec524 Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Thu, 18 Mar 2021 12:42:11 +0100 Subject: [PATCH 117/148] Fixed issue in wizard when resource folder not exist (#3907) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Wizard/HDWizard.Configuration.cs | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4b2d6891924..624d7ef4d1a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -112,6 +112,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with gbuffer debug view when virtual texturing is enabled. - Fixed volumetric fog noise due to sun light leaking (case 1319005) - Fixed an issue with Decal normal blending producing NaNs. +- Fixed issue in wizard when resource folder don't exist ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs index 016d989bc4d..c3d7ad50076 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Wizard/HDWizard.Configuration.cs @@ -465,6 +465,9 @@ void FixHdrpAssetDiffusionProfile(bool fromAsyncUnused) var defaultAssetList = hdrpAsset.renderPipelineEditorResources.defaultDiffusionProfileSettingsList; hdrpAsset.diffusionProfileSettingsList = new DiffusionProfileSettings[0]; // clear the diffusion profile list + if (!AssetDatabase.IsValidFolder("Assets/" + HDProjectSettings.projectSettingsFolderPath)) + AssetDatabase.CreateFolder("Assets", HDProjectSettings.projectSettingsFolderPath); + foreach (var diffusionProfileAsset in defaultAssetList) { string defaultDiffusionProfileSettingsPath = "Assets/" + HDProjectSettings.projectSettingsFolderPath + "/" + diffusionProfileAsset.name + ".asset"; @@ -500,6 +503,9 @@ void FixDefaultVolumeProfileAssigned(bool fromAsyncUnused) VolumeProfile defaultSettingsVolumeProfileInPackage = hdrpAsset.renderPipelineEditorResources.defaultSettingsVolumeProfile; string defaultSettingsVolumeProfilePath = "Assets/" + HDProjectSettings.projectSettingsFolderPath + '/' + defaultSettingsVolumeProfileInPackage.name + ".asset"; + if (!AssetDatabase.IsValidFolder("Assets/" + HDProjectSettings.projectSettingsFolderPath)) + AssetDatabase.CreateFolder("Assets", HDProjectSettings.projectSettingsFolderPath); + //try load one if one already exist VolumeProfile defaultSettingsVolumeProfile = AssetDatabase.LoadAssetAtPath(defaultSettingsVolumeProfilePath); if (defaultSettingsVolumeProfile == null || defaultSettingsVolumeProfile.Equals(null)) From d5dda1b287385a33e5835d4604a8429a384f0ad3 Mon Sep 17 00:00:00 2001 From: Adrian1066 <44636759+Adrian1066@users.noreply.github.com> Date: Fri, 19 Mar 2021 16:55:08 +0000 Subject: [PATCH 118/148] Fix for Xbox device types in SubSurfaceScattering (#3942) * [CI] Updated pinned editor versions * Fix for Xbox device types in SubSurfaceScattering Co-authored-by: noreply@unity3d.com --- .../RenderPipeline/HDRenderPipeline.SubsurfaceScattering.cs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.SubsurfaceScattering.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.SubsurfaceScattering.cs index f56376615f8..54d31fd1154 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.SubsurfaceScattering.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.SubsurfaceScattering.cs @@ -155,7 +155,9 @@ static bool NeedTemporarySubsurfaceBuffer() return (SystemInfo.graphicsDeviceType != GraphicsDeviceType.PlayStation4 && SystemInfo.graphicsDeviceType != GraphicsDeviceType.PlayStation5 && SystemInfo.graphicsDeviceType != GraphicsDeviceType.XboxOne && - SystemInfo.graphicsDeviceType != GraphicsDeviceType.XboxOneD3D12); + SystemInfo.graphicsDeviceType != GraphicsDeviceType.XboxOneD3D12 && + SystemInfo.graphicsDeviceType != GraphicsDeviceType.GameCoreXboxOne && + SystemInfo.graphicsDeviceType != GraphicsDeviceType.GameCoreXboxSeries); } // Albedo + SSS Profile and mask / Specular occlusion (when no SSS) From 6c7f87f17cea7a7ca9aff74176b0e2f850760203 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Mon, 22 Mar 2021 12:14:09 +0100 Subject: [PATCH 119/148] Fixed issue with Decal projector edge on Metal (case 1286074) (#3941) --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 2 ++ .../Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl | 5 +---- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index cf1866facc3..6dc36496178 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -116,6 +116,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed volumetric fog noise due to sun light leaking (case 1319005) - Fixed an issue with Decal normal blending producing NaNs. - Fixed issue in wizard when resource folder don't exist +- Fixed issue with Decal projector edge on Metal (case 1286074) ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard @@ -171,6 +172,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - HDRP Global Settings are now saved into their own asset (HDRenderPipelineGlobalSettings) and HDRenderPipeline's default asset refers to this new asset. - Improved physically based Depth of Field with better near defocus blur quality. - Changed the behavior of the clear coat and SSR/RTR for the stack lit to mimic the Lit's behavior (case 1320154). +- The default LookDev volume profile is now copied and referened in the Asset folder instead of the package folder. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl index 1dc009239e5..77185a4f72a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDecal.hlsl @@ -100,8 +100,7 @@ void Frag( PackedVaryingsToPS packedInput, // edges of the projection(any partial quads get bad partial derivatives //regardless of whether they are computed implicitly or explicitly). ZERO_INITIALIZE(DecalSurfaceData, surfaceData); // Require to quiet compiler warning with Metal - if (clipValue > 0.0) - { + // Note we can't used dynamic branching here to avoid to pay the cost of texture fetch otherwise we need to calculate derivatives ourselves. #endif input.texCoord0.xy = positionDS.xz; input.texCoord1.xy = positionDS.xz; @@ -145,8 +144,6 @@ void Frag( PackedVaryingsToPS packedInput, GetSurfaceData(input, V, posInput, angleFadeFactor, surfaceData); #if ((SHADERPASS == SHADERPASS_DBUFFER_PROJECTOR) || (SHADERPASS == SHADERPASS_FORWARD_EMISSIVE_PROJECTOR)) && defined(SHADER_API_METAL) - } // if (clipValue > 0.0) - clip(clipValue); #endif From 892a756b538a45037e1173af5e25e045da54d7c2 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Mon, 22 Mar 2021 19:53:36 +0100 Subject: [PATCH 120/148] Fix normal and update ref images. (#3928) Co-authored-by: sebastienlagarde --- .../Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png | 4 ++-- .../Direct3D12/None/5008_PathTracing_NormalMapping.png | 4 ++-- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl | 2 +- 4 files changed, 6 insertions(+), 5 deletions(-) diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png index 54d8434514f..cef90a28907 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b97808e441a588018155451600d15240c463517ec49a596c1d531a0c73d92711 -size 575084 +oid sha256:8e27b8251e0a49db0ac7d78e05cac6045b593d29a2aaf0c41dfa3470513d8ad5 +size 573961 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png index 79b3d5676c3..d1c7830d645 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:988900879c0dc8e9bb026ede6039131020e69f9e13e3eb5def73d058d596717e -size 690107 +oid sha256:fe758bbfeb12a3eab1223c4a4f69edb4bef9e77e14981d517dbdb444a1d20fb1 +size 689301 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 6dc36496178..628297f2a3f 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -173,6 +173,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Improved physically based Depth of Field with better near defocus blur quality. - Changed the behavior of the clear coat and SSR/RTR for the stack lit to mimic the Lit's behavior (case 1320154). - The default LookDev volume profile is now copied and referened in the Asset folder instead of the package folder. +- Changed normal used in path tracing to create a local light list from the geometric to the smooth shading one. ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl index ca9b6f809b6..40d9acda0d2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl @@ -101,7 +101,7 @@ void ComputeSurfaceScattering(inout PathIntersection pathIntersection : SV_RayPa #ifdef _SURFACE_TYPE_TRANSPARENT float3 lightNormal = 0.0; #else - float3 lightNormal = mtlData.bsdfData.geomNormalWS; + float3 lightNormal = mtlData.bsdfData.normalWS; #endif LightList lightList = CreateLightList(shadingPosition, lightNormal, builtinData.renderingLayers); From e803d7b96a425992bb980a862e965582201b4202 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 23 Mar 2021 19:48:52 +0100 Subject: [PATCH 121/148] Fix diffusion profile doc (#3968) --- .../Documentation~/Diffusion-Profile.md | 2 +- .../Documentation~/HDRP-Asset.md | 1 - .../Documentation~/Override-Diffusion-Profile.md | 2 +- 3 files changed, 2 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Diffusion-Profile.md b/com.unity.render-pipelines.high-definition/Documentation~/Diffusion-Profile.md index 4aa37318b71..37ab67025de 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Diffusion-Profile.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Diffusion-Profile.md @@ -4,7 +4,7 @@ The High Definition Render Pipeline (HDRP) stores most [subsurface scattering](S To create a Diffusion Profile, navigate to __Assets > Create > Rendering > HDRP Diffusion Profile__. -* To use it by default, open your HDRP Asset and, in the **Material** section, add it to the __Diffusion Profile List__. +* To use it by default, open your Project Settings and, in the **Graphics > HDRP Settings** section, add it to the __Diffusion Profile List__. * To use it in a particular [Volume](Volumes.md), select a Volume with a [Diffusion Profile Override](Override-Diffusion-Profile.md) and add it to the **Diffusion Profile List** . ## Properties diff --git a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md index 3c623f8f8ba..d96a7bbd048 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Asset.md @@ -205,7 +205,6 @@ Use these settings to enable or disable settings relating to lighting in HDRP. | **Subsurface Scattering** | Enable the checkbox to make HDRP support subsurface scattering (SSS). SSS describes light penetration of the surface of a translucent object | | **- High Quality** | Enable the checkbox to increase the SSS Sample Count and enable high quality subsurface scattering. Increasing the sample count greatly increases the performance cost of the Subsurface Scattering effect. | | **Fabric BSDF Convolution** | By default, Fabric Materials reuse the Reflection Probes that HDRP calculates for the Lit Shader (GGX BRDF). Enable the checkbox to make HDRP calculate another version of each Reflection Probe for the Fabric Shader, creating more accurate lighting effects. This increases the resource intensity because HDRP must condition two Reflection Probes instead of one. It also reduces the number of visible Reflection Probes in the current view by half because the size of the cache that stores Reflection Probe data does not change and must now store both versions of each Reflection Probe. | -| **Diffusion Profile List** | Assign __Diffusion Profiles__ to this list to store Subsurface Scattering and Transmission profiles for your Project. To create a Diffusion Profile Asset, navigate to **Assets > Create > Rendering** and click **HDRP Diffusion Profile**. | ## Post-processing diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Diffusion-Profile.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Diffusion-Profile.md index 8fa90d91515..c22b5d63e53 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Diffusion-Profile.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Diffusion-Profile.md @@ -31,4 +31,4 @@ If the Volume with the Diffusion Profile Override is local, the **Fill Profiles If multiple Volumes overlap and affect the Camera simultaneously, HDRP interpolates between multiple values for the same Volume override property in order to handle overlapping values. However, interpolating a final value for the **Diffusion Profile List** is not possible. Instead, HDRP selects the **Diffusion Profile List** from the Volume with the highest **Priority**. -There is a small performance overhead to find which Diffusion Profile a Material users. This means that the fewer Diffusion Profiles you use, the faster this process is. Rather than limit the number of Diffusion Profiles you use, you can use the **Diffusion Profile Override** to optimize the search process. If you have multiple Scenes, and each one only uses a single Diffusion Profile, you can use this override on a global Volume in each Scene to select a Diffusion Profile per Scene, instead of placing the Diffusion Profile from each Scene into the HDRP Asset. This reduces the resource intensity of the search in the Shader. This technique is particularly effective if your Scene contains a lot of overdraw to produce visual effects like foliage and vegetation. +There is a small performance overhead to find which Diffusion Profile a Material users. This means that the fewer Diffusion Profiles you use, the faster this process is. Rather than limit the number of Diffusion Profiles you use, you can use the **Diffusion Profile Override** to optimize the search process. If you have multiple Scenes, and each one only uses a single Diffusion Profile, you can use this override on a global Volume in each Scene to select a Diffusion Profile per Scene, instead of placing the Diffusion Profile from each Scene into the HDRP Graphics Settings. This reduces the resource intensity of the search in the Shader. This technique is particularly effective if your Scene contains a lot of overdraw to produce visual effects like foliage and vegetation. From f09f1cf0a80cf79dda961f84b9b31b4f2c528f03 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Tue, 23 Mar 2021 19:50:28 +0100 Subject: [PATCH 122/148] Fixed a potential issue causing the custom pass UI drawers to not render correctly when using custom properties. (#3898) --- .../CustomPass/CustomPassDrawer.cs | 16 +++------------- .../CustomPass/CustomPassVolumeEditor.cs | 1 + .../CustomPass/DrawRenderersCustomPassDrawer.cs | 11 +++-------- 3 files changed, 7 insertions(+), 21 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs index a2447a0d668..223129ffcf8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassDrawer.cs @@ -159,29 +159,19 @@ void DoCommonSettingsGUI(ref Rect rect) if ((commonPassUIFlags & PassUIFlag.TargetColorBuffer) != 0) { - EditorGUI.BeginProperty(rect, Styles.targetColorBuffer, m_TargetColorBuffer); - // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_TargetColorBuffer, Styles.targetColorBuffer); - m_TargetColorBuffer.intValue = (int)(CustomPass.TargetBuffer)EditorGUI.EnumPopup(rect, Styles.targetColorBuffer, (CustomPass.TargetBuffer)m_TargetColorBuffer.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_TargetColorBuffer, Styles.targetColorBuffer); rect.y += Styles.defaultLineSpace; } if ((commonPassUIFlags & PassUIFlag.TargetDepthBuffer) != 0) { - EditorGUI.BeginProperty(rect, Styles.targetColorBuffer, m_TargetDepthBuffer); - // EditorGUI.PropertyField(rect, m_TargetDepthBuffer, Styles.targetDepthBuffer); - m_TargetDepthBuffer.intValue = (int)(CustomPass.TargetBuffer)EditorGUI.EnumPopup(rect, Styles.targetDepthBuffer, (CustomPass.TargetBuffer)m_TargetDepthBuffer.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_TargetDepthBuffer, Styles.targetDepthBuffer); rect.y += Styles.defaultLineSpace; } if ((commonPassUIFlags & PassUIFlag.ClearFlags) != 0) { - EditorGUI.BeginProperty(rect, Styles.clearFlags, m_ClearFlags); - // EditorGUI.PropertyField(rect, m_ClearFlags, Styles.clearFlags); - m_ClearFlags.intValue = (int)(ClearFlag)EditorGUI.EnumPopup(rect, Styles.clearFlags, (ClearFlag)m_ClearFlags.intValue); - EditorGUI.EndProperty(); + EditorGUI.PropertyField(rect, m_ClearFlags, Styles.clearFlags); rect.y += Styles.defaultLineSpace; } } diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs index c166482fede..1297d2f2509 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/CustomPassVolumeEditor.cs @@ -195,6 +195,7 @@ void CreateReorderableList(SerializedProperty passList) passList.serializedObject.ApplyModifiedProperties(); var customPass = passList.GetArrayElementAtIndex(index); + customPass.managedReferenceValue = m_Volume.customPasses[index]; var drawer = GetCustomPassDrawer(customPass, m_Volume.customPasses[index], index); if (drawer != null) drawer.OnGUI(rect, customPass, null); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs index 79d7f9ba006..d730f4ce136 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/CustomPass/DrawRenderersCustomPassDrawer.cs @@ -160,9 +160,7 @@ protected override void DoPassGUI(SerializedProperty customPass, Rect rect) DoShaderPassesList(ref rect); #endif - // TODO: remove all this code when the fix for SerializedReference lands - m_SortingCriteria.intValue = (int)(SortingCriteria)EditorGUI.EnumFlagsField(rect, Styles.sortingCriteria, (SortingCriteria)m_SortingCriteria.intValue); - // EditorGUI.PropertyField(rect, m_SortingCriteria, Styles.sortingCriteria); + EditorGUI.PropertyField(rect, m_SortingCriteria, Styles.sortingCriteria); rect.y += Styles.defaultLineSpace; EditorGUI.indentLevel--; @@ -210,8 +208,7 @@ void DoFilters(ref Rect rect) EditorGUI.indentLevel++; EditorGUI.BeginProperty(rect, Styles.renderQueueFilter, m_RenderQueue); // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_RenderQueue, Styles.renderQueueFilter); - m_RenderQueue.intValue = (int)(CustomPass.RenderQueueType)EditorGUI.EnumPopup(rect, Styles.renderQueueFilter, (CustomPass.RenderQueueType)m_RenderQueue.intValue); + EditorGUI.PropertyField(rect, m_RenderQueue, Styles.renderQueueFilter); EditorGUI.EndProperty(); rect.y += Styles.defaultLineSpace; if (ShowOpaqueObjectWarning()) @@ -260,9 +257,7 @@ void DoMaterialOverride(ref Rect rect) else { EditorGUI.BeginProperty(rect, Styles.renderQueueFilter, m_RenderQueue); - // There is still a bug with SerializedReference and PropertyField so we can't use it yet - // EditorGUI.PropertyField(rect, m_ShaderPass, Styles.shaderPass); - m_ShaderPass.intValue = (int)(DrawRenderersCustomPass.ShaderPass)EditorGUI.EnumPopup(rect, Styles.shaderPass, (DrawRenderersCustomPass.ShaderPass)m_ShaderPass.intValue); + EditorGUI.PropertyField(rect, m_ShaderPass, Styles.shaderPass); EditorGUI.EndProperty(); } EditorGUI.indentLevel--; From 58db1d16f637f257cece694eafa7a43a566de275 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Wed, 24 Mar 2021 13:11:04 +0000 Subject: [PATCH 123/148] Moved the leaf example from sss to translucent (#3990) --- .../Documentation~/Material-Type.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Material-Type.md b/com.unity.render-pipelines.high-definition/Documentation~/Material-Type.md index 4f0b3442839..992f24a80df 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Material-Type.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Material-Type.md @@ -4,12 +4,12 @@ The **Material Type** property allows you to give your Material a type, which al | **Material Type** | **Description** | | ------------------------- | ------------------------------------------------------------ | -| **Subsurface Scattering** | Applies the subsurface scattering workflow to the Material. Subsurface scattering simulates the way light interacts with and penetrates translucent objects, such as skin or plant leaves. When light penetrates the surface of a subsurface scattering Material, it scatters and blurs before exiting the surface at a different point. | +| **Subsurface Scattering** | Applies the subsurface scattering workflow to the Material. Subsurface scattering simulates the way light interacts with and penetrates translucent objects, such as skin. When light penetrates the surface of a subsurface scattering Material, it scatters and blurs before exiting the surface at a different point. | | **Standard** | Applies the basic metallic Shader workflow to the Material. This is the default **Material Type**. | | **Anisotropy** | Applies the anisotropic workflow to the Material. The highlights of Anisotropic surfaces change in appearance as you view the Material from different angles. Use this **Material Type** to create Materials with anisotropic highlights. For example, brushed metal or velvet. | | **Iridescence** | Applies the Iridescence workflow to the Material. Iridescent surfaces appear to gradually change color as the angle of view or angle of illumination changes. Use this **Material Type** to create Materials like soap bubbles, iridescent metal, or insect wings. | | **Specular Color** | Applies the Specular Color workflow to the Material. Use this **Material Type** to create Materials with a coloured specular highlight. This is similar to the [built-in Specular Shader](https://docs.unity3d.com/Manual/StandardShaderMaterialParameterSpecular.html). | -| **Translucent** | Applies the Translucent workflow to the Material. Use this **Material Type**, and a thickness map, to simulate a translucent Material. In contrast to **Subsurface Scattering** Materials, **Translucent** Materials do not blur light that transmits through the Material. | +| **Translucent** | Applies the Translucent workflow to the Material. Use this **Material Type**, and a thickness map, to simulate a translucent object, such as a plant leaf. In contrast to **Subsurface Scattering** Materials, **Translucent** Materials do not blur light that transmits through the Material. | ![](Images/MaterialType1.png) From 6c9d9339705c693daae693e7ebba78e9f8313956 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 24 Mar 2021 19:24:59 +0100 Subject: [PATCH 124/148] Merge branch 'master' into hd/bugfix From 673eee8bebf4481cbb62b01b8c169d26898a5154 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Wed, 24 Mar 2021 18:27:21 +0000 Subject: [PATCH 125/148] Added rough distortion to the frame settings (#3991) Co-authored-by: Sebastien Lagarde --- .../Documentation~/Frame-Settings.md | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md b/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md index 37fd6c6f026..fe1ff211161 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Frame-Settings.md @@ -43,6 +43,7 @@ These settings determine the method that the Cameras and Reflection Probes using | - **Transparent Object Motion** | Enable the checkbox to allow HDRP to write the velocity of transparent GameObjects to the velocity buffer. To make HDRP write transparent GameObjects to the velocity buffer, you must also enable the **Transparent Writes Velocity** checkbox on each transparent Material. Enabling this feature means that effects, such as motion blur, affect transparent GameObjects. This is useful for alpha blended objects like hair. | | **Refraction** | Enable the checkbox to make HDRP process Refraction for Cameras/Reflection Probes using these Frame Settings. Refraction is when a transparent surface scatters light that passes through it. This add a resolve of ColorBuffer after the drawing of opaque materials to be use for Refraction effect during transparent pass. | | **Distortion** | Enable the checkbox to make HDRP process Distortion. Enabling this feature causes HDRP to calculate a distortion pass. This allows Meshes with transparent Materials to distort the light that enters them. | +| - **Rough Distortion** | Enable the checkbox to allow HDRP to modulate distortion based on the roughness of the material. If you enable this option, HDRP generates a color pyramid with mipmaps to process distortion. This increases the resource intensity of the distortion effect. | | **Post-process** | Enable the checkbox to make HDRP perform a Post-processing pass. Disable this feature to remove all post-processing effects from this Camera/Reflection Probe. | | - **Custom Post-process** | Enable the checkbox to allow HDRP to execute custom post processes. Disable this feature to remove all custom post-processing effects from this Camera/Reflection Probe. | | - **Stop NaN** | Enable the checkbox to allow HDRP to replace pixel values that are not a number (NaN) with black pixels for [Cameras](HDRP-Camera.md) that have **Stop NaNs** enabled. | From 3b40bff7f04d1db1b85f5244f8bae2668d55d4a1 Mon Sep 17 00:00:00 2001 From: John Parsaie Date: Wed, 24 Mar 2021 14:28:39 -0400 Subject: [PATCH 126/148] Fix Render Graph UI bug in Render Pipeline Debugger (#3992) * Fix * Changelog Co-authored-by: Sebastien Lagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Debug/DebugDisplay.cs | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3761d78b0ba..724ae9528b4 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -120,6 +120,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue in wizard when resource folder don't exist - Fixed issue with Decal projector edge on Metal (case 1286074) - Fixed Exposure Frame Settings control issues on Planar reflection probes (case 1312153). Dynamic reflections now keep their own exposure relative to their parent camera. +- Fixed Render Graph Debug UI not refreshing correctly in the Render Pipeline Debugger. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs index 02519ff8e5b..6f36fa986e0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.cs @@ -1017,7 +1017,8 @@ void RefreshDecalsDebug(DebugUI.Field field, T value) void RefreshRenderingDebug(DebugUI.Field field, T value) { - UnregisterDebugItems(k_PanelRendering, m_DebugRenderingItems); + // Explicitly invoke the render debug unregister to handle render graph items. + UnregisterRenderingDebug(); RegisterRenderingDebug(); } From b6fc4931468cddad5a994466e058f53cf8681bf9 Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Wed, 24 Mar 2021 18:28:55 +0000 Subject: [PATCH 127/148] Fixed formatting issue and reworded some bits in the motion vectors page (#3987) * Fixed image formatting * Attempted to reorder information to make it clearer * Added a more explicit note for object motion vectors --- .../Documentation~/Images/MotionVectors2.png | 3 -- .../Documentation~/Motion-Vectors.md | 39 +++++++++++-------- 2 files changed, 23 insertions(+), 19 deletions(-) delete mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/MotionVectors2.png diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/MotionVectors2.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/MotionVectors2.png deleted file mode 100644 index f09884a7516..00000000000 --- a/com.unity.render-pipelines.high-definition/Documentation~/Images/MotionVectors2.png +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:7042a3f31bec9f6665776ff8afb9ac8167eafc76bc16ed81cfffc1ad6db4b66c -size 36555 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Motion-Vectors.md b/com.unity.render-pipelines.high-definition/Documentation~/Motion-Vectors.md index f7067d9f847..59b4d0f9032 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Motion-Vectors.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Motion-Vectors.md @@ -4,33 +4,40 @@ Motion vectors capture the per-pixel, screen-space motion of GameObjects from on HDRP uses motion vectors for various effects such as [temporal anti-aliasing (TAA)](Glossary.md#TemporalAntiAliasing) and motion blur. -## Using motion vectors +HDRP calculates motion vectors in two stages: -To use motion vectors in HDRP, you must enable them: +1. HDRP first calculates object motion vectors. Object motion vectors are motion vectors that HDRP calculates based on the screen-space movement of GameObjects. +2. HDRP then calculates camera motion vectors. These are motion vectors caused by the movement of the Camera. HDRP calculates camera motion vectors for pixels that did not write motion vectors during the first stage. -1. In your Unity Project’s [HDRP Asset](HDRP-Asset.md) -2. In your [Frame Settings](Frame-Settings.md) +## Using motion vectors -In the Inspector for your HDRP Asset, navigate to the **Rendering** section and enable the **Motion Vectors** checkbox. You can then either enable motion vectors for all Cameras or on an individual, per-Camera level. To enable motion vectors for all Cameras, navigate to **Default Frame Settings For > Rendering** and enable the **Motion Vectors** checkbox. This enables Camera motion vectors. Now you can also enable the **Object Motion Vectors** checkbox. If you do this, HDRP calculates object motion vectors. If you keep this checkbox disabled, HDRP only calculates Camera motion vectors. +To use motion vectors in HDRP, you must first enable them: -HDRP calculates motion vectors in two stages: +1. In your Unity Project’s [HDRP Asset](HDRP-Asset.md): + 1. Select the HDRP Asset and view it in the Inspector window. + 2. Go to the **Rendering** section and enable **Motion Vectors**. +2. In [Frame Settings](Frame-Settings.md). You can either enable motion vectors for all Cameras or on an individual, per-Camera level. + 1. To enable motion vectors for all Cameras, open the [HDRP Default Settings](Default-Settings-Window.md) Project Settings tab (menu: **Edit** > **Project Settings** > **HDRP Default Settings**), then set **Default Frame Settings For** to **Camera**. To enable motion vectors for a particular Camera, select the Camera and, in the Inspector, enable **Custom Frame Settings**. + 3. In the **Rendering Section**, enable **Motion Vectors**. This enables camera motion vectors. + 3. To enable motion vectors for opaque GameObjects, enable **Opaque Object Motion**. To enable motion vectors for transparent GameObjects, enable **Transparent Object Motion**. -1. HDRP first calculates object motion vectors. To make a Mesh Renderer write object motion vectors, in its Inspector, go to **Additional Settings** and select **Per Object Motion** from the **Motion Vectors** drop-down. HDRP now calculates object motion vectors for this Mesh Renderer, if you enable **Object Motion Vectors** in the Frame Settings. -![](Images/MotionVectors1.png) -2. HDRP then calculates Camera motion vectors, which are caused by the movement of the Camera. This is for pixels that did not write motion vectors during the first stage. To make HDRP calculate Camera motion vectors for a Mesh Renderer, in the Inspector for the Mesh Renderer, go to **Additional Settings** and select **Camera Motion Only** from the **Motion Vectors** drop-down. -If you do not want HDRP to calculate motion vectors for a Mesh Renderer at all, in the Inspector for the Mesh Renderer, go to **Additional Settings** and select **Force No Motion** from the **Motion Vectors** drop-down. +HDRP can now render motion vectors. If you enabled object motion vectors, be aware that, by default, new Mesh Renderers write object motion vectors. To change this behavior, select the Mesh Renderer and, in the Inspector, change the value of the **Motion Vectors** property.
![](Images/MotionVectors1.png) +The options are: + +* **Camera Motion Only**: HDRP only calculates camera motion vectors for the area of the screen this GameObject fills. +* **Per Object Motion**: HDRP calculates motion vectors for this GameObject if: + * The GameObject moves and the camera does not. + * The camera moves and the GamaObject does not. + * Both the GameObject and the camera move. +* **Force No Motion**: HDRP does not calculate any motion vectors for the area of the screen this GameObject fills. ## Motion vectors for transparent objects By default, HDRP does not render motion vectors for transparent Materials. This is because motion vectors from transparent GameObjects overwrite motion vectors for GameObjects behind them. For example, a window would overwrite the motion vectors for a bird flying behind it. -To make HDRP render motion vectors for transparent Materials: - -1. In the Inspector for your HDRP Asset, go to **Default Frame Settings For > Rendering** and enable the **Transparent Writes Motion Vectors** checkbox. -2. In the Inspector for your transparent Material, go to **Surface Options** and enable the **Transparent Writes Motion Vectors** checkbox. - -![](Images/MotionVectors2.png) +To make HDRP render motion vectors for transparent Materials, see the steps in [Using motion vectors](#using-motion-vectors) and enable **Transparent Object Motion**. When transparent objects write motion vectors on a given pixel, they replace that pixel’s previous motion vectors. This is particularly useful for Materials that use alpha clipping, such as hair. + If you use motion blur in conjunction with transparent GameObjects, be aware that motion blur also uses depth information. This means that you should make the Material write depth information too. To do this, go to **Surface Options** and enable the **Transparent Depth Postpass** checkbox. From 32230ac4af6caf1307be3dd410b081be37d63b00 Mon Sep 17 00:00:00 2001 From: anisunity <42026998+anisunity@users.noreply.github.com> Date: Wed, 24 Mar 2021 20:01:46 +0100 Subject: [PATCH 128/148] Added a fallback for the ray traced directional shadow in case of a transmission (case 1307870). (#3882) * Added a fallback for the ray traced directional shadow in case of a transmission (case 1307870). * Changes requested by the review * Documented fix. Documented this bugfix in the Light Types guide section of Light-component.md. * Typo fix (whoops) * Moved fix documentation Moved documentation to the Ray-Traced-Shadows.md page. * fixing old typo Co-authored-by: Vic-Cooper Co-authored-by: Remi Chapelain --- .../HDRenderPipelineAssetDeferred.asset | 305 ++++---- .../None/717_DirectionalLightTransmission.png | 3 + .../717_DirectionalLightTransmission.png.meta | 97 +++ .../717_DirectionalLightTransmission.unity | 708 ++++++++++++++++++ ...17_DirectionalLightTransmission.unity.meta | 7 + .../ShadowData/M_OpaqueTransmission.mat | 278 +++++++ .../ShadowData/M_OpaqueTransmission.mat.meta | 8 + .../TransmissionDiffusionProfile.asset | 24 + .../TransmissionDiffusionProfile.asset.meta | 8 + .../ProjectSettings/EditorBuildSettings.asset | 3 + .../CHANGELOG.md | 1 + .../Documentation~/Light-Component.md | 6 +- .../Documentation~/Ray-Traced-Shadows.md | 6 +- .../Runtime/Lighting/LightLoop/LightLoop.cs | 6 + .../Lighting/LightLoop/LightLoop.cs.hlsl | 1 + .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 15 +- 16 files changed, 1322 insertions(+), 154 deletions(-) create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset.meta diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferred.asset b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferred.asset index a58b5678c11..8cd1608a85b 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferred.asset +++ b/TestProjects/HDRP_DXR_Tests/Assets/Common/HDRenderPipelineAssetDeferred.asset @@ -12,142 +12,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3} m_Name: HDRenderPipelineAssetDeferred m_EditorClassIdentifier: - m_Version: 17 - m_ObsoleteFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteBakedOrCustomReflectionFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 - m_ObsoleteRealtimeReflectionFrameSettings: - overrides: 0 - enableShadow: 0 - enableContactShadows: 0 - enableShadowMask: 0 - enableSSR: 0 - enableSSAO: 0 - enableSubsurfaceScattering: 0 - enableTransmission: 0 - enableAtmosphericScattering: 0 - enableVolumetrics: 0 - enableReprojectionForVolumetrics: 0 - enableLightLayers: 0 - enableExposureControl: 1 - diffuseGlobalDimmer: 0 - specularGlobalDimmer: 0 - shaderLitMode: 0 - enableDepthPrepassWithDeferredRendering: 0 - enableTransparentPrepass: 0 - enableMotionVectors: 0 - enableObjectMotionVectors: 0 - enableDecals: 0 - enableRoughRefraction: 0 - enableTransparentPostpass: 0 - enableDistortion: 0 - enablePostprocess: 0 - enableOpaqueObjects: 0 - enableTransparentObjects: 0 - enableRealtimePlanarReflection: 0 - enableMSAA: 0 - enableAsyncCompute: 0 - runLightListAsync: 0 - runSSRAsync: 0 - runSSAOAsync: 0 - runContactShadowsAsync: 0 - runVolumeVoxelizationAsync: 0 - lightLoopSettings: - overrides: 0 - enableDeferredTileAndCluster: 0 - enableComputeLightEvaluation: 0 - enableComputeLightVariants: 0 - enableComputeMaterialVariants: 0 - enableFptlForForwardOpaque: 0 - enableBigTilePrepass: 0 - isFptlEnabled: 0 m_RenderPipelineResources: {fileID: 11400000, guid: 3ce144cff5783da45aa5d4fdc2da14b7, type: 2} m_RenderPipelineRayTracingResources: {fileID: 11400000, guid: ba6e7f30e5cffc249a8bf7ee5756c196, @@ -155,13 +19,12 @@ MonoBehaviour: m_DefaultVolumeProfile: {fileID: 11400000, guid: 4414889870ba0db42b20b120a434b7f5, type: 2} m_LensAttenuation: 0 - m_UseRenderGraph: 1 m_DefaultLookDevProfile: {fileID: 11400000, guid: 254c4fe87beb7be4fa72e1681edbed02, type: 2} m_RenderingPathDefaultCameraFrameSettings: bitDatas: data1: 136268574097245 - data2: 4539628428617252872 + data2: 4539628428617252888 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 @@ -175,7 +38,7 @@ MonoBehaviour: m_RenderingPathDefaultBakedOrCustomReflectionFrameSettings: bitDatas: data1: 139713129479965 - data2: 4539628424389459976 + data2: 4539628424389459992 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 @@ -189,7 +52,7 @@ MonoBehaviour: m_RenderingPathDefaultRealtimeReflectionFrameSettings: bitDatas: data1: 140065159257885 - data2: 4539628424389459976 + data2: 4539628424389459992 lodBias: 1 lodBiasMode: 0 lodBiasQualityLevel: 0 @@ -212,6 +75,7 @@ MonoBehaviour: m_SchemaId: m_Id: With3Levels supportVolumetrics: 1 + supportVolumetricClouds: 0 supportLightLayers: 0 lightLayerName0: Light Layer default lightLayerName1: Light Layer 1 @@ -250,11 +114,10 @@ MonoBehaviour: supportDitheringCrossFade: 1 supportTerrainHole: 0 supportProbeVolume: 0 + probeVolumeMemoryBudget: 1024 + probeVolumeSHBands: 1 supportRayTracing: 1 supportedRayTracingMode: 3 - probeVolumeSettings: - atlasResolution: 128 - atlasOctahedralDepthResolution: 2048 lightLoopSettings: cookieAtlasSize: 2048 cookieFormat: 74 @@ -277,6 +140,8 @@ MonoBehaviour: maxDecalsOnScreen: 512 maxPlanarReflectionOnScreen: 16 maxLightsPerClusterCell: 8 + maxDensityVolumeSize: 32 + maxDensityVolumesOnScreen: 64 hdShadowInitParams: maxShadowRequests: 128 directionalShadowsDepthBits: 32 @@ -377,6 +242,8 @@ MonoBehaviour: AODirectionCount: 010000000200000004000000 ContactShadowSampleCount: 060000000a00000010000000 SSRMaxRaySteps: 100000002000000040000000 + SSGIRaySteps: 200000004000000080000000 + SSGIFilterRadius: 100000000e0000000c000000 RTAORayLength: - 0.5 - 3 @@ -404,10 +271,6 @@ MonoBehaviour: - 0.5 - 0.25 RTGISecondDenoise: 010101 - RTGISecondDenoiserRadius: - - 0 - - 0 - - 0 RTRMinSmoothness: - 0.6 - 0.4 @@ -424,10 +287,19 @@ MonoBehaviour: - 0.8 - 1 - 1.2 - RTRUpScaleRadius: 040000000400000003000000 RTRFullResolution: 000001 RTRDenoise: 010101 RTRDenoiserRadius: 080000000c00000010000000 + RTRSmoothDenoising: 010000 + Fog_ControlMode: 000000000000000000000000 + Fog_Budget: + - 0.166 + - 0.33 + - 0.666 + Fog_DepthRatio: + - 0.666 + - 0.666 + - 0.5 allowShaderVariantStripping: 1 enableSRPBatcher: 1 shaderVariantLogLevel: 0 @@ -444,6 +316,7 @@ MonoBehaviour: - {fileID: 11400000, guid: 57e246e5f8d6a8b4395e2070883735d5, type: 2} - {fileID: 11400000, guid: d48d38dbecb5bf44db08516376edc733, type: 2} - {fileID: 11400000, guid: b9b40238eefdcf841834c152892f8196, type: 2} + - {fileID: 11400000, guid: 458d5c32111ea5749a494da813d01275, type: 2} beforeTransparentCustomPostProcesses: [] beforeTAACustomPostProcesses: [] beforePostProcessCustomPostProcesses: [] @@ -453,3 +326,139 @@ MonoBehaviour: streamingGpuCacheSettings: - format: 0 sizeInMegaBytes: 128 + m_Version: 18 + m_ObsoleteFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteBakedOrCustomReflectionFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 + m_ObsoleteRealtimeReflectionFrameSettings: + overrides: 0 + enableShadow: 0 + enableContactShadows: 0 + enableShadowMask: 0 + enableSSR: 0 + enableSSAO: 0 + enableSubsurfaceScattering: 0 + enableTransmission: 0 + enableAtmosphericScattering: 0 + enableVolumetrics: 0 + enableReprojectionForVolumetrics: 0 + enableLightLayers: 0 + enableExposureControl: 1 + diffuseGlobalDimmer: 0 + specularGlobalDimmer: 0 + shaderLitMode: 0 + enableDepthPrepassWithDeferredRendering: 0 + enableTransparentPrepass: 0 + enableMotionVectors: 0 + enableObjectMotionVectors: 0 + enableDecals: 0 + enableRoughRefraction: 0 + enableTransparentPostpass: 0 + enableDistortion: 0 + enablePostprocess: 0 + enableOpaqueObjects: 0 + enableTransparentObjects: 0 + enableRealtimePlanarReflection: 0 + enableMSAA: 0 + enableAsyncCompute: 0 + runLightListAsync: 0 + runSSRAsync: 0 + runSSAOAsync: 0 + runContactShadowsAsync: 0 + runVolumeVoxelizationAsync: 0 + lightLoopSettings: + overrides: 0 + enableDeferredTileAndCluster: 0 + enableComputeLightEvaluation: 0 + enableComputeLightVariants: 0 + enableComputeMaterialVariants: 0 + enableFptlForForwardOpaque: 0 + enableBigTilePrepass: 0 + isFptlEnabled: 0 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png new file mode 100644 index 00000000000..f2aa7f7e75e --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:1020ddde1f446fa21c81a2d691a5b4ccc439173781b9b3f51088b8b4d283efb7 +size 73271 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png.meta new file mode 100644 index 00000000000..a461d26e0df --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/717_DirectionalLightTransmission.png.meta @@ -0,0 +1,97 @@ +fileFormatVersion: 2 +guid: 4e2d8629664078d4db743c638e9cdf94 +TextureImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 11 + mipmaps: + mipMapMode: 0 + enableMipMap: 0 + sRGBTexture: 1 + linearTexture: 0 + fadeOut: 0 + borderMipMap: 0 + mipMapsPreserveCoverage: 0 + alphaTestReferenceValue: 0.5 + mipMapFadeDistanceStart: 1 + mipMapFadeDistanceEnd: 3 + bumpmap: + convertToNormalMap: 0 + externalNormalMap: 0 + heightScale: 0.25 + normalMapFilter: 0 + isReadable: 1 + streamingMipmaps: 0 + streamingMipmapsPriority: 0 + vTOnly: 0 + grayScaleToAlpha: 0 + generateCubemap: 6 + cubemapConvolution: 0 + seamlessCubemap: 0 + textureFormat: 1 + maxTextureSize: 2048 + textureSettings: + serializedVersion: 2 + filterMode: 1 + aniso: 1 + mipBias: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + nPOTScale: 0 + lightmap: 0 + compressionQuality: 50 + spriteMode: 0 + spriteExtrude: 1 + spriteMeshType: 1 + alignment: 0 + spritePivot: {x: 0.5, y: 0.5} + spritePixelsToUnits: 100 + spriteBorder: {x: 0, y: 0, z: 0, w: 0} + spriteGenerateFallbackPhysicsShape: 1 + alphaUsage: 1 + alphaIsTransparency: 0 + spriteTessellationDetail: -1 + textureType: 0 + textureShape: 1 + singleChannelComponent: 0 + flipbookRows: 1 + flipbookColumns: 1 + maxTextureSizeSet: 0 + compressionQualitySet: 0 + textureFormatSet: 0 + ignorePngGamma: 0 + applyGammaDecoding: 0 + platformSettings: + - serializedVersion: 3 + buildTarget: DefaultTexturePlatform + maxTextureSize: 2048 + resizeAlgorithm: 0 + textureFormat: -1 + textureCompression: 0 + compressionQuality: 50 + crunchedCompression: 0 + allowsAlphaSplitting: 0 + overridden: 0 + androidETC2FallbackOverride: 0 + forceMaximumCompressionQuality_BC6H_BC7: 0 + spriteSheet: + serializedVersion: 2 + sprites: [] + outline: [] + physicsShape: [] + bones: [] + spriteID: + internalID: 0 + vertices: [] + indices: + edges: [] + weights: [] + secondaryTextures: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity new file mode 100644 index 00000000000..92efa6be81a --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity @@ -0,0 +1,708 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!29 &1 +OcclusionCullingSettings: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_OcclusionBakeSettings: + smallestOccluder: 5 + smallestHole: 0.25 + backfaceThreshold: 100 + m_SceneGUID: 00000000000000000000000000000000 + m_OcclusionCullingData: {fileID: 0} +--- !u!104 &2 +RenderSettings: + m_ObjectHideFlags: 0 + serializedVersion: 9 + m_Fog: 0 + m_FogColor: {r: 0.5, g: 0.5, b: 0.5, a: 1} + m_FogMode: 3 + m_FogDensity: 0.01 + m_LinearFogStart: 0 + m_LinearFogEnd: 300 + m_AmbientSkyColor: {r: 0.212, g: 0.227, b: 0.259, a: 1} + m_AmbientEquatorColor: {r: 0.114, g: 0.125, b: 0.133, a: 1} + m_AmbientGroundColor: {r: 0.047, g: 0.043, b: 0.035, a: 1} + m_AmbientIntensity: 1 + m_AmbientMode: 0 + m_SubtractiveShadowColor: {r: 0.42, g: 0.478, b: 0.627, a: 1} + m_SkyboxMaterial: {fileID: 0} + m_HaloStrength: 0.5 + m_FlareStrength: 1 + m_FlareFadeSpeed: 3 + m_HaloTexture: {fileID: 0} + m_SpotCookie: {fileID: 10001, guid: 0000000000000000e000000000000000, type: 0} + m_DefaultReflectionMode: 0 + m_DefaultReflectionResolution: 128 + m_ReflectionBounces: 1 + m_ReflectionIntensity: 1 + m_CustomReflection: {fileID: 0} + m_Sun: {fileID: 0} + m_IndirectSpecularColor: {r: 0, g: 0, b: 0, a: 1} + m_UseRadianceAmbientProbe: 0 +--- !u!157 &3 +LightmapSettings: + m_ObjectHideFlags: 0 + serializedVersion: 12 + m_GIWorkflowMode: 1 + m_GISettings: + serializedVersion: 2 + m_BounceScale: 1 + m_IndirectOutputScale: 1 + m_AlbedoBoost: 1 + m_EnvironmentLightingMode: 0 + m_EnableBakedLightmaps: 1 + m_EnableRealtimeLightmaps: 0 + m_LightmapEditorSettings: + serializedVersion: 12 + m_Resolution: 2 + m_BakeResolution: 40 + m_AtlasSize: 1024 + m_AO: 0 + m_AOMaxDistance: 1 + m_CompAOExponent: 1 + m_CompAOExponentDirect: 0 + m_ExtractAmbientOcclusion: 0 + m_Padding: 2 + m_LightmapParameters: {fileID: 0} + m_LightmapsBakeMode: 1 + m_TextureCompression: 1 + m_FinalGather: 0 + m_FinalGatherFiltering: 1 + m_FinalGatherRayCount: 256 + m_ReflectionCompression: 2 + m_MixedBakeMode: 2 + m_BakeBackend: 1 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 512 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 256 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 1 + m_PVRDenoiserTypeDirect: 1 + m_PVRDenoiserTypeIndirect: 1 + m_PVRDenoiserTypeAO: 1 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 1 + m_PVRCulling: 1 + m_PVRFilteringGaussRadiusDirect: 1 + m_PVRFilteringGaussRadiusIndirect: 5 + m_PVRFilteringGaussRadiusAO: 2 + m_PVRFilteringAtrousPositionSigmaDirect: 0.5 + m_PVRFilteringAtrousPositionSigmaIndirect: 2 + m_PVRFilteringAtrousPositionSigmaAO: 1 + m_ExportTrainingData: 0 + m_TrainingDataDestination: TrainingData + m_LightProbeSampleCountMultiplier: 4 + m_LightingDataAsset: {fileID: 0} + m_LightingSettings: {fileID: 0} +--- !u!196 &4 +NavMeshSettings: + serializedVersion: 2 + m_ObjectHideFlags: 0 + m_BuildSettings: + serializedVersion: 2 + agentTypeID: 0 + agentRadius: 0.5 + agentHeight: 2 + agentSlope: 45 + agentClimb: 0.4 + ledgeDropHeight: 0 + maxJumpAcrossDistance: 0 + minRegionArea: 2 + manualCellSize: 0 + cellSize: 0.16666667 + manualTileSize: 0 + tileSize: 256 + accuratePlacement: 0 + maxJobWorkers: 0 + preserveTilesOutsideBounds: 0 + debug: + m_Flags: 0 + m_NavMeshData: {fileID: 0} +--- !u!1001 &31115525 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 1132393308280272, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_Name + value: HDRP_Test_Camera + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: 0.5 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.y + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 180 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 1000 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: near clip plane + value: 0.1 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelineAsset + value: + objectReference: {fileID: 11400000, guid: 14a0f3aaa5e78a3439ec76d270471ebe, + type: 2} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: checkMemoryAllocation + value: 0 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!1 &424870423 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 424870427} + - component: {fileID: 424870426} + - component: {fileID: 424870425} + - component: {fileID: 424870424} + m_Layer: 0 + m_Name: Plane (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!64 &424870424 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424870423} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &424870425 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424870423} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 1b14afd6a65c4e54ea1808ec196447a3, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &424870426 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424870423} + m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &424870427 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 424870423} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &427000171 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 427000174} + - component: {fileID: 427000173} + - component: {fileID: 427000172} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &427000172 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 427000171} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Intensity: 0.91254795 + m_EnableSpotReflector: 1 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0.025 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 0.99 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 1 + m_InteractsWithSky: 1 + m_AngularDiameter: 10 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 1 + m_NumRayTracingSamples: 2 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 8 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.1 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 16 + m_MinFilterSize: 0.1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 0 + m_Level: 2 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 0 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!108 &427000173 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 427000171} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 0.91254795 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 1 + m_Resolution: -1 + m_CustomResolution: -1 + m_Strength: 1 + m_Bias: 0.05 + m_NormalBias: 0.4 + m_NearPlane: 0.2 + m_CullingMatrixOverride: + e00: 1 + e01: 0 + e02: 0 + e03: 0 + e10: 0 + e11: 1 + e12: 0 + e13: 0 + e20: 0 + e21: 0 + e22: 1 + e23: 0 + e30: 0 + e31: 0 + e32: 0 + e33: 1 + m_UseCullingMatrixOverride: 0 + m_Cookie: {fileID: 0} + m_DrawHalo: 0 + m_Flare: {fileID: 0} + m_RenderMode: 0 + m_CullingMask: + serializedVersion: 2 + m_Bits: 4294967295 + m_RenderingLayerMask: 1 + m_Lightmapping: 4 + m_LightShadowCasterMode: 2 + m_AreaSize: {x: 0.5, y: 0.5} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 1 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 10 +--- !u!4 &427000174 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 427000171} + m_LocalRotation: {x: 0.40821788, y: -0.23456968, z: 0.10938163, w: 0.8754261} + m_LocalPosition: {x: -0.34632424, y: 0.6943784, z: -3.69} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 50, y: -30, z: 0} +--- !u!1 &573097141 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 573097145} + - component: {fileID: 573097144} + - component: {fileID: 573097143} + - component: {fileID: 573097142} + m_Layer: 0 + m_Name: Cube + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &573097142 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 573097141} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &573097143 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 573097141} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9b2ba6a71192622429945206d1a902be, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &573097144 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 573097141} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &573097145 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 573097141} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0.212} + m_LocalScale: {x: 1, y: 1, z: 0.05} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &582172468 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 582172472} + - component: {fileID: 582172471} + - component: {fileID: 582172470} + - component: {fileID: 582172469} + m_Layer: 0 + m_Name: Cube (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!65 &582172469 +BoxCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582172468} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Size: {x: 1, y: 1, z: 1} + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &582172470 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582172468} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 9b2ba6a71192622429945206d1a902be, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &582172471 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582172468} + m_Mesh: {fileID: 10202, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &582172472 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 582172468} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 1, z: 0} + m_LocalScale: {x: 0.5, y: 1, z: 0.05} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity.meta new file mode 100644 index 00000000000..c990857185e --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/717_DirectionalLightTransmission.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: ba799739088f73744873fb5720fcddd3 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat new file mode 100644 index 00000000000..6e070117bee --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat @@ -0,0 +1,278 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: M_OpaqueTransmission + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _MATERIAL_FEATURE_TRANSMISSION _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 3.8731465 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 5 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 0.314 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0.000000012837806, g: 1.0465562e+32, b: -1.1395746e-14, + a: 1.8610732e+32} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2848747090874986145 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: aa486462e6be1764e89c788ba30e61f7, type: 3} + m_Name: + m_EditorClassIdentifier: + m_DiffusionProfileReferences: + - {fileID: 11400000, guid: 458d5c32111ea5749a494da813d01275, type: 2} + m_MaterialReferences: [] +--- !u!114 &4199369940823022338 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat.meta new file mode 100644 index 00000000000..c4560225b9a --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/M_OpaqueTransmission.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 9b2ba6a71192622429945206d1a902be +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset new file mode 100644 index 00000000000..9c91f28cffb --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset @@ -0,0 +1,24 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &11400000 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: b2686e09ec7aef44bad2843e4416f057, type: 3} + m_Name: TransmissionDiffusionProfile + m_EditorClassIdentifier: + profile: + scatteringDistance: {r: 1.2569526, g: 0.8976935, b: 0.37352836, a: 1} + transmissionTint: {r: 1, g: 1, b: 1, a: 1} + texturingMode: 0 + transmissionMode: 1 + thicknessRemap: {x: 0, y: 2.693727} + worldScale: 1 + ior: 1.053 + hash: 1081598370 + m_Version: 1 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset.meta new file mode 100644 index 00000000000..204367e8cbb --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/ShadowData/TransmissionDiffusionProfile.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 458d5c32111ea5749a494da813d01275 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset index a1c98a2d8b3..30f63a1259c 100644 --- a/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_DXR_Tests/ProjectSettings/EditorBuildSettings.asset @@ -164,6 +164,9 @@ EditorBuildSettings: - enabled: 1 path: Assets/Scenes/713_PointShadow_Matte.unity guid: 7e23108915e5705409db2943ac41fc38 + - enabled: 1 + path: Assets/Scenes/717_DirectionalLightTransmission.unity + guid: ba799739088f73744873fb5720fcddd3 - enabled: 1 path: Assets/Scenes/801_SubSurfaceScatteringDeferred.unity guid: c939ce56b901d264baab16d584624b30 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 724ae9528b4..c95a5e3e15e 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -34,6 +34,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added the support of interpolators for SV_POSITION in shader graph. - Added a "Conservative" mode for shader graph depth offset. - Added an error message when trying to use disk lights with realtime GI (case 1317808). +- Added a fallback for the ray traced directional shadow in case of a transmission (case 1307870). ### Fixed - Fixed Intensity Multiplier not affecting realtime global illumination. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Light-Component.md b/com.unity.render-pipelines.high-definition/Documentation~/Light-Component.md index e64b68bcc17..a3433ebc34f 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Light-Component.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Light-Component.md @@ -63,9 +63,9 @@ To make the Light work with the **Animation window**, when you click on the **Ad | **Type** | **Description** | | --------------- | ------------------------------------------------------------ | | **Spot** | Emits light from a specified location and range over which the light diminishes. A Spot Light constrains the light it emits to an angle, which results in a cone-shaped region of illumination. The center of the cone points in the forward direction (z-axis) of the Light GameObject. Light also diminishes at the edges of the Spot Light’s cone. Increase the **Spot Angle** to increase the width of the cone. | -| **Directional** | Creates effects that are similar to sunlight in your Scene. Like sunlight, Directional Lights are distant light sources that HDRP treats as though they are infinitely far away. A Directional Light does not have any identifiable source position, and you can place the Light GameObject anywhere in the Scene. A **Directional Light** illuminates all GameObjects in the Scene as if the Light rays are parallel and always from the same direction. The Light disregards the distance between the Light itself and the target GameObject, so the Light does not diminish with distance. | -| **Point** | Projects light out equally in all directions from a point in space. The direction of light hitting a surface is the line from the point of contact back to the center of the Light GameObject. The light intensity diminishes with increased distance from the Light, and it reaches zero at the distance specified in the **Range** field. Light intensity is inversely proportional to the square of the distance from the source. This is known as the [Inverse-square law](https://en.wikipedia.org/wiki/Inverse-square_law), and is similar to how light behaves in the real world. | -| **Area** | Projects light from a surface. Light shines in all directions uniformly from the surface of the rectangle.| +| **Directional** | Creates effects that are similar to sunlight in your Scene. Like sunlight, Directional Lights are distant light sources that HDRP treats as though they are infinitely far away. A Directional Light does not have any identifiable source position, and you can place the Light GameObject anywhere in the Scene.
A **Directional Light** illuminates all GameObjects in the Scene as if the Light rays are parallel and always from the same direction. The Light disregards the distance between the Light itself and the target GameObject, so the Light does not diminish with distance | +| **Point** | Projects light out equally in all directions from a point in space. The direction of light hitting a surface is the line from the point of contact back to the center of the Light GameObject. The light intensity diminishes with increased distance from the Light, and it reaches zero at the distance specified in the **Range** field.
Light intensity is inversely proportional to the square of the distance from the source. This is known as the [Inverse-square law](https://en.wikipedia.org/wiki/Inverse-square_law), and is similar to how light behaves in the real world. | +| **Area** | Projects light from a surface. Light shines in all directions uniformly from the surface of the rectangle. | ##### Limitations diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md index 13bac8a3757..6f514837fb1 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Traced-Shadows.md @@ -51,6 +51,8 @@ Ray-traced shadows offer an alternative to the cascade shadow map that Direction Ray-traced shadows allow for transparent and transmissive GameObjects, lit by Directional Lights, to cast colored shadows. +**Note**: When you use a Directional Light with a transmissive GameObject, HDRP displays rasterized shadows on the reverse side of the GameObject. + ![](Images/RayTracedShadows9.png) **Ray-traced Directional Light shadows with colored shadows** @@ -87,7 +89,7 @@ Ray-traced shadows offer an alternative to the shadow map that Point and Spot Li **Ray-traced Point Light shadows (radius = 0.5m)** -Ray-traced shadows offer the possibility of semi-transparent shadows for Point Lights cast by tranparent and transmissive GameObjects. +Ray-traced shadows offer the possibility of semi-transparent shadows for Point Lights cast by transparent and transmissive GameObjects. ![](Images/RayTracedShadows11.png) @@ -122,6 +124,8 @@ Ray-traced shadows offer an alternative to the [exponential variance shadow map] **Note**: When rendering in [deferred mode](Forward-And-Deferred-Rendering.md), HDRP provides accurate ray-traced area light shadows for the [Lit](Lit-Shader.md) shader. When HDRP renders for any other shader, or for the Lit shader in forward mode, it uses an approximation to calculate ray-traced shadows for area lights. This approximation is not perfectly accurate, but does produce plausible results. +When you use a Rectangle Light with a transmissive GameObject, HDRP displays rasterized shadows on the reverse side of the GameObject + ### Properties | Property | Description | diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs index 6689eb874e1..54be0cc486a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs @@ -118,6 +118,7 @@ class LightDefinitions public static uint s_MaterialFeatureMaskFlags = 0x000FFF; // don't use all bits just to be safe from signed and/or float conversions :/ // Screen space shadow flags + public static uint s_RayTracedScreenSpaceShadowFlag = 0x1000; public static uint s_ScreenSpaceColorShadowFlag = 0x100; public static uint s_InvalidScreenSpaceShadow = 0xff; public static uint s_ScreenSpaceShadowIndexMask = 0xff; @@ -1184,6 +1185,11 @@ internal void GetDirectionalLightData(CommandBuffer cmd, HDCamera hdCamera, Visi { screenSpaceShadowslot++; } + + // Raise the ray tracing flag in case the light is ray traced + if (additionalLightData.WillRenderRayTracedShadow()) + lightData.screenSpaceShadowIndex |= (int)LightDefinitions.s_RayTracedScreenSpaceShadowFlag; + screenSpaceShadowIndex++; m_ScreenSpaceShadowsUnion.Add(additionalLightData); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl index 123382ceff5..dca8236c2c2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl @@ -55,6 +55,7 @@ #define LIGHT_FEATURE_MASK_FLAGS_OPAQUE (16642048) #define LIGHT_FEATURE_MASK_FLAGS_TRANSPARENT (16510976) #define MATERIAL_FEATURE_MASK_FLAGS (4095) +#define RAY_TRACED_SCREEN_SPACE_SHADOW_FLAG (4096) #define SCREEN_SPACE_COLOR_SHADOW_FLAG (256) #define INVALID_SCREEN_SPACE_SHADOW (255) #define SCREEN_SPACE_SHADOW_INDEX_MASK (255) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index 7cc10b88a80..a73a4affc82 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -81,6 +81,17 @@ void ApplyDebugToLighting(LightLoopContext context, inout BuiltinData builtinDat #endif } +bool UseScreenSpaceShadow(DirectionalLightData light, float3 normalWS) +{ + // Two different options are possible here + // - We have a ray trace shadow in which case we have no valid signal for a transmission and we need to fallback on the rasterized shadow + // - We have a screen space shadow and it already contains the transmission shadow and we can use it straight away + bool visibleLight = dot(normalWS, -light.forward) > 0.0; + bool validScreenSpaceShadow = (light.screenSpaceShadowIndex & SCREEN_SPACE_SHADOW_INDEX_MASK) != INVALID_SCREEN_SPACE_SHADOW; + bool rayTracedShadow = (light.screenSpaceShadowIndex & RAY_TRACED_SCREEN_SPACE_SHADOW_FLAG) != 0; + return (validScreenSpaceShadow && ((rayTracedShadow && visibleLight) || !rayTracedShadow)); +} + void ApplyDebug(LightLoopContext context, PositionInputs posInput, BSDFData bsdfData, inout LightLoopOutput lightLoopOutput) { #ifdef DEBUG_DISPLAY @@ -122,7 +133,7 @@ void ApplyDebug(LightLoopContext context, PositionInputs posInput, BSDFData bsdf DirectionalLightData light = _DirectionalLightDatas[_DirectionalShadowIndex]; #if defined(SCREEN_SPACE_SHADOWS_ON) && !defined(_SURFACE_TYPE_TRANSPARENT) - if ((light.screenSpaceShadowIndex & SCREEN_SPACE_SHADOW_INDEX_MASK) != INVALID_SCREEN_SPACE_SHADOW) + if (UseScreenSpaceShadow(light, bsdfData.normalWS)) { shadow = GetScreenSpaceColorShadow(posInput, light.screenSpaceShadowIndex).SHADOW_TYPE_SWIZZLE; } @@ -202,7 +213,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS DirectionalLightData light = _DirectionalLightDatas[_DirectionalShadowIndex]; #if defined(SCREEN_SPACE_SHADOWS_ON) && !defined(_SURFACE_TYPE_TRANSPARENT) - if ((light.screenSpaceShadowIndex & SCREEN_SPACE_SHADOW_INDEX_MASK) != INVALID_SCREEN_SPACE_SHADOW) + if (UseScreenSpaceShadow(light, bsdfData.normalWS)) { context.shadowValue = GetScreenSpaceColorShadow(posInput, light.screenSpaceShadowIndex).SHADOW_TYPE_SWIZZLE; } From 3336a3bd0156643a2a272402d46d3a83ea5891f1 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Thu, 25 Mar 2021 13:14:23 +0100 Subject: [PATCH 129/148] Fix sss in planar reflections planar (#3919) * Fix SSS materials in planar reflections * Proper fix * Undo matrix rename Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../SubsurfaceScattering.compute | 13 +++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c95a5e3e15e..5466baa59ff 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -122,6 +122,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed issue with Decal projector edge on Metal (case 1286074) - Fixed Exposure Frame Settings control issues on Planar reflection probes (case 1312153). Dynamic reflections now keep their own exposure relative to their parent camera. - Fixed Render Graph Debug UI not refreshing correctly in the Render Pipeline Debugger. +- Fixed SSS materials in planar reflections (case 1319027). ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.compute b/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.compute index ce09ed1b226..39612c666a0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.compute @@ -107,12 +107,12 @@ float4 LoadSampleFromVideoMemory(int2 pixelCoord) // Returns {irradiance, linearDepth}. float4 LoadSample(int2 pixelCoord, int2 cacheOffset) { + float4 value; + #if SSS_USE_LDS_CACHE int2 cacheCoord = pixelCoord - cacheOffset; bool isInCache = max((uint)cacheCoord.x, (uint)cacheCoord.y) < TEXTURE_CACHE_SIZE_1D; - float4 value; - if (isInCache) { value = LoadSampleFromCacheMemory(cacheCoord); @@ -168,7 +168,7 @@ float3 ComputeBilateralWeight(float xy2, float z, float mmPerUnit, float3 S, flo void EvaluateSample(uint i, uint n, int2 pixelCoord, int2 cacheOffset, float3 S, float d, float3 centerPosVS, float mmPerUnit, float pixelsPerMm, float phase, float3 tangentX, float3 tangentY, float4x4 projMatrix, - inout float3 totalIrradiance, inout float3 totalWeight) + inout float3 totalIrradiance, inout float3 totalWeight, float linearDepth) { // The sample count is loop-invariant. const float scale = rcp(n); @@ -217,7 +217,7 @@ void EvaluateSample(uint i, uint n, int2 pixelCoord, int2 cacheOffset, { // Apply bilateral weighting. float viewZ = textureSample.a; - float relZ = viewZ - centerPosVS.z; + float relZ = viewZ - linearDepth; float3 weight = ComputeBilateralWeight(xy2, relZ, mmPerUnit, S, rcpPdf); // Note: if the texture sample if off-screen, (z = 0) -> (viewZ = far) -> (weight ≈ 0). @@ -383,7 +383,7 @@ void SubsurfaceScattering(uint3 groupId : SV_GroupID, // Compute the view-space dimensions of the pixel as a quad projected onto geometry. // Assuming square pixels, both X and Y are have the same dimensions. - float unitsPerPixel = 2 * abs(cornerPosVS.x - centerPosVS.x); + float unitsPerPixel = max(0.0001f, 2 * abs(cornerPosVS.x - centerPosVS.x)); float pixelsPerMm = rcp(unitsPerPixel) * unitsPerMm; // Area of a disk. @@ -453,13 +453,14 @@ void SubsurfaceScattering(uint3 groupId : SV_GroupID, float3 totalIrradiance = 0; float3 totalWeight = 0; + float linearDepth = LinearEyeDepth(centerDepth, _ZBufferParams); for (uint i = 0; i < n; i++) { // Integrate over the image or tangent plane in the view space. EvaluateSample(i, n, pixelCoord, cacheOffset, S, d, centerPosVS, mmPerUnit, pixelsPerMm, phase, tangentX, tangentY, projMatrix, - totalIrradiance, totalWeight); + totalIrradiance, totalWeight, linearDepth); } // Total weight is 0 for color channels without scattering. From 9f5b16d172a03368c1342e43a2dbf8764736d14c Mon Sep 17 00:00:00 2001 From: Lewis Jordan Date: Thu, 25 Mar 2021 16:03:49 +0000 Subject: [PATCH 130/148] Added note about SSGI and RTGI replacing all lightmap and light probe data (#3913) --- .../Documentation~/Override-Screen-Space-GI.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 7790aac997e..8ce35f03ce2 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -1,8 +1,10 @@ # Screen Space Global Illumination -The **Screen Space Illumination** (SSGI) override is a High Definition Render Pipeline (HDRP) feature that uses the depth and color buffer of the screen to calculate diffuse light bounces. +The **Screen Space Global Illumination** (SSGI) override is a High Definition Render Pipeline (HDRP) feature that uses the depth and color buffer of the screen to calculate diffuse light bounces. -HDRP implements [ray-traced global illumination](Ray-Traced-Global-Illumination.md) on top of this override. This means that the properties visible in the Inspector change depending on whether or not you enable ray tracing. +HDRP implements [ray-traced global illumination](Ray-Traced-Global-Illumination.md) (RTGI) on top of this override. This means that the properties visible in the Inspector change depending on whether or not you enable ray tracing. + +SSGI and RTGI completely replace all [lightmap](https://docs.unity3d.com/Manual/Lightmapping.html) and [Light Probe](https://docs.unity3d.com/Manual/LightProbes.html) data. If you enable this override and the Volume affects the Camera, Light Probes, and the ambient probe, stop contributing to lighting for GameObjects. ![](Images/HDRPFeatures-SSGI.png) From 875bb2459687e297d27095724ad817f89e84223f Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Thu, 25 Mar 2021 19:31:02 +0100 Subject: [PATCH 131/148] fix pivot edit mode 2D slider gizmo not supporting multi-edition (decal) (#3908) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/Decal/ProjectedTransform.cs | 7 ++++--- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 5466baa59ff..4126eac3390 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -123,6 +123,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed Exposure Frame Settings control issues on Planar reflection probes (case 1312153). Dynamic reflections now keep their own exposure relative to their parent camera. - Fixed Render Graph Debug UI not refreshing correctly in the Render Pipeline Debugger. - Fixed SSS materials in planar reflections (case 1319027). +- Fixed Decal's pivot edit mode 2D slider gizmo not supporting multi-edition ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ProjectedTransform.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ProjectedTransform.cs index 5b1dcc86277..4f16f49d1c4 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ProjectedTransform.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ProjectedTransform.cs @@ -194,17 +194,18 @@ public static Vector3 DrawHandles(Vector3 position, float zProjectionDistance, Q verts[1] = sliderFaceProjected + (-Vector3.right + Vector3.up) * size2D; verts[2] = sliderFaceProjected + (-Vector3.right - Vector3.up) * size2D; verts[3] = sliderFaceProjected + (Vector3.right - Vector3.up) * size2D; + int id = GUIUtility.GetControlID(ids.xy, FocusType.Passive); float faceOpacity = 0.8f; - if (GUIUtility.hotControl == ids.xy) + if (GUIUtility.hotControl == id) Handles.color = Handles.selectedColor; - else if (IsHovering(ids.xy, Event.current)) + else if (IsHovering(id, Event.current)) faceOpacity = 0.4f; else faceOpacity = 0.1f; Color faceColor = new Color(Handles.zAxisColor.r, Handles.zAxisColor.g, Handles.zAxisColor.b, Handles.zAxisColor.a * faceOpacity); Handles.DrawSolidRectangleWithOutline(verts, faceColor, Color.clear); EditorGUI.BeginChangeCheck(); - sliderFaceProjected = Handles.Slider2D(ids.xy, sliderFaceProjected, Vector3.forward, Vector3.right, Vector3.up, size2D, Handles.RectangleHandleCap, s_IsGridSnappingActive() ? Vector2.zero : new Vector2(EditorSnapSettings.move[0], EditorSnapSettings.move[1]), false); + sliderFaceProjected = Handles.Slider2D(id, sliderFaceProjected, Vector3.forward, Vector3.right, Vector3.up, size2D, Handles.RectangleHandleCap, s_IsGridSnappingActive() ? Vector2.zero : new Vector2(EditorSnapSettings.move[0], EditorSnapSettings.move[1]), false); if (EditorGUI.EndChangeCheck()) { sliderRotatedWorldPos.x = sliderFaceProjected.x; From 9d7be90572e8b57cba74ff349b6321b50e586157 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 29 Mar 2021 18:53:05 +0200 Subject: [PATCH 132/148] Merge branch 'master' into hd/bugfix From f423b2c2132eb7e2eb6fe6f3eb1b1028f58db2be Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Mon, 29 Mar 2021 13:58:01 -0400 Subject: [PATCH 133/148] [HDRP][Fogbugz 1325312] Hdrp/fix inverted y on cas (#4027) * Fixing missing of inverted Y on non dev player builds for CAS with DRS * Changelog updates --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/PostProcessing/Shaders/FinalPass.shader | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 00c46562a57..1418a7b8527 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -129,6 +129,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed Render Graph Debug UI not refreshing correctly in the Render Pipeline Debugger. - Fixed SSS materials in planar reflections (case 1319027). - Fixed Decal's pivot edit mode 2D slider gizmo not supporting multi-edition +- Fixed issue were the final image is inverted in the Y axis. Occurred only on final Player (non-dev for any platform) that use Dynamic Resolution Scaling with Contrast Adaptive Sharpening filter. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/FinalPass.shader b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/FinalPass.shader index e1c29124785..b1fc0df495b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/FinalPass.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/FinalPass.shader @@ -93,7 +93,7 @@ Shader "Hidden/HDRP/FinalPass" #if defined(BILINEAR) || defined(CATMULL_ROM_4) || defined(LANCZOS) CTYPE outColor = UpscaledResult(positionNDC.xy); #elif defined(CONTRASTADAPTIVESHARPEN) - CTYPE outColor = LOAD_TEXTURE2D_X(_InputTexture, round(input.texcoord * _ViewPortSize.xy)).CTYPE_SWIZZLE; + CTYPE outColor = LOAD_TEXTURE2D_X(_InputTexture, ((input.texcoord.xy * _UVTransform.xy) + _UVTransform.zw) * _ViewPortSize.xy).CTYPE_SWIZZLE; #else CTYPE outColor = LOAD_TEXTURE2D_X(_InputTexture, positionSS).CTYPE_SWIZZLE; #endif From b1025c9657016dba44fd81eae07b4eb77c93fd33 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 30 Mar 2021 20:52:43 +0200 Subject: [PATCH 134/148] SceneObjectIDMap: Fix a nasty bug where game object to entry index dictionary would get out of sync from the entries list (#4038) * SceneObjectIDMap: Fix a nasty bug where gameobject to entry index dictionary would get out of sync from the entries list after an insertion occurred to fill a hole. This resulted in a nasty bug where reflection probes would occasionally generate the same bake texture filename as eachother, would overwrite eachothers textures, and would point to the same texture after the bake completed. Issue can be reproduced by baking, removing reflection probes, adding new reflection probes, and baking again. * Update CHANGELOG.md Co-authored-by: pastasfuture --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Utilities/SceneObjectIDMap.cs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 1418a7b8527..c8effcc604a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -130,6 +130,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed SSS materials in planar reflections (case 1319027). - Fixed Decal's pivot edit mode 2D slider gizmo not supporting multi-edition - Fixed issue were the final image is inverted in the Y axis. Occurred only on final Player (non-dev for any platform) that use Dynamic Resolution Scaling with Contrast Adaptive Sharpening filter. +- Fixed a bug with Reflection Probe baking would result in an incorrect baking reusing other's Reflection Probe baking ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/Utilities/SceneObjectIDMap.cs b/com.unity.render-pipelines.high-definition/Runtime/Utilities/SceneObjectIDMap.cs index 57642b82a45..4c15b9241bf 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Utilities/SceneObjectIDMap.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Utilities/SceneObjectIDMap.cs @@ -260,6 +260,11 @@ int Insert(GameObject gameObject, TCategory category) m_IndexByGameObject.Add(gameObject, index); m_Entries.Insert(index, entry); + for (int i = index + 1; i < m_Entries.Count; ++i) + { + // Upon insertion, all index by game object entries after the insertion point need their index updated. + m_IndexByGameObject[m_Entries[i].gameObject] = i; + } return m_Entries[index].id; } From 89e9e5d0c596a4e1400a076386b5fe14be8306a3 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Thu, 1 Apr 2021 11:45:57 +0200 Subject: [PATCH 135/148] Fix shader compil issue on PS4 in Stacklit.hlsl (#4064) --- .../Runtime/Material/StackLit/StackLit.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl index 340cd438312..5e9d58c7813 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl @@ -4231,7 +4231,7 @@ IndirectLighting EvaluateBSDF_ScreenSpaceReflection(PositionInputs posInput, } lighting.specularReflected = ssrLighting.rgb * lerp(reflectanceFactorB, reflectanceFactorC, bsdfData.coatMask); - reflectionHierarchyWeight = lerp(ssrLighting.a, ssrLighting.a * reflectanceFactorC, bsdfData.coatMask); + reflectionHierarchyWeight = lerp(ssrLighting.a, ssrLighting.a * dot(float3(1.0, 1.0, 1.0), reflectanceFactorC), bsdfData.coatMask); } else { From e87e4dd37d433fd711e59779102a67c6ce6b7697 Mon Sep 17 00:00:00 2001 From: Kleber Garcia Date: Thu, 1 Apr 2021 09:37:41 -0400 Subject: [PATCH 136/148] [Fogbugz 1325700] Fixing volumetric screen zmask & depth pyramid for hw drs (#4050) * FIxing volumetric drs tmp screen zmask textures and also the depth pyramid, to consider hardware DRS when its on * Changelog * Added todo comment. --- .../CHANGELOG.md | 2 ++ .../RenderPipeline/HDRenderPipeline.LightLoop.cs | 8 +++++--- .../Runtime/RenderPipeline/Utility/HDUtils.cs | 16 +++++++++++----- 3 files changed, 18 insertions(+), 8 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index effb6d9ce6c..81158c24c67 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -133,6 +133,8 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed missing Update in Wizard's DXR Documentation - Fixed issue were the final image is inverted in the Y axis. Occurred only on final Player (non-dev for any platform) that use Dynamic Resolution Scaling with Contrast Adaptive Sharpening filter. - Fixed a bug with Reflection Probe baking would result in an incorrect baking reusing other's Reflection Probe baking +- Fixed volumetric fog being visually chopped or missing when using hardware Dynamic Resolution Scaling. +- Fixed generation of the packed depth pyramid when hardware Dynamic Resolution Scaling is enabled. ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs index a80e002ca6e..6bb5624993f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.LightLoop.cs @@ -840,13 +840,15 @@ TextureHandle GenerateMaxZPass(RenderGraph renderGraph, HDCamera hdCamera, Textu using (var builder = renderGraph.AddRenderPass("Generate Max Z Mask for Volumetric", out var passData)) { + //TODO: move the entire vbuffer to hardware DRS mode. When Hardware DRS is enabled we will save performance + // on these buffers, however the final vbuffer will be wasting resolution. This requires a bit of more work to optimize. passData.parameters = PrepareGenerateMaxZParameters(hdCamera, depthMipInfo); passData.depthTexture = builder.ReadTexture(depthTexture); - passData.maxZ8xBuffer = builder.CreateTransientTexture(new TextureDesc(Vector2.one * 0.125f, false, true) + passData.maxZ8xBuffer = builder.CreateTransientTexture(new TextureDesc(Vector2.one * 0.125f, true, true) { colorFormat = GraphicsFormat.R32_SFloat, enableRandomWrite = true, name = "MaxZ mask 8x" }); - passData.maxZBuffer = builder.CreateTransientTexture(new TextureDesc(Vector2.one * 0.125f, false, true) + passData.maxZBuffer = builder.CreateTransientTexture(new TextureDesc(Vector2.one * 0.125f, true, true) { colorFormat = GraphicsFormat.R32_SFloat, enableRandomWrite = true, name = "MaxZ mask" }); - passData.dilatedMaxZBuffer = builder.ReadWriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one / 16.0f, false, true) + passData.dilatedMaxZBuffer = builder.ReadWriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one / 16.0f, true, true) { colorFormat = GraphicsFormat.R32_SFloat, enableRandomWrite = true, name = "Dilated MaxZ mask" })); builder.SetRenderFunc( diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs index dc7be708a91..0b03f76fb6e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Utility/HDUtils.cs @@ -568,6 +568,7 @@ internal static void RestoreRenderPipelineAsset(bool wasUnsetFromQuality, Render internal struct PackedMipChainInfo { public Vector2Int textureSize; + public Vector2Int hardwareTextureSize; public int mipLevelCount; public Vector2Int[] mipLevelSizes; public Vector2Int[] mipLevelOffsets; @@ -590,12 +591,15 @@ public void ComputePackedMipChainInfo(Vector2Int viewportSize) if (viewportSize == mipLevelSizes[0]) return; - textureSize = viewportSize; - mipLevelSizes[0] = viewportSize; + bool isHardwareDrsOn = DynamicResolutionHandler.instance.HardwareDynamicResIsEnabled(); + hardwareTextureSize = isHardwareDrsOn ? DynamicResolutionHandler.instance.ApplyScalesOnSize(viewportSize) : viewportSize; + Vector2 textureScale = isHardwareDrsOn ? new Vector2((float)viewportSize.x / (float)hardwareTextureSize.x, (float)viewportSize.y / (float)hardwareTextureSize.y) : new Vector2(1.0f, 1.0f); + + mipLevelSizes[0] = hardwareTextureSize; mipLevelOffsets[0] = Vector2Int.zero; int mipLevel = 0; - Vector2Int mipSize = viewportSize; + Vector2Int mipSize = hardwareTextureSize; do { @@ -625,11 +629,13 @@ public void ComputePackedMipChainInfo(Vector2Int viewportSize) mipLevelOffsets[mipLevel] = mipBegin; - textureSize.x = Math.Max(textureSize.x, mipBegin.x + mipSize.x); - textureSize.y = Math.Max(textureSize.y, mipBegin.y + mipSize.y); + hardwareTextureSize.x = Math.Max(hardwareTextureSize.x, mipBegin.x + mipSize.x); + hardwareTextureSize.y = Math.Max(hardwareTextureSize.y, mipBegin.y + mipSize.y); } while ((mipSize.x > 1) || (mipSize.y > 1)); + textureSize = new Vector2Int((int)((float)hardwareTextureSize.x * textureScale.x), (int)((float)hardwareTextureSize.y * textureScale.y)); + mipLevelCount = mipLevel + 1; m_OffsetBufferWillNeedUpdate = true; } From 04c1695771b8a4db292f940b5ec97a66f59c8e35 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 2 Apr 2021 19:24:09 +0200 Subject: [PATCH 137/148] Update StackLit.hlsl --- .../Runtime/Material/StackLit/StackLit.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl index 5e9d58c7813..3b81107267f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/StackLit/StackLit.hlsl @@ -4231,7 +4231,7 @@ IndirectLighting EvaluateBSDF_ScreenSpaceReflection(PositionInputs posInput, } lighting.specularReflected = ssrLighting.rgb * lerp(reflectanceFactorB, reflectanceFactorC, bsdfData.coatMask); - reflectionHierarchyWeight = lerp(ssrLighting.a, ssrLighting.a * dot(float3(1.0, 1.0, 1.0), reflectanceFactorC), bsdfData.coatMask); + reflectionHierarchyWeight = lerp(ssrLighting.a, ssrLighting.a * reflectanceFactorC.x, bsdfData.coatMask); } else { From 2d39d4ff99a4d088c4e180da9c3cf6c52bbff46d Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Tue, 6 Apr 2021 14:04:45 +0200 Subject: [PATCH 138/148] HD/Decals: allows negative UV (#4083) Decals: allows negative UV (#4083) --- .../CHANGELOG.md | 1 + .../Editor/Material/Decal/DecalProjectorEditor.cs | 2 +- .../Editor/Material/Decal/DisplacableRectHandles.cs | 12 ++++++++---- 3 files changed, 10 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 81158c24c67..6719018d7f8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -135,6 +135,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed a bug with Reflection Probe baking would result in an incorrect baking reusing other's Reflection Probe baking - Fixed volumetric fog being visually chopped or missing when using hardware Dynamic Resolution Scaling. - Fixed generation of the packed depth pyramid when hardware Dynamic Resolution Scaling is enabled. +- Fixed Decal's UV edit mode with negative UV ### Changed - Changed Window/Render Pipeline/HD Render Pipeline Wizard to Window/Rendering/HDRP Wizard diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs index 1351301e735..74e5a6cbaad 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DecalProjectorEditor.cs @@ -119,7 +119,7 @@ static DisplacableRectHandles uvHandles get { if (s_uvHandles == null || s_uvHandles.Equals(null)) - s_uvHandles = new DisplacableRectHandles(s_LastColor); + s_uvHandles = new DisplacableRectHandles(s_LastColor, allowsNegative: true); return s_uvHandles; } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DisplacableRectHandles.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DisplacableRectHandles.cs index 6579041a564..b3e12138ddf 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DisplacableRectHandles.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/DisplacableRectHandles.cs @@ -15,6 +15,7 @@ enum NamedEdge { Right, Top, Left, Bottom, None } Color m_MonochromeHandleColor; Color m_WireframeColor; Color m_WireframeColorBehind; + bool allowsNegative; ///

The position of the center of the box in Handle.matrix space. On plane z=0. public Vector2 center { get; set; } @@ -58,9 +59,10 @@ public Color baseColor } } - public DisplacableRectHandles(Color baseColor) + public DisplacableRectHandles(Color baseColor, bool allowsNegative = false) { this.baseColor = baseColor; + this.allowsNegative = allowsNegative; } /// Draw the rect. @@ -258,7 +260,8 @@ public void DrawHandle() case NamedEdge.Bottom: topPosition.y -= delta; break; } - EnsureEdgeFacesOutsideForSymetry(theChangedEdge, ref leftPosition, ref rightPosition, ref topPosition, ref bottomPosition); + if (!allowsNegative) + EnsureEdgeFacesOutsideForSymetry(theChangedEdge, ref leftPosition, ref rightPosition, ref topPosition, ref bottomPosition); } if (useHomothety) @@ -278,13 +281,14 @@ public void DrawHandle() break; } - EnsureEdgeFacesOutsideForHomothety(theChangedEdge, ref leftPosition, ref rightPosition, ref topPosition, ref bottomPosition); + if (!allowsNegative) + EnsureEdgeFacesOutsideForHomothety(theChangedEdge, ref leftPosition, ref rightPosition, ref topPosition, ref bottomPosition); } var max = new Vector2(rightPosition.x, topPosition.y); var min = new Vector2(leftPosition.x, bottomPosition.y); - if (!useSymetry && !useHomothety) + if (!useSymetry && !useHomothety && !allowsNegative) EnsureEdgeFacesOutsideForOtherTransformation(ref max, ref min); center = (max + min) * .5f; From 8206f9b31fe1f54272d7654aaf5aa64cf18f1348 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Tue, 6 Apr 2021 15:03:05 +0200 Subject: [PATCH 139/148] Added an info box for micro shadow editor (#4086) --- .../CHANGELOG.md | 1 + .../Lighting/Shadow/MicroShadowingEditor.cs | 16 ++++++++++++++++ .../Lighting/Shadow/MicroShadowingEditor.cs.meta | 11 +++++++++++ 3 files changed, 28 insertions(+) create mode 100644 com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs create mode 100644 com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs.meta diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 6719018d7f8..fd3bbfe3786 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -198,6 +198,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Updated Wizard to better handle RenderPipelineAsset in Quality Settings - Added Global settings check in Wizard - Added localization on Wizard window +- Added an info box for micro shadow editor (case 1322830). ## [11.0.0] - 2020-10-21 diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs new file mode 100644 index 00000000000..2a499e83914 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs @@ -0,0 +1,16 @@ +using UnityEngine.Rendering.HighDefinition; + +namespace UnityEditor.Rendering.HighDefinition +{ + [VolumeComponentEditor(typeof(MicroShadowing))] + sealed class MicroShadowingEditor : VolumeComponentEditor + { + static public readonly string k_DirectionnalWarning = "Micro Shadows only works with directional Lights"; + + public override void OnInspectorGUI() + { + base.OnInspectorGUI(); + EditorGUILayout.HelpBox(k_DirectionnalWarning, MessageType.Info); + } + } +} diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs.meta b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs.meta new file mode 100644 index 00000000000..47292dbeae0 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/MicroShadowingEditor.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: faceeca3ea8e9664bbd1485f9966da7a +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From bc54ccf559617c6a2b9f6dc87b6e5a7df91218c3 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Fri, 9 Apr 2021 15:17:57 +0200 Subject: [PATCH 140/148] Force consistent normals in PT (in right geometric hs wrt reflection). --- .../Material/Fabric/FabricPathTracing.hlsl | 3 +++ .../Runtime/Material/Lit/LitPathTracing.hlsl | 20 +++++++++---------- .../Shaders/PathTracingMaterial.hlsl | 18 +++++++++++++++++ 3 files changed, 31 insertions(+), 10 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl index 9cbe324d922..7bcf4121855 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl @@ -20,6 +20,9 @@ void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, bsdfData.roughnessT = max(pathIntersection.maxRoughness, bsdfData.roughnessT); bsdfData.roughnessB = max(pathIntersection.maxRoughness, bsdfData.roughnessB); + // Make sure that the geometric and shading normals are consistent (reflection vector must be in the proper hemisphere) + bsdfData.normalWS = ComputeConsistentShadingNormal(-WorldRayDirection(), bsdfData.geomNormalWS, bsdfData.normalWS); + if (HasFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_COTTON_WOOL)) { // This is hacky, but applied to match the raster implementation (Fabric.hlsl) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl index c17e0d4ca67..ccdb328838f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl @@ -15,7 +15,11 @@ void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, bsdfData.roughnessT = max(pathIntersection.maxRoughness, bsdfData.roughnessT); bsdfData.roughnessB = max(pathIntersection.maxRoughness, bsdfData.roughnessB); - float NdotV = abs(dot(bsdfData.normalWS, WorldRayDirection())); + // Make sure that the geometric and shading normals are consistent (reflection vector must be in the proper hemisphere) + float3 V = -WorldRayDirection(); + bsdfData.normalWS = ComputeConsistentShadingNormal(V, bsdfData.geomNormalWS, bsdfData.normalWS); + + float NdotV = abs(dot(bsdfData.normalWS, V)); // Modify fresnel0 value to take iridescence into account (code adapted from Lit.hlsl to produce identical results) if (bsdfData.iridescenceMask > 0.0) @@ -63,12 +67,10 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa float Fcoat = F_Schlick(CLEAR_COAT_F0, NdotV) * mtlData.bsdfData.coatMask; float Fspec = Luminance(F_Schlick(mtlData.bsdfData.fresnel0, NdotV)); - // If N.V < 0 (can happen with normal mapping, or smooth normals on coarsely tesselated objects) we want to avoid spec sampling - bool consistentNormal = (NdotV > 0.001); - mtlData.bsdfWeight[1] = consistentNormal ? Fcoat : 0.0; + mtlData.bsdfWeight[1] = Fcoat; coatingTransmission = 1.0 - mtlData.bsdfWeight[1]; - mtlData.bsdfWeight[2] = consistentNormal ? coatingTransmission * lerp(Fspec, 0.5, 0.5 * (mtlData.bsdfData.roughnessT + mtlData.bsdfData.roughnessB)) * (1.0 + Fspec * mtlData.bsdfData.specularOcclusion) : 0.0; - mtlData.bsdfWeight[3] = consistentNormal ? (coatingTransmission - mtlData.bsdfWeight[2]) * mtlData.bsdfData.transmittanceMask : 0.0; + mtlData.bsdfWeight[2] = coatingTransmission * lerp(Fspec, 0.5, 0.5 * (mtlData.bsdfData.roughnessT + mtlData.bsdfData.roughnessB)) * (1.0 + Fspec * mtlData.bsdfData.specularOcclusion); + mtlData.bsdfWeight[3] = (coatingTransmission - mtlData.bsdfWeight[2]) * mtlData.bsdfData.transmittanceMask; mtlData.bsdfWeight[0] = coatingTransmission * (1.0 - mtlData.bsdfData.transmittanceMask) * Luminance(mtlData.bsdfData.diffuseColor) * mtlData.bsdfData.ambientOcclusion; } #ifdef _SURFACE_TYPE_TRANSPARENT @@ -77,10 +79,8 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa float NdotV = -dot(mtlData.bsdfData.normalWS, mtlData.V); float F = F_FresnelDielectric(1.0 / mtlData.ior, NdotV); - // If N.V < 0 (can happen with normal mapping) we want to avoid spec sampling - bool consistentNormal = (NdotV > 0.001); - mtlData.bsdfWeight[2] = consistentNormal ? F : 0.0; - mtlData.bsdfWeight[3] = consistentNormal ? (1.0 - mtlData.bsdfWeight[1]) * mtlData.bsdfData.transmittanceMask : 0.0; + mtlData.bsdfWeight[2] = F; + mtlData.bsdfWeight[3] = (1.0 - mtlData.bsdfWeight[1]) * mtlData.bsdfData.transmittanceMask; } #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl index 411cf1f1cf7..a2a9fef9f99 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl @@ -85,4 +85,22 @@ float3x3 GetTangentFrame(MaterialData mtlData) GetLocalFrame(mtlData.bsdfData.normalWS); } +float3 ComputeConsistentShadingNormal(float3 Wi, float3 G, float3 N) +{ + float GdotWi = dot(G, Wi); + + float3 Wo = reflect(-Wi, N); + float GdotWo = dot(G, Wo); + + // Check in which hemisphere are the view vectors + float Hi = sign(GdotWi); + float Ho = sign(GdotWo); + + // Bring reflection direction back to the right hemisphere (slightly offset from the horizon, for more robustness) + Wo = normalize(Wo - (GdotWo + Ho * 0.001) * G); + + // Compute a new, consistent shading normal accordingly + return Hi != Ho ? Hi * normalize(Wi + Wo) : N; +} + #endif // UNITY_PATH_TRACING_MATERIAL_INCLUDED From cb31ef9f295d2ca8afd8a0e3b5c2efe9a50ef2b9 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Fri, 9 Apr 2021 15:59:39 +0200 Subject: [PATCH 141/148] Updated changelog. --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index fd3bbfe3786..415625360a2 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -199,6 +199,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added Global settings check in Wizard - Added localization on Wizard window - Added an info box for micro shadow editor (case 1322830). +- Enforced more consistent shading normal computation for path tracing, so that impossible shading/geometric normal combinations are avoided (case 1323455). ## [11.0.0] - 2020-10-21 From cb0c447b851df03627ca6ff6d72bb56c0a0be812 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Fri, 9 Apr 2021 23:09:14 +0200 Subject: [PATCH 142/148] Improved robustness on extreme bump/normal mapping. --- .../PathTracing/Shaders/PathTracingMaterial.hlsl | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl index a2a9fef9f99..324502d8034 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl @@ -87,13 +87,17 @@ float3x3 GetTangentFrame(MaterialData mtlData) float3 ComputeConsistentShadingNormal(float3 Wi, float3 G, float3 N) { + // Check in which hemisphere does the incoming view vector fall float GdotWi = dot(G, Wi); + float Hi = sign(GdotWi); - float3 Wo = reflect(-Wi, N); - float GdotWo = dot(G, Wo); + // First project N back towards Wi if it's on the other side of the view plane + float NdotWi = Hi * dot(N, Wi); + float3 Ni = N - Hi * min(0.0, NdotWi) * Wi; - // Check in which hemisphere are the view vectors - float Hi = sign(GdotWi); + // Then check in which hemisphere does the reflected vector fall + float3 Wo = reflect(-Wi, Ni); + float GdotWo = dot(G, Wo); float Ho = sign(GdotWo); // Bring reflection direction back to the right hemisphere (slightly offset from the horizon, for more robustness) From e6a355b91a87459915b7ffb750424c8048660553 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Mon, 12 Apr 2021 19:49:56 +0200 Subject: [PATCH 143/148] Moved to a 2 normals, spec/diff approach. --- .../Material/Fabric/FabricPathTracing.hlsl | 10 ++- .../Runtime/Material/Lit/LitPathTracing.hlsl | 23 +++---- .../PathTracing/Shaders/PathTracingBSDF.hlsl | 62 +++++++++---------- .../PathTracing/Shaders/PathTracingLight.hlsl | 11 ++-- .../Shaders/PathTracingMaterial.hlsl | 25 ++++++-- .../Shaders/PathTracingVolume.hlsl | 2 +- .../ShaderPass/ShaderPassPathTracing.hlsl | 4 +- 7 files changed, 75 insertions(+), 62 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl index 7bcf4121855..bea0e184a95 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl @@ -20,9 +20,6 @@ void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, bsdfData.roughnessT = max(pathIntersection.maxRoughness, bsdfData.roughnessT); bsdfData.roughnessB = max(pathIntersection.maxRoughness, bsdfData.roughnessB); - // Make sure that the geometric and shading normals are consistent (reflection vector must be in the proper hemisphere) - bsdfData.normalWS = ComputeConsistentShadingNormal(-WorldRayDirection(), bsdfData.geomNormalWS, bsdfData.normalWS); - if (HasFlag(bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_COTTON_WOOL)) { // This is hacky, but applied to match the raster implementation (Fabric.hlsl) @@ -38,6 +35,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa mtlData.bsdfWeight = 0.0; mtlData.V = -WorldRayDirection(); + mtlData.Nv = ComputeConsistentShadingNormal(mtlData.V, bsdfData.geomNormalWS, bsdfData.normalWS); if (!IsAbove(mtlData)) return false; @@ -45,7 +43,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa mtlData.bsdfWeight[0] = Luminance(mtlData.bsdfData.diffuseColor) * mtlData.bsdfData.ambientOcclusion; // If N.V < 0 (can happen with normal mapping, or smooth normals on coarsely tesselated objects) we want to avoid spec sampling - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); if (NdotV > 0.001) { // For the cotton/wool material, diffuse and sheen BRDFs share the same cosine-weighted sampling, so we only give the upper hemisphere @@ -79,7 +77,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa SSS::Result subsurfaceResult; float3 meanFreePath = 0.001 / (_ShapeParamsAndMaxScatterDists[mtlData.bsdfData.diffusionProfileIndex].rgb * _WorldScalesAndFilterRadiiAndThicknessRemaps[mtlData.bsdfData.diffusionProfileIndex].x); - if (!SSS::RandomWalk(shadingPosition, mtlData.bsdfData.normalWS, mtlData.bsdfData.diffuseColor, meanFreePath, pathIntersection.pixelCoord, subsurfaceResult)) + if (!SSS::RandomWalk(shadingPosition, GetDiffuseNormal(mtlData), mtlData.bsdfData.diffuseColor, meanFreePath, pathIntersection.pixelCoord, subsurfaceResult)) return false; shadingPosition = subsurfaceResult.exitPosition; @@ -218,7 +216,7 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult if (IsAbove(mtlData)) { - if (IsAbove(mtlData.bsdfData.normalWS, sampleDir)) // BRDFs + if (IsAbove(GetDiffuseNormal(mtlData), sampleDir)) // BRDFs { if (HasFlag(mtlData.bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_COTTON_WOOL)) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl index ccdb328838f..28ecddcee0e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitPathTracing.hlsl @@ -9,17 +9,13 @@ // bsdfWeight2 Spec GGX BRDF // bsdfWeight3 Spec GGX BTDF -void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, inout BSDFData bsdfData) +void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, MaterialData mtlData, inout BSDFData bsdfData) { // Adjust roughness to reduce fireflies bsdfData.roughnessT = max(pathIntersection.maxRoughness, bsdfData.roughnessT); bsdfData.roughnessB = max(pathIntersection.maxRoughness, bsdfData.roughnessB); - // Make sure that the geometric and shading normals are consistent (reflection vector must be in the proper hemisphere) - float3 V = -WorldRayDirection(); - bsdfData.normalWS = ComputeConsistentShadingNormal(V, bsdfData.geomNormalWS, bsdfData.normalWS); - - float NdotV = abs(dot(bsdfData.normalWS, V)); + float NdotV = abs(dot(GetSpecularNormal(mtlData), mtlData.V)); // Modify fresnel0 value to take iridescence into account (code adapted from Lit.hlsl to produce identical results) if (bsdfData.iridescenceMask > 0.0) @@ -50,20 +46,21 @@ void ProcessBSDFData(PathIntersection pathIntersection, BuiltinData builtinData, bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinData, BSDFData bsdfData, inout float3 shadingPosition, inout float theSample, out MaterialData mtlData) { // Alter values in the material's bsdfData struct, to better suit path tracing + mtlData.V = -WorldRayDirection(); + mtlData.Nv = ComputeConsistentShadingNormal(mtlData.V, bsdfData.geomNormalWS, bsdfData.normalWS); mtlData.bsdfData = bsdfData; - ProcessBSDFData(pathIntersection, builtinData, mtlData.bsdfData); + ProcessBSDFData(pathIntersection, builtinData, mtlData, mtlData.bsdfData); mtlData.bsdfWeight = 0.0; mtlData.ior = mtlData.bsdfData.ior; - mtlData.V = -WorldRayDirection(); // Assume no coating by default float coatingTransmission = 1.0; // First determine if our incoming direction V is above (exterior) or below (interior) the surface - if (IsAbove(mtlData.bsdfData.geomNormalWS, mtlData.V)) + if (IsAbove(mtlData)) { - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); float Fcoat = F_Schlick(CLEAR_COAT_F0, NdotV) * mtlData.bsdfData.coatMask; float Fspec = Luminance(F_Schlick(mtlData.bsdfData.fresnel0, NdotV)); @@ -76,7 +73,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa #ifdef _SURFACE_TYPE_TRANSPARENT else // Below { - float NdotV = -dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = -dot(GetSpecularNormal(mtlData), mtlData.V); float F = F_FresnelDielectric(1.0 / mtlData.ior, NdotV); mtlData.bsdfWeight[2] = F; @@ -105,7 +102,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa SSS::Result subsurfaceResult; float3 meanFreePath = 0.001 / (_ShapeParamsAndMaxScatterDists[mtlData.bsdfData.diffusionProfileIndex].rgb * _WorldScalesAndFilterRadiiAndThicknessRemaps[mtlData.bsdfData.diffusionProfileIndex].x); - if (!SSS::RandomWalk(shadingPosition, mtlData.bsdfData.normalWS, mtlData.bsdfData.diffuseColor, meanFreePath, pathIntersection.pixelCoord, subsurfaceResult)) + if (!SSS::RandomWalk(shadingPosition, GetDiffuseNormal(mtlData), mtlData.bsdfData.diffuseColor, meanFreePath, pathIntersection.pixelCoord, subsurfaceResult)) return false; shadingPosition = subsurfaceResult.exitPosition; @@ -236,7 +233,7 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD return false; #ifdef _REFRACTION_THIN - sampleDir = refract(sampleDir, mtlData.bsdfData.normalWS, mtlData.ior); + sampleDir = refract(sampleDir, GetSpecularNormal(mtlData), mtlData.ior); if (!any(sampleDir)) return false; #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl index 5211edaf607..fd192eff530 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl @@ -44,7 +44,7 @@ bool SampleGGX(MaterialData mtlData, roughness = clamp(roughness, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); float NdotL, NdotH, VdotH; - float3x3 localToWorld = GetLocalFrame(mtlData.bsdfData.normalWS); + float3x3 localToWorld = GetLocalFrame(GetSpecularNormal(mtlData)); SampleGGXDir(inputSample.xy, mtlData.V, localToWorld, roughness, outgoingDir, NdotL, NdotH, VdotH); if (NdotL < 0.001 || !IsAbove(mtlData, outgoingDir)) @@ -56,7 +56,7 @@ bool SampleGGX(MaterialData mtlData, if (pdf < 0.001) return false; - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); float Vg = V_SmithJointGGX(NdotL, NdotV, roughness); fresnel = F_Schlick(fresnel0, VdotH); @@ -85,19 +85,19 @@ void EvaluateGGX(MaterialData mtlData, out float pdf, out float3 fresnel) { - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); if (NdotV < 0.001) { value = 0.0; pdf = 0.0; return; } - float NdotL = dot(mtlData.bsdfData.normalWS, outgoingDir); + float NdotL = dot(GetSpecularNormal(mtlData), outgoingDir); roughness = clamp(roughness, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); float3 H = normalize(mtlData.V + outgoingDir); - float NdotH = dot(mtlData.bsdfData.normalWS, H); + float NdotH = dot(GetSpecularNormal(mtlData), H); float VdotH = dot(mtlData.V, H); float D = D_GGX(NdotH, roughness); pdf = D * NdotH / (4.0 * VdotH); @@ -132,7 +132,7 @@ bool SampleAnisoGGX(MaterialData mtlData, float VdotH; float3 localV, localH; - float3x3 localToWorld = GetTangentFrame(mtlData); + float3x3 localToWorld = GetSpecularTangentFrame(mtlData); SampleAnisoGGXVisibleNormal(inputSample.xy, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); // Compute the reflection direction @@ -174,7 +174,7 @@ void EvaluateAnisoGGX(MaterialData mtlData, out float pdf, out float3 fresnel) { - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); if (NdotV < 0.001) { value = 0.0; @@ -185,7 +185,7 @@ void EvaluateAnisoGGX(MaterialData mtlData, float roughnessX = clamp(mtlData.bsdfData.roughnessT, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); float roughnessY = clamp(mtlData.bsdfData.roughnessB, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); - float3x3 worldToLocal = transpose(GetTangentFrame(mtlData)); + float3x3 worldToLocal = transpose(GetSpecularTangentFrame(mtlData)); float3 localV = mul(mtlData.V, worldToLocal); float3 localL = mul(outgoingDir, worldToLocal); float3 localH = normalize(localV + localL); @@ -217,14 +217,14 @@ bool SampleDelta(MaterialData mtlData, { if (IsAbove(mtlData)) { - outgoingDir = reflect(-mtlData.V, mtlData.bsdfData.normalWS); - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + outgoingDir = reflect(-mtlData.V, GetSpecularNormal(mtlData)); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); value = F_Schlick(mtlData.bsdfData.fresnel0, NdotV); } else // Below { - outgoingDir = -reflect(mtlData.V, mtlData.bsdfData.normalWS); - float NdotV = -dot(mtlData.bsdfData.normalWS, mtlData.V); + outgoingDir = -reflect(mtlData.V, GetSpecularNormal(mtlData)); + float NdotV = -dot(GetSpecularNormal(mtlData), mtlData.V); value = F_FresnelDielectric(1.0 / mtlData.ior, NdotV); } @@ -240,12 +240,12 @@ bool SampleLambert(MaterialData mtlData, out float3 value, out float pdf) { - outgoingDir = SampleHemisphereCosine(inputSample.x, inputSample.y, mtlData.bsdfData.normalWS); + outgoingDir = SampleHemisphereCosine(inputSample.x, inputSample.y, GetDiffuseNormal(mtlData)); if (!IsAbove(mtlData, outgoingDir)) return false; - pdf = dot(mtlData.bsdfData.normalWS, outgoingDir) * INV_PI; + pdf = dot(GetDiffuseNormal(mtlData), outgoingDir) * INV_PI; if (pdf < 0.001) return false; @@ -260,7 +260,7 @@ void EvaluateLambert(MaterialData mtlData, out float3 value, out float pdf) { - pdf = dot(mtlData.bsdfData.normalWS, outgoingDir) * INV_PI; + pdf = saturate(dot(GetDiffuseNormal(mtlData), outgoingDir)) * INV_PI; value = mtlData.bsdfData.diffuseColor * pdf; } @@ -270,18 +270,18 @@ bool SampleBurley(MaterialData mtlData, out float3 value, out float pdf) { - outgoingDir = SampleHemisphereCosine(inputSample.x, inputSample.y, mtlData.bsdfData.normalWS); + outgoingDir = SampleHemisphereCosine(inputSample.x, inputSample.y, GetDiffuseNormal(mtlData)); if (!IsAbove(mtlData, outgoingDir)) return false; - float NdotL = dot(mtlData.bsdfData.normalWS, outgoingDir); + float NdotL = dot(GetDiffuseNormal(mtlData), outgoingDir); pdf = NdotL * INV_PI; if (pdf < 0.001) return false; - float NdotV = saturate(dot(mtlData.bsdfData.normalWS, mtlData.V)); + float NdotV = saturate(dot(GetDiffuseNormal(mtlData), mtlData.V)); float LdotV = saturate(dot(outgoingDir, mtlData.V)); value = mtlData.bsdfData.diffuseColor * DisneyDiffuseNoPI(NdotV, NdotL, LdotV, mtlData.bsdfData.perceptualRoughness) * pdf; @@ -293,8 +293,8 @@ void EvaluateBurley(MaterialData mtlData, out float3 value, out float pdf) { - float NdotL = dot(mtlData.bsdfData.normalWS, outgoingDir); - float NdotV = saturate(dot(mtlData.bsdfData.normalWS, mtlData.V)); + float NdotL = saturate(dot(GetDiffuseNormal(mtlData), outgoingDir)); + float NdotV = saturate(dot(GetDiffuseNormal(mtlData), mtlData.V)); float LdotV = saturate(dot(outgoingDir, mtlData.V)); pdf = NdotL * INV_PI; @@ -332,10 +332,10 @@ void EvaluateSheen(MaterialData mtlData, out float pdf) { // We use cosine-weighted sampling for this lobe - float NdotL = dot(mtlData.bsdfData.normalWS, outgoingDir); + float NdotL = dot(GetSpecularNormal(mtlData), outgoingDir); pdf = NdotL * INV_PI; - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); if (NdotV < 0.001) { value = 0.0; @@ -345,7 +345,7 @@ void EvaluateSheen(MaterialData mtlData, float roughness = clamp(mtlData.bsdfData.roughnessT, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); float3 H = normalize(mtlData.V + outgoingDir); - float NdotH = dot(mtlData.bsdfData.normalWS, H); + float NdotH = dot(GetSpecularNormal(mtlData), H); float D = D_Charlie(NdotH, roughness); @@ -370,18 +370,18 @@ bool SampleGGX(MaterialData mtlData, float roughness = clamp(mtlData.bsdfData.roughnessT, MIN_GGX_ROUGHNESS, MAX_GGX_ROUGHNESS); float NdotL, NdotH, VdotH; - float3x3 localToWorld = GetLocalFrame(mtlData.bsdfData.normalWS); + float3x3 localToWorld = GetLocalFrame(GetSpecularNormal(mtlData)); SampleGGXDir(inputSample.xy, mtlData.V, localToWorld, roughness, outgoingDir, NdotL, NdotH, VdotH); // FIXME: won't be necessary after new version of SampleGGXDir() float3 H = normalize(mtlData.V + outgoingDir); outgoingDir = refract(-mtlData.V, H, 1.0 / mtlData.ior); - NdotL = dot(mtlData.bsdfData.normalWS, outgoingDir); + NdotL = dot(GetSpecularNormal(mtlData), outgoingDir); if (NdotL > -0.001 || !IsBelow(mtlData, outgoingDir)) return false; - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); float LdotH = dot(outgoingDir, H); float3 F = F_Schlick(mtlData.bsdfData.fresnel0, VdotH); @@ -409,7 +409,7 @@ bool SampleAnisoGGX(MaterialData mtlData, float VdotH; float3 localV, localH; - float3x3 localToWorld = GetTangentFrame(mtlData); + float3x3 localToWorld = GetSpecularTangentFrame(mtlData); SampleAnisoGGXVisibleNormal(inputSample.xy, mtlData.V, localToWorld, roughnessX, roughnessY, localV, localH, VdotH); // Compute refraction direction instead of reflection @@ -444,14 +444,14 @@ bool SampleDelta(MaterialData mtlData, { if (IsAbove(mtlData)) { - outgoingDir = refract(-mtlData.V, mtlData.bsdfData.normalWS, 1.0 / mtlData.ior); - float NdotV = dot(mtlData.bsdfData.normalWS, mtlData.V); + outgoingDir = refract(-mtlData.V, GetSpecularNormal(mtlData), 1.0 / mtlData.ior); + float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); value = 1.0 - F_Schlick(mtlData.bsdfData.fresnel0, NdotV); } else // Below { - outgoingDir = -refract(mtlData.V, mtlData.bsdfData.normalWS, mtlData.ior); - float NdotV = -dot(mtlData.bsdfData.normalWS, mtlData.V); + outgoingDir = -refract(mtlData.V, GetSpecularNormal(mtlData), mtlData.ior); + float NdotV = -dot(GetSpecularNormal(mtlData), mtlData.V); value = 1.0 - F_FresnelDielectric(1.0 / mtlData.ior, NdotV); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingLight.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingLight.hlsl index 069be1b5ce3..2ee3943545d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingLight.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingLight.hlsl @@ -300,6 +300,7 @@ bool SampleLights(LightList lightList, float3 inputSample, float3 position, float3 normal, + bool isVolume, out float3 outgoingDir, out float3 value, out float pdf, @@ -308,8 +309,8 @@ bool SampleLights(LightList lightList, if (!GetLightCount(lightList)) return false; - // Are we lighting a volume or a surface? - bool isVolume = !any(normal); + // Are we lighting a spherical (e.g. volume) or a hemi-spherical distribution (e.g. opaque surface)? + bool isSpherical = isVolume || !any(normal); if (PickLocalLights(lightList, inputSample.z)) { @@ -330,7 +331,7 @@ bool SampleLights(LightList lightList, dist = sqrt(sqDist); outgoingDir /= dist; - if (!isVolume && dot(normal, outgoingDir) < 0.001) + if (!isSpherical && dot(normal, outgoingDir) < 0.001) return false; float cosTheta = -dot(outgoingDir, lightData.forward); @@ -364,7 +365,7 @@ bool SampleLights(LightList lightList, pdf = DELTA_PDF; } - if (!isVolume && dot(normal, outgoingDir) < 0.001) + if (!isSpherical && dot(normal, outgoingDir) < 0.001) return false; value = GetPunctualEmission(lightData, outgoingDir, dist) * pdf; @@ -400,7 +401,7 @@ bool SampleLights(LightList lightList, outgoingDir = -lightData.forward; } - if (!isVolume && (dot(normal, outgoingDir) < 0.001)) + if (!isSpherical && (dot(normal, outgoingDir) < 0.001)) return false; dist = FLT_INF; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl index 324502d8034..71afe8ff1ec 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl @@ -16,8 +16,10 @@ struct MaterialData // Index of refraction (if relevant) float ior; - // View vector + // View vector, and altered shading normal + // (to be consistent with the view vector and geometric normal) float3 V; + float3 Nv; }; struct MaterialResult @@ -78,11 +80,26 @@ bool IsBelow(MaterialData mtlData) return !IsAbove(mtlData); } -float3x3 GetTangentFrame(MaterialData mtlData) +float3 GetDiffuseNormal(MaterialData mtlData) +{ + return mtlData.bsdfData.normalWS; +} + +float3 GetSpecularNormal(MaterialData mtlData) +{ + return mtlData.Nv; +} + +float3 GetLightNormal(MaterialData mtlData) +{ + return GetDiffuseNormal(mtlData) == GetSpecularNormal(mtlData) ? GetDiffuseNormal(mtlData) : float3(0.0, 0.0, 0.0); +} + +float3x3 GetSpecularTangentFrame(MaterialData mtlData) { return mtlData.bsdfData.anisotropy != 0.0 ? - float3x3(mtlData.bsdfData.tangentWS, mtlData.bsdfData.bitangentWS, mtlData.bsdfData.normalWS) : - GetLocalFrame(mtlData.bsdfData.normalWS); + float3x3(mtlData.bsdfData.tangentWS, mtlData.bsdfData.bitangentWS, GetSpecularNormal(mtlData)) : + GetLocalFrame(GetSpecularNormal(mtlData)); } float3 ComputeConsistentShadingNormal(float3 Wi, float3 G, float3 N) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl index ae8ee443015..cba0bea2484 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingVolume.hlsl @@ -130,7 +130,7 @@ void ComputeVolumeScattering(inout PathIntersection pathIntersection : SV_RayPay // Light sampling if (computeDirect) { - if (SampleLights(lightList, inputSample, scatteringPosition, 0.0, ray.Direction, value, pdf, ray.TMax)) + if (SampleLights(lightList, inputSample, scatteringPosition, 0.0, true, ray.Direction, value, pdf, ray.TMax)) { // FIXME: Apply phase function and divide by pdf (only isotropic for now, and not sure about sigmaS value) value *= _HeightFogBaseScattering.xyz * ComputeHeightFogMultiplier(scatteringPosition.y) * INV_FOUR_PI / pdf; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl index b5a3d356cc6..6313f0deac3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassPathTracing.hlsl @@ -101,7 +101,7 @@ void ComputeSurfaceScattering(inout PathIntersection pathIntersection : SV_RayPa #ifdef _SURFACE_TYPE_TRANSPARENT float3 lightNormal = 0.0; #else - float3 lightNormal = mtlData.bsdfData.normalWS; + float3 lightNormal = GetLightNormal(mtlData); #endif LightList lightList = CreateLightList(shadingPosition, lightNormal, builtinData.renderingLayers); @@ -119,7 +119,7 @@ void ComputeSurfaceScattering(inout PathIntersection pathIntersection : SV_RayPa // Light sampling if (computeDirect) { - if (SampleLights(lightList, inputSample.xyz, rayDescriptor.Origin, mtlData.bsdfData.normalWS, rayDescriptor.Direction, value, pdf, rayDescriptor.TMax)) + if (SampleLights(lightList, inputSample.xyz, rayDescriptor.Origin, lightNormal, false, rayDescriptor.Direction, value, pdf, rayDescriptor.TMax)) { EvaluateMaterial(mtlData, rayDescriptor.Direction, mtlResult); From 27233bc7c9554cb2d229c0eed439d241682ac2ec Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Tue, 13 Apr 2021 13:38:13 +0200 Subject: [PATCH 144/148] Made the equality test on normals (for light normal) slightly more lenient. --- .../PathTracing/Shaders/PathTracingMaterial.hlsl | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl index 71afe8ff1ec..040cb2dc29e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingMaterial.hlsl @@ -92,11 +92,13 @@ float3 GetSpecularNormal(MaterialData mtlData) float3 GetLightNormal(MaterialData mtlData) { - return GetDiffuseNormal(mtlData) == GetSpecularNormal(mtlData) ? GetDiffuseNormal(mtlData) : float3(0.0, 0.0, 0.0); + // If both diffuse and specular normals are quasi-indentical, return one of them, otherwise return a null vector + return dot(GetDiffuseNormal(mtlData), GetSpecularNormal(mtlData)) > 0.99 ? GetDiffuseNormal(mtlData) : float3(0.0, 0.0, 0.0); } float3x3 GetSpecularTangentFrame(MaterialData mtlData) { + // If we have anisotropy, we want our local frame to follow tangential directions, otherwise any orientation will do return mtlData.bsdfData.anisotropy != 0.0 ? float3x3(mtlData.bsdfData.tangentWS, mtlData.bsdfData.bitangentWS, GetSpecularNormal(mtlData)) : GetLocalFrame(GetSpecularNormal(mtlData)); From 4c6173dfb207bf0867cf137b2187b8550140aea0 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Tue, 13 Apr 2021 18:53:01 +0200 Subject: [PATCH 145/148] Improved robustness of sheen evaluation. --- .../RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl index fd192eff530..a4edf8befa9 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/Shaders/PathTracingBSDF.hlsl @@ -332,7 +332,7 @@ void EvaluateSheen(MaterialData mtlData, out float pdf) { // We use cosine-weighted sampling for this lobe - float NdotL = dot(GetSpecularNormal(mtlData), outgoingDir); + float NdotL = saturate(dot(GetSpecularNormal(mtlData), outgoingDir)); pdf = NdotL * INV_PI; float NdotV = dot(GetSpecularNormal(mtlData), mtlData.V); From 41565303139cdfe0cd163cacbc0b5e527a598cee Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Tue, 13 Apr 2021 19:17:23 +0200 Subject: [PATCH 146/148] Minor change to fabric evaluation, now that we have two normals. --- .../Material/Fabric/FabricPathTracing.hlsl | 54 +++++++++---------- 1 file changed, 26 insertions(+), 28 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl index bea0e184a95..cfb7faef2a2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Fabric/FabricPathTracing.hlsl @@ -216,44 +216,36 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult if (IsAbove(mtlData)) { - if (IsAbove(GetDiffuseNormal(mtlData), sampleDir)) // BRDFs + if (HasFlag(mtlData.bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_COTTON_WOOL)) { - if (HasFlag(mtlData.bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_COTTON_WOOL)) + if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) { - if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) - { - BRDF::EvaluateLambert(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffPdf *= mtlData.bsdfWeight[0]; - } + BRDF::EvaluateLambert(mtlData, sampleDir, result.diffValue, result.diffPdf); + result.diffPdf *= mtlData.bsdfWeight[0]; + } - if (mtlData.bsdfWeight[1] > BSDF_WEIGHT_EPSILON) - { - BRDF::EvaluateSheen(mtlData, sampleDir, result.specValue, result.specPdf); - result.specPdf *= mtlData.bsdfWeight[1]; - } + if (mtlData.bsdfWeight[1] > BSDF_WEIGHT_EPSILON) + { + BRDF::EvaluateSheen(mtlData, sampleDir, result.specValue, result.specPdf); + result.specPdf *= mtlData.bsdfWeight[1]; } - else // MATERIALFEATUREFLAGS_FABRIC_SILK + } + else // MATERIALFEATUREFLAGS_FABRIC_SILK + { + if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) { - if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) - { - BRDF::EvaluateBurley(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffPdf *= mtlData.bsdfWeight[0]; - } - - if (mtlData.bsdfWeight[1] > BSDF_WEIGHT_EPSILON) - { - BRDF::EvaluateAnisoGGX(mtlData, mtlData.bsdfData.fresnel0, sampleDir, result.specValue, result.specPdf); - result.specPdf *= mtlData.bsdfWeight[1]; - } + BRDF::EvaluateBurley(mtlData, sampleDir, result.diffValue, result.diffPdf); + result.diffPdf *= mtlData.bsdfWeight[0]; } - if (HasFlag(mtlData.bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_SUBSURFACE_SCATTERING)) + if (mtlData.bsdfWeight[1] > BSDF_WEIGHT_EPSILON) { - // We compensate for the fact that there is no spec when computing SSS - result.specValue /= mtlData.subsurfaceWeightFactor; + BRDF::EvaluateAnisoGGX(mtlData, mtlData.bsdfData.fresnel0, sampleDir, result.specValue, result.specPdf); + result.specPdf *= mtlData.bsdfWeight[1]; } } - else if (mtlData.bsdfWeight[2] > BSDF_WEIGHT_EPSILON) // Diffuse BTDF + + if (IsBelow(GetDiffuseNormal(mtlData), sampleDir) && mtlData.bsdfWeight[2] > BSDF_WEIGHT_EPSILON) { BTDF::EvaluateLambert(mtlData, sampleDir, result.diffValue, result.diffPdf); result.diffValue *= mtlData.bsdfData.transmittance; @@ -265,6 +257,12 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult result.diffValue /= mtlData.subsurfaceWeightFactor; } } + + if (HasFlag(mtlData.bsdfData.materialFeatures, MATERIALFEATUREFLAGS_FABRIC_SUBSURFACE_SCATTERING)) + { + // We compensate for the fact that there is no spec when computing SSS + result.specValue /= mtlData.subsurfaceWeightFactor; + } } } From 836193aa6e2cefe997a7686e667decbd671eab54 Mon Sep 17 00:00:00 2001 From: Remi Chapelain Date: Wed, 14 Apr 2021 10:53:46 +0200 Subject: [PATCH 147/148] Update tests and reference images --- .../Direct3D12/None/5001_PathTracing.png | 4 +- .../None/5003_PathTracing_transparency.png | 4 +- .../Direct3D12/None/5006_PathTracing_DoF.png | 4 +- .../5007_PathTracing_Materials_SG_Lit.png | 4 +- .../None/5008_PathTracing_NormalMapping.png | 4 +- .../None/5009_PathTracing_FabricMaterial.png | 4 +- .../Direct3D12/None/5001_PathTracing.png | 4 +- .../None/5003_PathTracing_transparency.png | 4 +- .../Direct3D12/None/5006_PathTracing_DoF.png | 4 +- .../5007_PathTracing_Materials_SG_Lit.png | 4 +- .../None/5008_PathTracing_NormalMapping.png | 3 + .../5008_PathTracing_NormalMapping.png.meta | 97 +++ .../None/5009_PathTracing_FabricMaterial.png | 3 + .../5009_PathTracing_FabricMaterial.png.meta | 97 +++ .../5008_PathTracing_NormalMapping.unity | 814 ++++++++++++++++-- .../ReflectionMtl.mat | 3 +- .../Sphere_AlphaClip.mat | 264 ++++++ .../Sphere_AlphaClip.mat.meta | 8 + .../Sphere_Smoothness_0.mat | 262 ++++++ .../Sphere_Smoothness_0.mat.meta | 8 + .../Sphere_Smoothness_1.mat | 262 ++++++ .../Sphere_Smoothness_1.mat.meta | 8 + .../Sphere_Smoothness_25.mat | 262 ++++++ .../Sphere_Smoothness_25.mat.meta | 8 + .../Sphere_Smoothness_75.mat | 262 ++++++ .../Sphere_Smoothness_75.mat.meta | 8 + 26 files changed, 2327 insertions(+), 82 deletions(-) create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat.meta create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat create mode 100644 TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat.meta diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png index cef90a28907..bfce5e1eb93 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5001_PathTracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8e27b8251e0a49db0ac7d78e05cac6045b593d29a2aaf0c41dfa3470513d8ad5 -size 573961 +oid sha256:565701b3b6a07b250d278aaa00dd23db384f841fe2093d6811b96889e918f8d1 +size 578141 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5003_PathTracing_transparency.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5003_PathTracing_transparency.png index dd69b1a423e..0ac08f69969 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5003_PathTracing_transparency.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5003_PathTracing_transparency.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:dc38ea9ae91b8ee15318c1e62948c30de267fa3f18ee31988c31db3c543ea21b -size 816829 +oid sha256:13c4b4ff33137c3ce6d6c080aef1a30da908c011c96732ed2152f576c67fcbf7 +size 817056 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5006_PathTracing_DoF.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5006_PathTracing_DoF.png index afe33c09740..52cf5c12803 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5006_PathTracing_DoF.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5006_PathTracing_DoF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:4a1be4770d57a043a2c05efdfa1b8034bc05213e4e9d377ed97d7d0effe31d6e -size 581407 +oid sha256:e6e92d500558704f06404a215aa276dbf7a83a6805ae3338ec8cd70c8d3c3698 +size 595739 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png index 39f79b0fa2f..5d7919b51d0 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:725c3b80a3d7276968bffc9deebe56c019716790f524c0473b66d68a339e6915 -size 425111 +oid sha256:67c62545982a194d91f750714063101250448bf7cfeec8bbe6dcce14a1da4312 +size 431067 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png index d1c7830d645..5922f64dbda 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5008_PathTracing_NormalMapping.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:fe758bbfeb12a3eab1223c4a4f69edb4bef9e77e14981d517dbdb444a1d20fb1 -size 689301 +oid sha256:e1bdcfe461ff21a1e3797ab8ee31f04279dc87e8c64414cfa9c529097f2c9b88 +size 708676 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5009_PathTracing_FabricMaterial.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5009_PathTracing_FabricMaterial.png index ed74818602c..b9ad42d2b7f 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5009_PathTracing_FabricMaterial.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/5009_PathTracing_FabricMaterial.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:11c232951ae60e26202b187785c3c1ece29e9ac51c34d1c401d27169204f1439 -size 637902 +oid sha256:262f37f2c89b869bde05eab3df55d672e9902c3970f22214580a5dd8d785fe3a +size 638756 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5001_PathTracing.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5001_PathTracing.png index 38aa3b7635d..bfce5e1eb93 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5001_PathTracing.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5001_PathTracing.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a3895661050aac74184f0828cbedeadd6344b378ef97c7c1d638afb68956245c -size 602331 +oid sha256:565701b3b6a07b250d278aaa00dd23db384f841fe2093d6811b96889e918f8d1 +size 578141 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5003_PathTracing_transparency.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5003_PathTracing_transparency.png index 8e108fcf9d7..0ac08f69969 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5003_PathTracing_transparency.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5003_PathTracing_transparency.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0cbcabf92bd1e0b92be8ecd9bbb0f15b6f80360506edfd255407bab4c6d70942 -size 816576 +oid sha256:13c4b4ff33137c3ce6d6c080aef1a30da908c011c96732ed2152f576c67fcbf7 +size 817056 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5006_PathTracing_DoF.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5006_PathTracing_DoF.png index 949c4be4797..52cf5c12803 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5006_PathTracing_DoF.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5006_PathTracing_DoF.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:3da49dbfdbe6f3c6bcfdf351991838b263e49a1e8ad83bab1ea2f0d8c7ad8ff9 -size 660038 +oid sha256:e6e92d500558704f06404a215aa276dbf7a83a6805ae3338ec8cd70c8d3c3698 +size 595739 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png index c8cbc803c52..5d7919b51d0 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5007_PathTracing_Materials_SG_Lit.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:58698111dd23aae471a3872331d06c0cd9db5b33015b8e8dcb56cb69ef337a85 -size 556660 +oid sha256:67c62545982a194d91f750714063101250448bf7cfeec8bbe6dcce14a1da4312 +size 431067 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png new file mode 100644 index 00000000000..5922f64dbda --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e1bdcfe461ff21a1e3797ab8ee31f04279dc87e8c64414cfa9c529097f2c9b88 +size 708676 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png.meta new file mode 100644 index 00000000000..a249f7976c4 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5008_PathTracing_NormalMapping.png.meta @@ -0,0 +1,97 @@ +fileFormatVersion: 2 +guid: e895d0812f0bf264bba647ecf1054527 +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: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + 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: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png new file mode 100644 index 00000000000..b9ad42d2b7f --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:262f37f2c89b869bde05eab3df55d672e9902c3970f22214580a5dd8d785fe3a +size 638756 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png.meta b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png.meta new file mode 100644 index 00000000000..d29016d5464 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/5009_PathTracing_FabricMaterial.png.meta @@ -0,0 +1,97 @@ +fileFormatVersion: 2 +guid: a8135e09d2b70c74c903b12da90908d2 +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: 0 + wrapU: 0 + wrapV: 0 + wrapW: 0 + 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: [] + nameFileIdTable: {} + spritePackingTag: + pSDRemoveMatte: 0 + pSDShowRemoveMatteOption: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping.unity b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping.unity index 4eb61185e6c..69deff67b87 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping.unity +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping.unity @@ -38,7 +38,7 @@ RenderSettings: m_ReflectionIntensity: 1 m_CustomReflection: {fileID: 0} m_Sun: {fileID: 0} - m_IndirectSpecularColor: {r: 0.33350468, g: 0.49948496, b: 0.8330078, a: 1} + m_IndirectSpecularColor: {r: 0.33339566, g: 0.49941906, b: 0.8330078, a: 1} m_UseRadianceAmbientProbe: 0 --- !u!157 &3 LightmapSettings: @@ -168,6 +168,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -251,6 +252,102 @@ Transform: m_Father: {fileID: 0} m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &237343301 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 237343305} + - component: {fileID: 237343304} + - component: {fileID: 237343303} + - component: {fileID: 237343302} + m_Layer: 0 + m_Name: Sphere_Smoothness_.25 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &237343302 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237343301} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &237343303 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237343301} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3c5ef18527c5c5149ae44ebab54cce79, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &237343304 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237343301} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &237343305 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 237343301} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 4, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &277314768 GameObject: m_ObjectHideFlags: 0 @@ -281,14 +378,6 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} m_Name: m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 m_Intensity: 15915.494 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 @@ -298,6 +387,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -314,6 +404,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 0 m_InteractsWithSky: 1 @@ -363,9 +454,14 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -381,10 +477,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &277314770 Light: m_ObjectHideFlags: 0 @@ -521,7 +624,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 634879374} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: -5.2, y: 0.2, z: 12} + m_LocalPosition: {x: 0, y: 0.2, z: 12} m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_Children: [] m_Father: {fileID: 1882146458} @@ -552,6 +655,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -590,6 +694,102 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 634879374} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &648018543 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 648018547} + - component: {fileID: 648018546} + - component: {fileID: 648018545} + - component: {fileID: 648018544} + m_Layer: 0 + m_Name: Sphere_Smoothness_1 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &648018544 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648018543} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &648018545 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648018543} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: faf33607ada8b3943b6808704599071d, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &648018546 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648018543} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &648018547 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 648018543} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -6, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} --- !u!1 &726446113 GameObject: m_ObjectHideFlags: 0 @@ -634,6 +834,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -686,6 +887,102 @@ Transform: m_Father: {fileID: 1882146458} m_RootOrder: 0 m_LocalEulerAnglesHint: {x: -90, y: 0, z: 0} +--- !u!1 &848986946 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 848986950} + - component: {fileID: 848986949} + - component: {fileID: 848986948} + - component: {fileID: 848986947} + m_Layer: 0 + m_Name: Sphere (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &848986947 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848986946} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &848986948 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848986946} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3431e9ceee1f099449e113d44328f6fb, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &848986949 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848986946} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &848986950 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 848986946} + m_LocalRotation: {x: 0, y: 0.5735764, z: 0, w: 0.8191521} + m_LocalPosition: {x: 2, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 70, z: 0} --- !u!1 &910509911 GameObject: m_ObjectHideFlags: 0 @@ -751,6 +1048,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -781,7 +1079,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &1157225236 +--- !u!1 &1081729457 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -789,37 +1087,125 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1157225239} - - component: {fileID: 1157225238} - - component: {fileID: 1157225237} + - component: {fileID: 1081729461} + - component: {fileID: 1081729460} + - component: {fileID: 1081729459} + - component: {fileID: 1081729458} m_Layer: 0 - m_Name: Directional Light + m_Name: Sphere_Smoothness_.75 m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1157225237 -MonoBehaviour: +--- !u!135 &1081729458 +SphereCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1157225236} + m_GameObject: {fileID: 1081729457} + m_Material: {fileID: 0} + m_IsTrigger: 0 m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 - m_Intensity: 5 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1081729459 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081729457} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6d46aa105532cc040b4e30aaa7bd9b3c, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1081729460 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081729457} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1081729461 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1081729457} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: -4, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1157225236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1157225239} + - component: {fileID: 1157225238} + - component: {fileID: 1157225237} + m_Layer: 0 + m_Name: Directional Light + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1157225237 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1157225236} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Intensity: 5 m_EnableSpotReflector: 0 m_LuxAtDistance: 1 m_InnerSpotPercent: 0 @@ -828,6 +1214,7 @@ MonoBehaviour: m_VolumetricDimmer: 1 m_LightUnit: 2 m_FadeDistance: 10000 + m_VolumetricFadeDistance: 10000 m_AffectDiffuse: 1 m_AffectSpecular: 1 m_NonLightmappedOnly: 0 @@ -844,6 +1231,7 @@ MonoBehaviour: m_AreaLightCookie: {fileID: 0} m_IESPoint: {fileID: 0} m_IESSpot: {fileID: 0} + m_IncludeForRayTracing: 1 m_AreaLightShadowCone: 120 m_UseScreenSpaceShadows: 1 m_InteractsWithSky: 1 @@ -893,9 +1281,14 @@ MonoBehaviour: m_NormalBias: 0.75 m_SlopeBias: 0.5 m_ShadowUpdateMode: 0 + m_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -911,10 +1304,17 @@ MonoBehaviour: useOldInspector: 0 useVolumetric: 1 featuresFoldout: 1 - showAdditionalSettings: 0 m_AreaLightEmissiveMeshShadowCastingMode: 0 m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 --- !u!108 &1157225238 Light: m_ObjectHideFlags: 0 @@ -1056,6 +1456,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1086,6 +1487,102 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &1383548813 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1383548817} + - component: {fileID: 1383548816} + - component: {fileID: 1383548815} + - component: {fileID: 1383548814} + m_Layer: 0 + m_Name: Sphere (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1383548814 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383548813} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1383548815 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383548813} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 03a51d8fe223f844f857fc9c6b8ce758, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1383548816 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383548813} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1383548817 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1383548813} + m_LocalRotation: {x: 0, y: 0.5735764, z: 0, w: 0.8191521} + m_LocalPosition: {x: 0, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 70, z: 0} --- !u!1001 &1425876746 PrefabInstance: m_ObjectHideFlags: 0 @@ -1097,17 +1594,25 @@ PrefabInstance: propertyPath: m_Name value: HDRP_Test_Camera objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.x value: 0 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.y - value: 7.17 + value: 7.87 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalPosition.z - value: 4.46 + value: 3.86 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 0.9396927 objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalRotation.x @@ -1121,14 +1626,6 @@ PrefabInstance: propertyPath: m_LocalRotation.z value: 0 objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_LocalRotation.w - value: 0.9396927 - objectReference: {fileID: 0} - - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RootOrder - value: 0 - objectReference: {fileID: 0} - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: m_LocalEulerAnglesHint.x value: 40 @@ -1158,13 +1655,13 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 - value: 70005818916701 + propertyPath: clearColorMode + value: 0 objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: backgroundColorHDR.r - value: 0.11953845 + propertyPath: backgroundColorHDR.b + value: 0.12477186 objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -1173,23 +1670,23 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: backgroundColorHDR.b - value: 0.12477186 + propertyPath: backgroundColorHDR.r + value: 0.11953845 objectReference: {fileID: 0} - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: clearColorMode - value: 0 + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: ImageComparisonSettings.TargetWidth - value: 768 + propertyPath: waitFrames + value: 1 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: ImageComparisonSettings.TargetHeight - value: 384 + propertyPath: xrCompatible + value: 0 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -1204,18 +1701,18 @@ PrefabInstance: objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: waitFrames + propertyPath: renderGraphCompatible value: 1 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: xrCompatible - value: 0 + propertyPath: ImageComparisonSettings.TargetWidth + value: 768 objectReference: {fileID: 0} - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} - propertyPath: renderGraphCompatible - value: 1 + propertyPath: ImageComparisonSettings.TargetHeight + value: 384 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} @@ -1325,6 +1822,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1363,6 +1861,102 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1597749229} m_Mesh: {fileID: 10209, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1651306499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1651306503} + - component: {fileID: 1651306502} + - component: {fileID: 1651306501} + - component: {fileID: 1651306500} + m_Layer: 0 + m_Name: Sphere (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &1651306500 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1651306499} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &1651306501 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1651306499} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0bc0c78cb389b3c4593c3463f43b818f, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &1651306502 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1651306499} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &1651306503 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1651306499} + m_LocalRotation: {x: 0, y: 0.13052616, z: 0, w: 0.9914449} + m_LocalPosition: {x: -2, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 15, z: 0} --- !u!1 &1790480761 GameObject: m_ObjectHideFlags: 0 @@ -1390,7 +1984,7 @@ Transform: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 1790480761} m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.2, z: 12} + m_LocalPosition: {x: -5.2, y: 0.2, z: 12} m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} m_Children: [] m_Father: {fileID: 1882146458} @@ -1421,6 +2015,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1559,6 +2154,7 @@ MeshRenderer: m_CastShadows: 1 m_ReceiveShadows: 1 m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 m_MotionVectors: 1 m_LightProbeUsage: 1 m_ReflectionProbeUsage: 1 @@ -1589,3 +2185,99 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} +--- !u!1 &2132717196 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 2132717200} + - component: {fileID: 2132717199} + - component: {fileID: 2132717198} + - component: {fileID: 2132717197} + m_Layer: 0 + m_Name: Sphere_Smoothness_0 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!135 &2132717197 +SphereCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132717196} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 2 + m_Radius: 0.5 + m_Center: {x: 0, y: 0, z: 0} +--- !u!23 &2132717198 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132717196} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 095bca25cc5005c46a84523037248f61, type: 2} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 1 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!33 &2132717199 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132717196} + m_Mesh: {fileID: 10207, guid: 0000000000000000e000000000000000, type: 0} +--- !u!4 &2132717200 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 2132717196} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 6, y: 0.75, z: 8.5} + m_LocalScale: {x: 1.5, y: 1.5, z: 1.5} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/ReflectionMtl.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/ReflectionMtl.mat index 6441fb97eb7..ee15b571105 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/ReflectionMtl.mat +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/ReflectionMtl.mat @@ -85,7 +85,7 @@ Material: m_Offset: {x: 0, y: 0} - _MainTex: m_Texture: {fileID: 0} - m_Scale: {x: 1, y: 1} + m_Scale: {x: 50, y: 10} m_Offset: {x: 0, y: 0} - _MaskMap: m_Texture: {fileID: 0} @@ -181,6 +181,7 @@ Material: - _DistortionVectorBias: -1 - _DistortionVectorScale: 2 - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 - _DoubleSidedNormalMode: 1 - _DstBlend: 0 - _EmissiveColorMode: 1 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat new file mode 100644 index 00000000000..a975f583d6c --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat @@ -0,0 +1,264 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-2205227687880834299 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere_AlphaClip + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _ALPHATEST_ON _DISABLE_SSR_TRANSPARENT _DOUBLESIDED_ON _NORMALMAP + _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 1 + m_CustomRenderQueue: 2475 + stringTagMap: + RenderType: TransparentCutout + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 2800000, guid: deef39d0b4d72ab40adc1a64bc4a5265, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 2800000, guid: deef39d0b4d72ab40adc1a64bc4a5265, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 2800000, guid: 57fce5aa5865eaa4fbb2111399715db7, type: 3} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 1 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 0 + - _CullModeForward: 0 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 1 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 0 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.8 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 3 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: -1, g: -1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat.meta new file mode 100644 index 00000000000..c319a78ee4c --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_AlphaClip.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 03a51d8fe223f844f857fc9c6b8ce758 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat new file mode 100644 index 00000000000..0cfe3836897 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat @@ -0,0 +1,262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere_Smoothness_0 + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4407933813583323387 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat.meta new file mode 100644 index 00000000000..ed25625a9e6 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_0.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 095bca25cc5005c46a84523037248f61 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat new file mode 100644 index 00000000000..7ea08b264b1 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat @@ -0,0 +1,262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere_Smoothness_1 + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 1 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4407933813583323387 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat.meta new file mode 100644 index 00000000000..2188ef5e36f --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_1.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: faf33607ada8b3943b6808704599071d +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat new file mode 100644 index 00000000000..8db5ebd5d36 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat @@ -0,0 +1,262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere_Smoothness_25 + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.25 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4407933813583323387 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat.meta new file mode 100644 index 00000000000..b163865bc3b --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_25.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3c5ef18527c5c5149ae44ebab54cce79 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat new file mode 100644 index 00000000000..03a6a7d9a86 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat @@ -0,0 +1,262 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: Sphere_Smoothness_75 + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - MOTIONVECTORS + - ForwardEmissiveForDeferred + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_Lightmaps: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_LightmapsInd: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - unity_ShadowMasks: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Ints: [] + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DoubleSidedEnable: 0 + - _DoubleSidedGIMode: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _ForceForwardEmissive: 0 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicRemapMax: 1 + - _MetallicRemapMin: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _Smoothness: 0.75 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 0.5019608, g: 0.5019608, b: 0.5019608, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &4407933813583323387 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 12 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat.meta b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat.meta new file mode 100644 index 00000000000..ca5dc24ff48 --- /dev/null +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/5008_PathTracing_NormalMapping/Sphere_Smoothness_75.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6d46aa105532cc040b4e30aaa7bd9b3c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 2100000 + userData: + assetBundleName: + assetBundleVariant: From 84a3ba3a161448bc23b1c59ce1f4fbc568543925 Mon Sep 17 00:00:00 2001 From: Remi Chapelain Date: Wed, 14 Apr 2021 15:14:54 +0200 Subject: [PATCH 148/148] Forgot one test... --- .../None/1000_RaytracingQualityKeyword_PathTracer_Default.png | 4 ++-- .../None/1000_RaytracingQualityKeyword_PathTracer_Default.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png index 58f3ec3b244..551225eaddb 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8ceb91cb624b7c428911efde6befd0b903cb4a4c0c6f429715f378c0096428f9 -size 593509 +oid sha256:1d89b80bf46ef683385d5187161549275e2e8d90e25d5a091586f3b197ed0fc1 +size 597640 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png index 3db1baabbd5..551225eaddb 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsPlayer/Direct3D12/None/1000_RaytracingQualityKeyword_PathTracer_Default.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f5bd13fedf367db42d061aabe39a07b8d5e557a87fef0be971e1460c784692d7 -size 594092 +oid sha256:1d89b80bf46ef683385d5187161549275e2e8d90e25d5a091586f3b197ed0fc1 +size 597640