From dedddbeb81939c7ce7b39024ecbb97277ffc6067 Mon Sep 17 00:00:00 2001 From: remi-chapelain <57442369+remi-chapelain@users.noreply.github.com> Date: Mon, 6 Jul 2020 10:10:50 +0200 Subject: [PATCH 01/35] Modify scene for better stability (#1120) --- .../None/709_CameraExtendedCulling.png | 4 +-- .../Scenes/709_CameraExtendedCulling.unity | 30 +++++++---------- com.unity.testing.hdrp/Scripts/AddAngles.cs | 32 +++++++++++++++++++ .../Scripts/AddAngles.cs.meta | 11 +++++++ 4 files changed, 57 insertions(+), 20 deletions(-) create mode 100644 com.unity.testing.hdrp/Scripts/AddAngles.cs create mode 100644 com.unity.testing.hdrp/Scripts/AddAngles.cs.meta diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/709_CameraExtendedCulling.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/709_CameraExtendedCulling.png index 03e3b3ce7b0..86255dc1fb0 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/709_CameraExtendedCulling.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/709_CameraExtendedCulling.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:47f367b77fa99b2e3ce139e7cc71c8aa10eec32077c11e283dbe9fa97649f2b3 -size 62765 +oid sha256:89f73b43cb779b0d316e0ec2bf1f1140a221a33ed6888146f66b981d977f8693 +size 64404 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/709_CameraExtendedCulling.unity b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/709_CameraExtendedCulling.unity index 3c048fe8759..d7b710c0c6e 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/Scenes/709_CameraExtendedCulling.unity +++ b/TestProjects/HDRP_DXR_Tests/Assets/Scenes/709_CameraExtendedCulling.unity @@ -129,7 +129,7 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 1934281440} m_PrefabAsset: {fileID: 0} ---- !u!114 &317366833 +--- !u!114 &317366834 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -138,13 +138,11 @@ MonoBehaviour: m_GameObject: {fileID: 317366831} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 14d7896b83927c247821fa13f452106f, type: 3} + m_Script: {fileID: 11500000, guid: d29a2d820d8afeb4a88421fa92f66c71, type: 3} m_Name: m_EditorClassIdentifier: - localSpace: 0 - angles: {x: -45, y: 0, z: 0} - frequency: 1 - fps: 60 + anglesToAdd: {x: 45, y: 0, z: 0} + waitFrames: 3 --- !u!1001 &466758464 PrefabInstance: m_ObjectHideFlags: 0 @@ -239,7 +237,7 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 1934281440} m_PrefabAsset: {fileID: 0} ---- !u!114 &596496634 +--- !u!114 &596496635 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -248,13 +246,11 @@ MonoBehaviour: m_GameObject: {fileID: 596496632} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 14d7896b83927c247821fa13f452106f, type: 3} + m_Script: {fileID: 11500000, guid: d29a2d820d8afeb4a88421fa92f66c71, type: 3} m_Name: m_EditorClassIdentifier: - localSpace: 0 - angles: {x: 0, y: 45, z: 20} - frequency: 0.5 - fps: 60 + anglesToAdd: {x: 0, y: 45, z: 20} + waitFrames: 3 --- !u!1 &891046727 GameObject: m_ObjectHideFlags: 0 @@ -567,7 +563,7 @@ GameObject: type: 3} m_PrefabInstance: {fileID: 1934281440} m_PrefabAsset: {fileID: 0} ---- !u!114 &1888081535 +--- !u!114 &1888081536 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -576,13 +572,11 @@ MonoBehaviour: m_GameObject: {fileID: 1888081533} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 14d7896b83927c247821fa13f452106f, type: 3} + m_Script: {fileID: 11500000, guid: d29a2d820d8afeb4a88421fa92f66c71, type: 3} m_Name: m_EditorClassIdentifier: - localSpace: 0 - angles: {x: 45, y: 0, z: 0} - frequency: 1 - fps: 60 + anglesToAdd: {x: 45, y: 0, z: 0} + waitFrames: 3 --- !u!1001 &1934281440 PrefabInstance: m_ObjectHideFlags: 0 diff --git a/com.unity.testing.hdrp/Scripts/AddAngles.cs b/com.unity.testing.hdrp/Scripts/AddAngles.cs new file mode 100644 index 00000000000..f8ff024e8cb --- /dev/null +++ b/com.unity.testing.hdrp/Scripts/AddAngles.cs @@ -0,0 +1,32 @@ +using System.Collections; +using System.Collections.Generic; +using UnityEngine; + +public class AddAngles : MonoBehaviour +{ + + [SerializeField] Vector3 anglesToAdd = new Vector3(0f, 0f, 0f); + [SerializeField] int waitFrames = 0; + + Vector3 startAngles = Vector3.zero; + int localFrameCount = 0; + + // Use this for initialization + void Start() + { + startAngles = transform.eulerAngles; + } + + // Update is called once per frame + void Update() + { + + if(localFrameCount == waitFrames){ + transform.eulerAngles = startAngles + anglesToAdd; + Destroy(this); + } + + localFrameCount++; + + } +} diff --git a/com.unity.testing.hdrp/Scripts/AddAngles.cs.meta b/com.unity.testing.hdrp/Scripts/AddAngles.cs.meta new file mode 100644 index 00000000000..351d6cf0aa2 --- /dev/null +++ b/com.unity.testing.hdrp/Scripts/AddAngles.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: d29a2d820d8afeb4a88421fa92f66c71 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: From db99426faf11e06aed50a2ae18c57b197ba59502 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Mon, 6 Jul 2020 18:02:13 +0200 Subject: [PATCH 02/35] Fix area light gizmo not updating engine side light v2 (#1156) * Update base light area size. * changelog * Better change. * revert whitespace * Make the change editor only. --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/Lighting/Light/HDAdditionalLightData.cs | 4 ++++ 2 files changed, 5 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c2f934fdbb7..cf64167a758 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -722,6 +722,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed unitialized ray tracing resources when using non-default HDRP asset (case 1259467). - Fixed overused the atlas for Animated/Render Target Cookies (1259930). - Fixed sky asserts with XR multipass +- Fixed for area light not updating baked light result when modifying with gizmo. ### Changed - Improve MIP selection for decals on Transparents 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 0b4c75b283f..1cb92f331cd 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 @@ -2832,6 +2832,10 @@ void UpdateShapeSize() // Force to clamp the shape if we changed the type of the light shapeWidth = m_ShapeWidth; shapeHeight = m_ShapeHeight; + +#if UNITY_EDITOR + legacyLight.areaSize = new Vector2(shapeWidth, shapeHeight); +#endif } /// From 9af51f9b317635945f3ffa4e48bd011dda3ac058 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Mon, 6 Jul 2020 18:03:55 +0200 Subject: [PATCH 03/35] Updated doc. (#1152) --- .../Documentation~/Ray-Tracing-Path-Tracing.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Path-Tracing.md b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Path-Tracing.md index 473fce82dc1..7b2b165593f 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Path-Tracing.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Ray-Tracing-Path-Tracing.md @@ -25,9 +25,9 @@ Path tracing shares the general requirements and setup as other ray tracing effe Path tracing uses the [Volume](Volumes.html) framework, so to enable this feature, and modify its properties, you must add a Path Tracing override to a [Volume](Volumes.html) in your Scene. To do this: 1. In the Scene or Hierarchy view, select a GameObject that contains a Volume component to view it in the Inspector. -2. In the Inspector, select Add Override > Path Tracing. +2. In the Inspector, select Add Override > Ray Tracing > Path Tracing. 3. In the Inspector for the Path Tracing Volume Override, check the Enable option. If you do not see the Enable 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.html). This switches HDRP to path-traced rendering and you should initially see a noisy image that converges towards a clean result. -4. If the image does not converge over time, select the drop-down next to the effect toggle and enable Animated Materials. +4. If the image does not converge over time, select the drop-down next to the effect toggle and enable Always Refresh. ![](Images/RayTracingPathTracing3.png) From f8893e50ebb86f513af53e9510b8659c70ab9d71 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 09:27:52 +0200 Subject: [PATCH 04/35] Address decal layer documentation feedback (#1157) * Update Decal-Projector.md * update doc based on feedback --- .../Documentation~/Decal-Projector.md | 9 ++++---- .../Documentation~/Decal.md | 23 +++++++++---------- .../Documentation~/Default-Settings-Window.md | 4 ++-- .../Documentation~/HDRP-Features.md | 4 ++-- .../Upgrading-from-2020.1-to-2020.2.md | 6 ++--- 5 files changed, 23 insertions(+), 23 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Decal-Projector.md b/com.unity.render-pipelines.high-definition/Documentation~/Decal-Projector.md index a56ad460f21..da80a16c071 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Decal-Projector.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Decal-Projector.md @@ -1,6 +1,8 @@ # Decal Projector -The High Definition Render Pipeline (HDRP) includes the Decal Projector component, which allows you to project specific Materials (decals) into the Scene. Decals are Materials that use the [Decal Shader](Decal-Shader.md) or [Master Node Decal](Master-Node-Decal.md). When the Decal Projector component projects decals into the Scene, they interact with the Scene’s lighting and wrap around Meshes. You can use thousands of decals in your Scene simultaneously because HDRP instances them. This means that the rendering process is not resource intensive as long as the decals use the same Material. +The High Definition Render Pipeline (HDRP) includes the Decal Projector component, which allows you to project specific Materials (decals) into the Scene. Decals are Materials that use the [Decal Shader](Decal-Shader.md) or [Decal master node](Master-Node-Decal.md). When the Decal Projector component projects decals into the Scene, they interact with the Scene’s lighting and wrap around Meshes. You can use thousands of decals in your Scene simultaneously because HDRP instances them. This means that the rendering process is not resource intensive as long as the decals use the same Material. + +The Decal Projector also supports [Decal Layers](Decal.md) which means you can control which Materials receive decals on a Layer by Layer basis. ![](Images/DecalProjector1.png) @@ -45,9 +47,8 @@ Using the Inspector allows you to change all of the Decal Projector properties, ## Limitations -- Decal Projector can affect Opaque Material with both a [Decal Shader](Decal-Shader.md) or a [Master Node Decal](Master-Node-Decal.md). It can affect Transparent Material only with a Decal shader. -- Decal Projector support [Decal Layers](Decal.md) +- The Decal Projector can affect opaque Materials with either a [Decal Shader](Decal-Shader.md) or a [Decal master node](Master-Node-Decal.md). However, it can only affect transparent Materials with the [Decal Shader](Decal-Shader.md). - Decal Emissive isn't supported on Transparent Material. -- When you project a decal onto a surface, the emissive component of the decal affects the surface regardless of whether you enable **Receive Decal** on the surface's Material or not. Decal Layers allow to disable receive of Emissive Decal. +- The **Receive Decals** property of Materials in HDRP does not affect emissive decals. HDRP always renders emissive decals unless you use Decal Layers, which can disable emissive decals on a Layer by Layer basis. - If you project a decal onto a transparent surface, HDRP ignores the decal's Texture tiling. - In **Project Settings > Graphics**, if **Instancing Variants** is set to **Strip All**, Unity strips the Decal Shader this component references when you build your Project. This happens even if you include the Shader in the **Always Included Shaders** list. If Unity strips the Shader during the build process, the decal does not appear in your built Application. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Decal.md b/com.unity.render-pipelines.high-definition/Documentation~/Decal.md index 7085aa666fe..9f4ba82bec0 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Decal.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Decal.md @@ -1,20 +1,19 @@ # Decal -The High Definition Render Pipeline (HDRP) includes Decal Mesh and the [Decal Projector](Decal-Projector.html) component, which you can use to project specific Materials into your Scene to create realistic-looking decals. These Materials must use the [Decal Shader](Decal-Shader.md) or [Master node Decal](Master-Node-Decal.md). Use those Shader to create decal Materials that you can place, or project, into your Scene. +The High Definition Render Pipeline (HDRP) includes two ways to create decals in a Scene. You can either use a decal Mesh and manually position the decal or use the [Decal Projector](Decal-Projector.html) component to project the decal. Both of these methods require that you create a decal Material, which is a Material that uses either the [Decal Shader](Decal-Shader.md) or [Decal master node](Master-Node-Decal.md). You can use either to create decal Materials that you can place or project into a Scene. ![](Images/HDRPFeatures-DecalShader.png) **Limitation and compatibility** -Decal Projector can affect Opaque Material with both a Decal shader and a Master Node Decal. It can affect Transparent Material only with a Decal shader. Emissive isn't supported on Transparent Material. Decal Projector support Decal Layers. The **ReceiveDecals** property of Material don't affect an Emissive Decal. Emissive are always render, only Decal Layers allow a surface to disable them. -Decal Mesh can affect only Opaque Material with both a Decal shader and a Master Node Decal. Decal Mesh don't support Decal Layers. +The Decal Projector can affect opaque Materials with either a [Decal Shader](Decal-Shader.md) or a [Decal master node](Master-Node-Decal.md). However, it can only affect transparent Materials with the [Decal Shader](Decal-Shader.md). It does not support emissive on Transparent Materials and does support Decal Layers. +Decal Meshes can only affect opaque Materials with either a [Decal Shader](Decal-Shader.md) or a [Decal master node](Master-Node-Decal.md). They also do not support Decal Layers. # Decal Layers ## Enabling Decal Layers -To use Decal Layers, you must enable them in your Project’s [HDRP Asset](HDRP-Asset.html). You can then enable Decal Layers in your default [Frame Settings](Frame-Settings.html) to set your Cameras to process Decal Layers. - +To use Decal Layers, first enable them in your Project’s [HDRP Asset](HDRP-Asset.md). You can then enable Decal Layers in your [Frame Settings](Frame-Settings.md) to set your Cameras to process Decal Layers. 1. Select the HDRP Asset in the Project window and, in the Inspector, go to **Decal > Layers** and enable the checkbox. 2. To enable Decal Layers in the default Frame Settings for all Cameras, in your HDRP Asset, go to the **Default Frame Settings For** section, select **Camera** from the drop-down and, in the **Rendering** section, enable the **Decal Layers** checkbox. @@ -26,25 +25,25 @@ To override the Frame Settings for Cameras and set Decal Layers on an individual ## Using Decal Layers -After you enable Decal Layers, you can then use them to decouple Meshes from certain Decal Projector in your Scene. To do this: +After you enable Decal Layers, you can then use them to decouple Meshes from certain Decal Projectors in your Scene. To do this: 1. Click on a Decal Projector in the Hierarchy or the Scene view to view it in the Inspector. -2. Use the **Decal Layer** property drop-down to select which Decal Layers this Light affects. +2. Use the **Decal Layer** property drop-down to select which Decal Layers this Decal Projector affects. 4. Click on a Mesh Renderer or Terrain in the Hierarchy or the Scene view to view it in the Inspector. 5. Use the **Rendering Layer Mask** drop-down (See [MeshRenderer](https://docs.unity3d.com/Manual/class-MeshRenderer.html) for GameObjects or [OtherSettings](https://docs.unity3d.com/Manual/terrain-OtherSettings.html) for Terrain) to select which Decal Layers affect this Mesh Renderer or Terrain. When you enable Decal Layers, a Decal only affects a Mesh Renderer or Terrain if they both use a matching Decal Layer. ## Renaming Decal Layers -By default, in the UI for Decals Projector, Mesh Renderers or Terrain, Decal Layers are named **Decal Layer 1-7**. To more easily differentiate between them, you can give each Decal Layer a specific name. To do this, open the [Default Settings Windows](Default-Settings-Window.md), and go to **Decal Layer Names**. Here you can set the name of each Decal Layer individually. +By default, in the UI for Decal Projectors, Mesh Renderers, or Terrain, Decal Layers are named **Decal Layer 1-7**. To more easily differentiate between them, you can give each Decal Layer a specific name. To do this, open the [Default Settings Windows](Default-Settings-Window.md), and go to **Decal Layer Names**. Here you can set the name of each Decal Layer individually. -## Enable/Disable Decal and Performance +## Performance implications Enabling Decal Layers require increase memory, have a GPU performance cost and generate more Shader Variant (so increase build time). -A Decal Shader or a Master Node Decal have a **Receive Decals** property allowing to disable Decal on those Material independently of the Decal Layers system. Disabling Decal with the Decal Layer system via **Rendering Layer Mask** of Mesh Renderer or Terrain don't save any performance. To save performance it is required to disable **Receive Decals** on the Material. +If you use the Decal Layer system to disable a decal, via the **Rendering Layer Mask** of a Mesh Renderer or Terrain, it doesn't save on any performance. Instead, to save performance, you need to disable the **Receive Decals** property for the Mesh Renderer or Terrain's Material. -Implementation detail: Decal require to render depth in a Depth Prepass to apply on Opaque Material causing an extra CPU cost. Only Material with **Receive Decals** enable will render in the Depth Prepass unless there is a force of a full Depth Prepass. If Decal is disable with Decal Layers system, it will still render in the Depth Prepass. Only the **Receive Decals** from Material allow to save performance. +Implementation detail: To allow HDRP to apply decals to opaque Materials, it must render depth in a Depth Prepass, which adds to the CPU resource intensity of the operation. Only Materials with **Receive Decals** enabled render in the Depth Prepass, unless you force a full Depth Prepass. If you disable a decal with the Decal Layers system, HDRP still renders it in the Depth Prepass. This is why you need to disable the **Receive Decals** property on Materials to save performance. ## Migration of data previous to Unity 2020.2 -Before Unity 2020.2 the default value when creating a Mesh Renderer or Terrain of **Rendering Layer Mask** don't include any of the Decal Layer flags. Consequence, when enabling Decal Layers with those data they default to not receive any Decals. Later version have **Decal Layer Default** enable by default. +Before Unity 2020.2, the default value for the **Rendering Layer Mask** for new Mesh Renderers and Terrain doesn't include any of the Decal Layer flags. This means that, when you enable Decal Layers, these Mesh Renderers and Terrain default to not receive any Decals. Later versions use **Decal Layer Default** by default. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md b/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md index 1520cc9bdb2..7a1980cc574 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Default-Settings-Window.md @@ -16,8 +16,8 @@ The HDRP Default Settings tab is part of the Project Settings window. To get to | Render Pipeline Resources | Stores references to Shaders and Materials that HDRP uses. When you build your Unity Project, HDRP embeds all of the resources that this Asset references. It allows you to set up multiple render pipelines in a Unity Project and, when you build the Project, Unity only embeds Shaders and Materials relevant for that pipeline. This is the Scriptable Render Pipeline equivalent of Unity’s Resources folder mechanism. When you create a new HDRP Asset, Unity also creates one of these and references it in the new HDRP Asset automatically. | | Render Pipeline Editor Resources | Stores reference resources for the Editor only. Unity does not include these when you build your Unity Project. When you create an HDRP Asset, Unity creates an HDRP Resources Asset, and the new HDRP Asset references it automatically. | | Shader Variant Log Level | Use the drop-down to select what information HDRP logs about Shader variants when you build your Unity Project. • Disabled: HDRP doesn’t log any Shader variant information.• Only HDRP Shaders: Only log Shader variant information for HDRP Shaders.• All Shaders: Log Shader variant information for every Shader type. | -| Light Layer Names | The name displayed on light and meshes when using [Light Layers](Light-Layers.md). | -| Decal Layer Names | The name displayed on decal and meshes when using [Decal Layers](Decal.md) | +| Light Layer Names | The name displayed on Lights and Meshes when using [Light Layers](Light-Layers.md).. | +| Decal Layer Names | The name displayed on decals and Meshes when using [Decal Layers](Decal.md). | ## Frame Settings diff --git a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Features.md b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Features.md index ea845704b8e..4a6fa672d13 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Features.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/HDRP-Features.md @@ -109,9 +109,9 @@ The AxF Shader supports the [X-Rite AxF](https://www.xrite.com/axf) measured Mat ![](Images/HDRPFeatures-DecalShader.png) -The Decal allows you to place decals on surfaces in your Scene. To apply a decal to a surface, you can either use the [Decal Projector component](Decal-Projector.md) to project the decal onto the surface, or assign the decal shader directly to a Mesh and then place the Mesh on the surface. For more information, including the full list of Shader properties, see the [Decal documentation](Decal.md). +HDRP allows you to apply decals to surfaces in your Scene. To apply a decal to a surface, you can either use the [Decal Projector component](Decal-Projector.md) to project the decal onto the surface, or assign the decal shader directly to a Mesh and then place the Mesh on the surface. For more information, see the [Decal documentation](Decal.md). -The Decal also support Decals layers allowing to control which objects receive decal or not. +HDRP also supports Decal Layers which allows you to control which GameObjects receive decals or not. ### Terrain Shader diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md index 49209222762..78e3315cb99 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md @@ -20,11 +20,11 @@ From Unity 2020.2, if you create a new [HDRP Asset](HDRP-Asset.md), the **MSAA W ## Decal -From Unity 2020.2, Decal no longer require a full Depth Prepass. Only Material with **Receive Decals** enable will be render during the Depth Prepass. Unless other option force it. +From Unity 2020.2, decals no longer require a full Depth Prepass. HDRP only renders Materials with **Receive Decals** enabled during the Depth Prepass. Unless other options force it. From Unity 2020.2, A new Decal Layer system is supported. It is disable by default. This Decal Layers system make use of the **Rendering Layer Mask** from Mesh Renderer and Terrain. The default value of this property prior of 2020.2 don't include any Decal Layer flags. Consequence is that when enabling this feature, no meshes will receives decal until configure correctly. A script **Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Enable Decal Layer Default on all loaded Mesh Renderer and Terrain** is provided to convert the already created Meshes as well a version to apply only on a selection. Newly created Mesh Renderer or Terrain have the have **Decal Layer Default** enable by default. -Warning: 2020.2.0b1 Isn't including the modification for the default value of **Rendering Layer Mask**. Creating new Meshes in this version don't have the correct flag. +Warning: 2020.2.0b1 does not include the modification for the default value of Rendering Layer Mask. If you use this version of Unity and create a new Mesh Renderer or Terrain, they do have the correct flag. ## Lighting @@ -91,7 +91,7 @@ From Unity 2020.2, the macro ENABLE_RAYTRACING, SHADEROPTIONS_RAYTRACING, and RA From Unity 2020.2,SHADERPASS for TransparentDepthPrepass and TransparentDepthPostpass identification is using respectively SHADERPASS_TRANSPARENT_DEPTH_PREPASS and SHADERPASS_TRANSPARENT_DEPTH_POSTPASS. Previously it was SHADERPASS_DEPTH_ONLY. Define CUTOFF_TRANSPARENT_DEPTH_PREPASS and CUTOFF_TRANSPARENT_DEPTH_POSTPASS and been removed as the new path macro can now be used. -From Unity 2020.2, a new multi compile is added on Depth Prepass and Motion vector pass to allow to support the Decal Layer feature. Those pass require to add #pragma multi_compile _ WRITE_DECAL_BUFFER. +Unity 2020.2 introduces a new multi-compile for Depth Prepass and Motion vector pass to allow for support of the Decal Layers feature. These passes now require you to add #pragma multi_compile _ WRITE_DECAL_BUFFER. ## Custom pass API From 7514ba1b012509b2bf87bd072086d23c3acce05b Mon Sep 17 00:00:00 2001 From: JordanL8 Date: Tue, 7 Jul 2020 12:14:09 +0100 Subject: [PATCH 05/35] Hdrp/docs/upgrading to 2020.2 (#1170) * Update Upgrading-from-2020.1-to-2020.2.md * Update Upgrading-from-2020.1-to-2020.2.md --- .../Upgrading-from-2020.1-to-2020.2.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md index 78e3315cb99..2202e578df3 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md @@ -22,7 +22,7 @@ From Unity 2020.2, if you create a new [HDRP Asset](HDRP-Asset.md), the **MSAA W From Unity 2020.2, decals no longer require a full Depth Prepass. HDRP only renders Materials with **Receive Decals** enabled during the Depth Prepass. Unless other options force it. -From Unity 2020.2, A new Decal Layer system is supported. It is disable by default. This Decal Layers system make use of the **Rendering Layer Mask** from Mesh Renderer and Terrain. The default value of this property prior of 2020.2 don't include any Decal Layer flags. Consequence is that when enabling this feature, no meshes will receives decal until configure correctly. A script **Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Enable Decal Layer Default on all loaded Mesh Renderer and Terrain** is provided to convert the already created Meshes as well a version to apply only on a selection. Newly created Mesh Renderer or Terrain have the have **Decal Layer Default** enable by default. +From Unity 2020.2, you can use the Decal Layers system which makes use of the **Rendering Layer Mask** property from a Mesh Renderer and Terrain. The default value of this property prior to 2020.2 does not include any Decal Layer flags. This means that when you enable this feature, no Meshes receive decals until you configure them correctly. A script **Edit > Render Pipeline/HD Render Pipeline > Upgrade from Previous Version > Enable Decal Layer Default on all loaded Mesh Renderer and Terrain** is provided to convert the already created Meshes, as well a version to apply only on a selection. Newly created Mesh Renderer or Terrain have the have **Decal Layer Default** enable by default. Warning: 2020.2.0b1 does not include the modification for the default value of Rendering Layer Mask. If you use this version of Unity and create a new Mesh Renderer or Terrain, they do have the correct flag. @@ -30,14 +30,15 @@ Warning: 2020.2.0b1 does not include the modification for the default value of R From Unity 2020.2, if you disable the sky override used as the **Static Lighting Sky** in the **Lighting** window, the sky no longer affects the baked lighting. Previously, the sky affected the baked lighting even when it was disabled. -From Unity 2020.2, HDRP has removed the Cubemap Array for Point [Light](Light-Component.md) cookies and now uses octahedral projection with a regular 2D-Cookie atlas. This is to allow for a single path for light cookies and IES, but it may produce visual artifacts when using a low-resolution cube-cookie. For example, projecting pixel art data. +From Unity 2020.2, HDRP has +the Cubemap Array for Point [Light](Light-Component.md) cookies and now uses octahedral projection with a regular 2D-Cookie atlas. This is to allow for a single path for light cookies and IES, but it may produce visual artifacts when using a low-resolution cube-cookie. For example, projecting pixel art data. -As the **Cubemap cookie atlas no longer exists**, it is possible that HDRP does not have enough space on the current 2D atlas for the cookies. If this is the case, HDRP displays an error in the Console window. To fix this, increase the size of the 2D cookie atlas. To do this: +As the **Cubemap cookie atlas** no longer exists, it is possible that HDRP does not have enough space on the current 2D atlas for the cookies. If this is the case, HDRP displays an error in the Console window. To fix this, increase the size of the 2D cookie atlas. To do this: Select your [HDRP Asset](HDRP-Asset.md). In the Inspector, go to Lighting > Cookies. In the 2D Atlas Size drop-down, select a larger cookie resolution. -From Unity 2020.2, the texture format of the color buffer selected in HDRP asset is apply to planar reflection probe. Previously planar reflection probe where always using float16 rendertarget. +From Unity 2020.2, the texture format of the color buffer in the HDRP Asset also applies to [Planar Reflection Probes](Planar-Reflection-Probe.md). Previously, Planar Reflection Probes always used a float16 rendertarget. ## Shadows @@ -49,11 +50,11 @@ The shader function `SampleShadow_PCSS` now requires you to pass in an additiona ## Shader config file -From Unity 2020.2, due to the change of shadow map, the enum HDShadowFilteringQuality have been moved to HDShadowManager.cs and the variables ShaderConfig.s_DeferredShadowFiltering as well as the option ShaderOptions.DeferredShadowFiltering have been removed from the code as they have no impact anymore. +From Unity 2020.2, due to the change of the shadow map, HDRP moved the HDShadowFilteringQuality enum to HDShadowManager.cs. HDRP also removed ShaderConfig.s_DeferredShadowFiltering and ShaderOptions.DeferredShadowFiltering from the source code because they have no effect anymore. From Unity 2020.2, a new option is available named ColoredShadow. It allows you to control whether a shadow is chromatic or monochrome. ColoredShadow is enabled by default and currently only works with [Ray-traced shadows](Ray-Traced-Shadows.md). Note that colored shadows are more resource-intensive to process than standard shadows. -From Unity 2020.2, the Raytracing option and equivalent generated shader macro SHADEROPTIONS_RAYTRACING have been removed. It is not longer require to edit shader config file to use Raytracing features of HDRP. +From Unity 2020.2, the Raytracing option and equivalent generated shader macro SHADEROPTIONS_RAYTRACING have been removed. You no longer need to edit the shader config file to use ray-traced effects in HDRP. ## Shader code @@ -98,7 +99,7 @@ Unity 2020.2 introduces a new multi-compile for Depth Prepass and Motion vector The signature of the Execute function has changed to simplify the parameters, now it only takes a CustomPassContext as its input: `void Execute(CustomPassContext ctx)` -The CustomPassContext contains all the parameters of the old Execute function, but also all the available Render Textures as well as a MaterialPropertyBlock unique to the custom pass instance. +The CustomPassContext contains all the parameters of the old `Execute` function, but also all the available Render Textures as well as a MaterialPropertyBlock unique to the custom pass instance. This context allows you to use the new [CustomPassUtils]( ../api/UnityEngine.Rendering.HighDefinition.CustomPassUtils.html) class which contains functions to speed up the development of your custom passes. From fd7ff2e771e46e5726eba7e02479bb77adf2be09 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Tue, 7 Jul 2020 13:15:43 +0200 Subject: [PATCH 06/35] HDRP - Shutter speed can now be changed by dragging the mouse over the UI label (#1110) * Shutter speed can now change by dragging over the label * Changelog * Typo Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../Camera/HDCameraUI.Drawers.cs | 48 ++++++++----------- 2 files changed, 20 insertions(+), 29 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index cf64167a758..c15c475ca09 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -882,6 +882,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - The `CustomPassLoadCameraColor` and `CustomPassSampleCameraColor` functions now returns the correct color buffer when used in after post process instead of the color pyramid (which didn't had post processes). - PBR Sky now doesn't go black when going below sea level, but it instead freezes calculation as if on the horizon. - Fixed an issue with quality setting foldouts not opening when clicking on them (1253088). +- Shutter speed can now be changed by dragging the mouse over the UI label (case 1245007). ## [7.1.1] - 2019-09-05 diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Drawers.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Drawers.cs index b87477783d0..e78b29b0d24 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Drawers.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Camera/HDCameraUI.Drawers.cs @@ -359,43 +359,33 @@ static void Drawer_PhysicalCamera(SerializedHDCamera p, Editor owner) const int k_UnitMenuWidth = 80; const int k_OffsetPerIndent = 15; const int k_LabelFieldSeparator = 2; - float indentOffset = EditorGUI.indentLevel * k_OffsetPerIndent; + const int k_Offset = 1; int oldIndentLevel = EditorGUI.indentLevel; - - var lineRect = EditorGUILayout.GetControlRect(); - var labelRect = new Rect(lineRect.x, lineRect.y, EditorGUIUtility.labelWidth, lineRect.height); - var fieldRect = new Rect(labelRect.xMax + k_LabelFieldSeparator, lineRect.y, lineRect.width - labelRect.width - k_UnitMenuWidth - k_LabelFieldSeparator * 2, lineRect.height); - var unitMenu = new Rect(fieldRect.xMax + k_LabelFieldSeparator, lineRect.y, k_UnitMenuWidth, lineRect.height); - - //We cannot had the shutterSpeedState as this is not a serialized property but a global edition mode. - //This imply that it will never go bold nor can be reverted in prefab overrides - EditorGUI.BeginProperty(labelRect, shutterSpeedContent, p.shutterSpeed); - EditorGUI.LabelField(labelRect, shutterSpeedContent); - EditorGUI.EndProperty(); + + // Don't take into account the indentLevel when rendering the units field EditorGUI.indentLevel = 0; + var lineRect = EditorGUILayout.GetControlRect(); + var fieldRect = new Rect(k_OffsetPerIndent + k_LabelFieldSeparator + k_Offset, lineRect.y, lineRect.width - k_UnitMenuWidth, lineRect.height); + var unitMenu = new Rect(fieldRect.xMax + k_LabelFieldSeparator, lineRect.y, k_UnitMenuWidth - k_LabelFieldSeparator, lineRect.height); + + // We cannot had the shutterSpeedState as this is not a serialized property but a global edition mode. + // This imply that it will never go bold nor can be reverted in prefab overrides + m_ShutterSpeedState.value = (ShutterSpeedUnit)EditorGUI.Popup(unitMenu, (int)m_ShutterSpeedState.value, k_ShutterSpeedUnitNames); - - float previousShutterSpeed = p.shutterSpeed.floatValue; - if (previousShutterSpeed > 0f && m_ShutterSpeedState.value == ShutterSpeedUnit.OneOverSecond) - previousShutterSpeed = 1f / previousShutterSpeed; - + // Reset the indent level + EditorGUI.indentLevel = oldIndentLevel; + EditorGUI.BeginProperty(fieldRect, shutterSpeedContent, p.shutterSpeed); { - EditorGUI.BeginChangeCheck(); - var newShutterSpeed = EditorGUI.FloatField(fieldRect, previousShutterSpeed); - if (EditorGUI.EndChangeCheck()) - { - if (newShutterSpeed <= 0f) - p.shutterSpeed.floatValue = 0f; - else if (m_ShutterSpeedState.value == ShutterSpeedUnit.OneOverSecond) - p.shutterSpeed.floatValue = 1f / newShutterSpeed; - else - p.shutterSpeed.floatValue = newShutterSpeed; - } + // if we we use (1 / second) units, then change the value for the display and then revert it back + if (m_ShutterSpeedState.value == ShutterSpeedUnit.OneOverSecond && p.shutterSpeed.floatValue > 0) + p.shutterSpeed.floatValue = 1.0f / p.shutterSpeed.floatValue; + EditorGUI.PropertyField(fieldRect, p.shutterSpeed, shutterSpeedContent); + if (m_ShutterSpeedState.value == ShutterSpeedUnit.OneOverSecond && p.shutterSpeed.floatValue > 0) + p.shutterSpeed.floatValue = 1.0f / p.shutterSpeed.floatValue; } EditorGUI.EndProperty(); - EditorGUI.indentLevel = oldIndentLevel; using (var horizontal = new EditorGUILayout.HorizontalScope()) using (var propertyScope = new EditorGUI.PropertyScope(horizontal.rect, gateFitContent, cam.gateFit)) From a9a73a4aaf33268f589656ef4389784c1046ffb0 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 14:29:45 +0200 Subject: [PATCH 07/35] Fix API breaking change: Add Public quality to Raytracing volume effect - RR --- .../Material/SubsurfaceScattering/SubSurfaceScattering.cs | 2 +- .../Runtime/RenderPipeline/PathTracing/PathTracing.cs | 2 +- .../Runtime/RenderPipeline/Raytracing/LightCluster.cs | 2 +- .../Runtime/RenderPipeline/Raytracing/RayTracingSettings.cs | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubSurfaceScattering.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubSurfaceScattering.cs index 98a81be6ebc..587d57fb53e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubSurfaceScattering.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubSurfaceScattering.cs @@ -21,7 +21,7 @@ public sealed class SubSurfaceScattering : VolumeComponent [Tooltip("Number of samples for sub-surface scattering.")] public ClampedIntParameter sampleCount = new ClampedIntParameter(1, 1, 32); - SubSurfaceScattering() + public SubSurfaceScattering() { displayName = "SubSurface Scattering (Preview)"; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/PathTracing.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/PathTracing.cs index 1339b4def1d..750489f7357 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/PathTracing.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/PathTracing/PathTracing.cs @@ -49,7 +49,7 @@ public sealed class PathTracing : VolumeComponent [Tooltip("Defines the maximum intensity value computed for a path segment.")] public ClampedFloatParameter maximumIntensity = new ClampedFloatParameter(10f, 0f, 100f); - PathTracing() + public PathTracing() { displayName = "Path Tracing (Preview)"; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs index 6a1676a2601..bd5c5bd63b6 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/LightCluster.cs @@ -20,7 +20,7 @@ public sealed class LightCluster : VolumeComponent [Tooltip("Controls the range of the cluster around the camera.")] public ClampedFloatParameter cameraClusterRange = new ClampedFloatParameter(10f, 0.001f, 50f); - LightCluster() + public LightCluster() { displayName = "Light Cluster (Preview)"; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RayTracingSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RayTracingSettings.cs index e9dab337366..ff0a5a927ce 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RayTracingSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RayTracingSettings.cs @@ -28,7 +28,7 @@ public sealed class RayTracingSettings : VolumeComponent [Tooltip("Enables the override of the camera culling. This increases the validity area of animated skinned mesh that are outside of the frustum.")] public BoolParameter extendCameraCulling = new BoolParameter(false); - RayTracingSettings() + public RayTracingSettings() { displayName = "Ray Tracing Settings (Preview)"; } From b0d3ccea0c90340f5f40164dfea3c75ff035b84d Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 15:18:44 +0200 Subject: [PATCH 08/35] ix API breaking change: Add Public quality to Raytracing volume effect - RR --- .../Runtime/RenderPipeline/Raytracing/RecursiveRendering.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RecursiveRendering.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RecursiveRendering.cs index 37ab45ff297..9d66107a12d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RecursiveRendering.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/RecursiveRendering.cs @@ -39,7 +39,7 @@ public sealed class RecursiveRendering : VolumeComponent [Tooltip("Minmal Smoothness for Reflection. If the surface has a smoothness value below this threshold, a reflection ray will not be case and it will fallback on other techniques.")] public ClampedFloatParameter minSmoothness = new ClampedFloatParameter(0.5f, 0.0f, 1.0f); - RecursiveRendering() + public RecursiveRendering() { displayName = "Recursive Rendering (Preview)"; } From 19cee37e2a4eb68c0789add7ddfe0520fdd6a2b9 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 20:22:17 +0200 Subject: [PATCH 09/35] Add 3 tests in HDRP_Test for 1709_DecalLayers for deferred, forward and forwardMSAA (#1138) * add 1709 test * More decal test * Update 1709_DecalLayer.unity * fix material * Update test * update test * Add 3 new test forward, forward MSAA and deferred * add the 3 test in build settings * Add reference screenshots for windows * update reference screenshots * disabe 1709 with rendergraph * Fixed creation of Decal Buffer (should not have been bindMS) * Fixed missing read causing copy depth pass to be pruned * Fixed clear color of decal prepass buffer * Re-enabled tests 1709 1710 and change order to workaround resolution issue when running tests with temporal. Co-authored-by: Julien Ignace --- .../Scenes/1x_Materials/1709_DecalLayer.meta | 8 + .../1709_DecalLayer/DecalBlock.prefab | 2321 +++++++++++++++++ .../1709_DecalLayer/DecalBlock.prefab.meta | 7 + .../1709_DecalLayer/DecalFabricSG.shadergraph | 813 ++++++ .../DecalFabricSG.shadergraph.meta | 10 + .../1709_DecalLayer/DecalLitSG.shadergraph | 858 ++++++ .../DecalLitSG.shadergraph.meta | 10 + .../DecalProjectorDefaultLayer.mat | 291 +++ .../DecalProjectorDefaultLayer.mat.meta | 8 + .../DecalProjectorEmissiveLayer5.mat | 290 ++ .../DecalProjectorEmissiveLayer5.mat.meta | 8 + .../1709_DecalLayer/DecalProjectorLayer3.mat | 291 +++ .../DecalProjectorLayer3.mat.meta | 8 + .../1709_DecalLayer/DecalProjectorLayer7.mat | 291 +++ .../DecalProjectorLayer7.mat.meta | 8 + .../1709_DecalLayer/DecalProjectorNoLayer.mat | 291 +++ .../DecalProjectorNoLayer.mat.meta | 8 + .../1x_Materials/1709_DecalLayer/NoDecal.meta | 8 + .../1709_DecalLayer/NoDecal/NoDecalAxF.mat | 358 +++ .../NoDecal/NoDecalAxF.mat.meta | 8 + .../NoDecal/NoDecalAxFTransparent.mat | 359 +++ .../NoDecal/NoDecalAxFTransparent.mat.meta | 8 + .../1709_DecalLayer/NoDecal/NoDecalFabric.mat | 271 ++ .../NoDecal/NoDecalFabric.mat.meta | 8 + .../NoDecal/NoDecalFabricTransparent.mat | 273 ++ .../NoDecal/NoDecalFabricTransparent.mat.meta | 8 + .../1709_DecalLayer/NoDecal/NoDecalLit.mat | 267 ++ .../NoDecal/NoDecalLit.mat.meta | 8 + .../NoDecal/NoDecalLitTransparent.mat | 270 ++ .../NoDecal/NoDecalLitTransparent.mat.meta | 8 + .../1709_DecalLayer/NoDecal/NoDecalSGLit.mat | 271 ++ .../NoDecal/NoDecalSGLit.mat.meta | 8 + .../NoDecal/NoDecalSGLitTransparent.mat | 273 ++ .../NoDecal/NoDecalSGLitTransparent.mat.meta | 8 + .../1x_Materials/1709_DecalLayer/Regular.meta | 8 + .../Regular/ReceiveDecalAxF.mat | 357 +++ .../Regular/ReceiveDecalAxF.mat.meta | 8 + .../Regular/ReceiveDecalAxFTransparent.mat | 359 +++ .../ReceiveDecalAxFTransparent.mat.meta | 8 + .../Regular/ReceiveDecalFabric.mat | 271 ++ .../Regular/ReceiveDecalFabric.mat.meta | 8 + .../Regular/ReceiveDecalFabricTransparent.mat | 273 ++ .../ReceiveDecalFabricTransparent.mat.meta | 8 + .../Regular/ReceiveDecalLit.mat | 267 ++ .../Regular/ReceiveDecalLit.mat.meta | 8 + .../Regular/ReceiveDecalLitTransparent.mat | 269 ++ .../ReceiveDecalLitTransparent.mat.meta | 8 + .../Regular/ReceiveDecalSGLit.mat | 271 ++ .../Regular/ReceiveDecalSGLit.mat.meta | 8 + .../Regular/ReceiveDecalSGLitTransparent.mat | 273 ++ .../ReceiveDecalSGLitTransparent.mat.meta | 8 + .../1709_DecalLayer_Deferred.unity | 2276 ++++++++++++++++ .../1709_DecalLayer_Deferred.unity.meta | 7 + .../1709_DecalLayer_Forward.unity | 2282 ++++++++++++++++ .../1709_DecalLayer_Forward.unity.meta | 7 + .../1709_DecalLayer_ForwardMSAA.unity | 2282 ++++++++++++++++ .../1709_DecalLayer_ForwardMSAA.unity.meta | 7 + .../1710_Decals_Normal_Patch.unity | 2 +- .../Vulkan/None/1709_DecalLayer_Deferred.png | 3 + .../None/1709_DecalLayer_Deferred.png.meta | 108 + .../Vulkan/None/1709_DecalLayer_Forward.png | 3 + .../None/1709_DecalLayer_Forward.png.meta | 108 + .../None/1709_DecalLayer_ForwardMSAA.png | 3 + .../None/1709_DecalLayer_ForwardMSAA.png.meta | 108 + .../Metal/None/1709_DecalLayer_Deferred.png | 3 + .../None/1709_DecalLayer_Deferred.png.meta | 108 + .../Metal/None/1709_DecalLayer_Forward.png | 3 + .../None/1709_DecalLayer_Forward.png.meta | 108 + .../None/1709_DecalLayer_ForwardMSAA.png | 3 + .../None/1709_DecalLayer_ForwardMSAA.png.meta | 108 + .../None/1709_DecalLayer_Deferred.png | 3 + .../None/1709_DecalLayer_Deferred.png.meta | 108 + .../None/1709_DecalLayer_Forward.png | 3 + .../None/1709_DecalLayer_Forward.png.meta | 108 + .../None/1709_DecalLayer_ForwardMSAA.png | 3 + .../None/1709_DecalLayer_ForwardMSAA.png.meta | 108 + .../None/1709_DecalLayer_Deferred.png | 3 + .../None/1709_DecalLayer_Deferred.png.meta | 108 + .../None/1709_DecalLayer_Forward.png | 3 + .../None/1709_DecalLayer_Forward.png.meta | 108 + .../None/1709_DecalLayer_ForwardMSAA.png | 3 + .../None/1709_DecalLayer_ForwardMSAA.png.meta | 108 + .../Vulkan/None/1709_DecalLayer_Deferred.png | 3 + .../None/1709_DecalLayer_Deferred.png.meta | 108 + .../Vulkan/None/1709_DecalLayer_Forward.png | 3 + .../None/1709_DecalLayer_Forward.png.meta | 108 + .../None/1709_DecalLayer_ForwardMSAA.png | 3 + .../None/1709_DecalLayer_ForwardMSAA.png.meta | 108 + .../ProjectSettings/EditorBuildSettings.asset | 12 +- .../HDRenderPipeline.Prepass.cs | 7 +- .../HDRenderPipeline.RenderGraph.cs | 8 +- .../RenderPipeline/HDRenderPipeline.cs | 4 + .../RP_Assets/HDRP_Test_Def.asset | 37 +- .../RP_Assets/HDRP_Test_Def_MSAAForward.asset | 84 +- .../ScenePrefabs/HDRP_Test_Camera.prefab | 9 +- 95 files changed, 19008 insertions(+), 28 deletions(-) create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity.meta create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity create mode 100644 TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png create mode 100644 TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer.meta new file mode 100644 index 00000000000..80a73b1ad05 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 436747f6012224a4ba847bb8bcf095eb +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab new file mode 100644 index 00000000000..169d68760ea --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab @@ -0,0 +1,2321 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!1 &8238282091676383192 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282091676383193} + m_Layer: 0 + m_Name: DecalBlock + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282091676383193 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091676383192} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} + m_Children: + - {fileID: 8238282091781611034} + - {fileID: 8238282093178192328} + - {fileID: 8238282093219535640} + - {fileID: 8238282091706388877} + - {fileID: 8238282093624124777} + - {fileID: 8238282092903180931} + - {fileID: 8238282093063162644} + - {fileID: 8238282092668260588} + - {fileID: 8238282093171535331} + - {fileID: 8238282092067627614} + - {fileID: 8238282092829091337} + - {fileID: 8238282092724046237} + - {fileID: 8238282092782350044} + - {fileID: 8238282093017687970} + - {fileID: 8238282093605822774} + - {fileID: 8238282093198442325} + - {fileID: 8238282092787483844} + m_Father: {fileID: 0} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8238282091706388876 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282091706388877} + - component: {fileID: 8238282091706388872} + - component: {fileID: 8238282091706388879} + - component: {fileID: 8238282091706388878} + m_Layer: 0 + m_Name: Quad (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282091706388877 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091706388876} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282091706388872 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091706388876} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282091706388879 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091706388876} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b8397e182884e2944825918b8d7c189b, 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!64 &8238282091706388878 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091706388876} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282091781611033 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282091781611034} + m_Layer: 0 + m_Name: UI + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282091781611034 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282091781611033} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalScale: {x: 2, y: 2, z: 2} + m_Children: + - {fileID: 8238282092860043092} + - {fileID: 8238282092024821637} + - {fileID: 8238282093439022014} + - {fileID: 8238282092627650199} + - {fileID: 8238282092940167268} + - {fileID: 8238282092628663476} + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &8238282092024821636 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092024821637} + - component: {fileID: 8238282092024821639} + - component: {fileID: 8238282092024821638} + - component: {fileID: 8238282092024821632} + m_Layer: 0 + m_Name: Fabric + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092024821637 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092024821636} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0.5, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8238282092024821639 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092024821636} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282092024821638 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092024821636} + m_Text: 'Fabric + +' + 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!114 &8238282092024821632 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092024821636} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282092024821638} +--- !u!1 &8238282092067627613 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092067627614} + - component: {fileID: 8238282092067627609} + - component: {fileID: 8238282092067627608} + - component: {fileID: 8238282092067627615} + m_Layer: 0 + m_Name: Quad (8) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092067627614 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092067627613} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092067627609 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092067627613} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092067627608 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092067627613} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: d34af28e0e8ca6c489dd43ee7d8432e1, 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!64 &8238282092067627615 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092067627613} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092627650198 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092627650199} + - component: {fileID: 8238282092627650193} + - component: {fileID: 8238282092627650192} + - component: {fileID: 8238282092627650194} + m_Layer: 0 + m_Name: SG Lit + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092627650199 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092627650198} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6, y: 0.5, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8238282092627650193 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092627650198} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282092627650192 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092627650198} + m_Text: 'SG Lit + +' + 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!114 &8238282092627650194 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092627650198} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282092627650192} +--- !u!1 &8238282092628663499 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092628663476} + - component: {fileID: 8238282092628663478} + - component: {fileID: 8238282092628663477} + - component: {fileID: 8238282092628663479} + m_Layer: 0 + m_Name: NoDecal + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092628663476 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092628663499} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.5, y: -1, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!23 &8238282092628663478 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092628663499} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282092628663477 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092628663499} + m_Text: No 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!114 &8238282092628663479 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092628663499} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282092628663477} +--- !u!1 &8238282092668260579 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092668260588} + - component: {fileID: 8238282092668260591} + - component: {fileID: 8238282092668260590} + - component: {fileID: 8238282092668260589} + m_Layer: 0 + m_Name: Quad (6) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092668260588 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092668260579} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 12, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092668260591 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092668260579} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092668260590 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092668260579} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 0bb1dc7682c440446a60a644adb4e8c5, 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!64 &8238282092668260589 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092668260579} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092724046236 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092724046237} + - component: {fileID: 8238282092724046232} + - component: {fileID: 8238282092724046239} + - component: {fileID: 8238282092724046238} + m_Layer: 0 + m_Name: Quad (10) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092724046237 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092724046236} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092724046232 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092724046236} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092724046239 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092724046236} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 66fd2a2919105494e8fafcb815fc7059, 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!64 &8238282092724046238 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092724046236} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092782350035 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092782350044} + - component: {fileID: 8238282092782350047} + - component: {fileID: 8238282092782350046} + - component: {fileID: 8238282092782350045} + m_Layer: 0 + m_Name: Quad (11) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092782350044 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092782350035} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 12 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092782350047 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092782350035} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092782350046 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092782350035} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 2b76ef044a9df23498480a6ef6314c1c, 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!64 &8238282092782350045 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092782350035} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092787483867 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092787483844} + - component: {fileID: 8238282092787483847} + - component: {fileID: 8238282092787483846} + - component: {fileID: 8238282092787483845} + m_Layer: 0 + m_Name: Quad (15) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092787483844 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092787483867} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 14, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 16 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092787483847 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092787483867} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092787483846 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092787483867} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: bd6612866dfff8e4da58c9866e106ccc, 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!64 &8238282092787483845 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092787483867} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092829091336 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092829091337} + - component: {fileID: 8238282092829091316} + - component: {fileID: 8238282092829091339} + - component: {fileID: 8238282092829091338} + m_Layer: 0 + m_Name: Quad (9) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092829091337 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092829091336} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 10 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092829091316 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092829091336} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092829091339 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092829091336} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 732364d3367f6b2469c719dbe72d410a, 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!64 &8238282092829091338 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092829091336} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092860043115 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092860043092} + - component: {fileID: 8238282092860043094} + - component: {fileID: 8238282092860043093} + - component: {fileID: 8238282092860043095} + m_Layer: 0 + m_Name: Axf + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092860043092 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092860043115} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8238282092860043094 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092860043115} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282092860043093 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092860043115} + m_Text: 'Axf + +' + 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!114 &8238282092860043095 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092860043115} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282092860043093} +--- !u!1 &8238282092903180930 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092903180931} + - component: {fileID: 8238282092903180942} + - component: {fileID: 8238282092903180941} + - component: {fileID: 8238282092903180940} + m_Layer: 0 + m_Name: Quad (4) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092903180931 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092903180930} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282092903180942 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092903180930} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282092903180941 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092903180930} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 60c682370952fa640ad31361828c438e, 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!64 &8238282092903180940 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092903180930} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282092940167291 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282092940167268} + - component: {fileID: 8238282092940167270} + - component: {fileID: 8238282092940167269} + - component: {fileID: 8238282092940167271} + m_Layer: 0 + m_Name: 'Albedo + + Receive Decal + + Mask' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282092940167268 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092940167291} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.5, y: 0, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!23 &8238282092940167270 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092940167291} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282092940167269 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092940167291} + 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!114 &8238282092940167271 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282092940167291} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282092940167269} +--- !u!1 &8238282093017687969 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093017687970} + - component: {fileID: 8238282093017687981} + - component: {fileID: 8238282093017687980} + - component: {fileID: 8238282093017687971} + m_Layer: 0 + m_Name: Quad (12) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093017687970 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093017687969} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 8, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 13 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093017687981 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093017687969} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093017687980 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093017687969} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 6bd0448a75d9f0a4db696848b9244679, 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!64 &8238282093017687971 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093017687969} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093063162667 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093063162644} + - component: {fileID: 8238282093063162647} + - component: {fileID: 8238282093063162646} + - component: {fileID: 8238282093063162645} + m_Layer: 0 + m_Name: Quad (5) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093063162644 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093063162667} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 6 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093063162647 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093063162667} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093063162646 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093063162667} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: c0fe165bd1bc9a547a4b5d4959c95c40, 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!64 &8238282093063162645 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093063162667} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093171535330 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093171535331} + - component: {fileID: 8238282093171535342} + - component: {fileID: 8238282093171535341} + - component: {fileID: 8238282093171535340} + m_Layer: 0 + m_Name: Quad (7) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093171535331 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093171535330} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 14, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 8 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093171535342 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093171535330} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093171535341 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093171535330} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5a2dca0b95646ba44ad2ec88110871f4, 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!64 &8238282093171535340 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093171535330} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093178192335 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093178192328} + - component: {fileID: 8238282093178192331} + - component: {fileID: 8238282093178192330} + - component: {fileID: 8238282093178192329} + m_Layer: 0 + m_Name: Quad + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093178192328 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093178192335} + 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: 8238282091676383193} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093178192331 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093178192335} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093178192330 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093178192335} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4fc465aa5e84caa418ed8e0e44cc1940, 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!64 &8238282093178192329 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093178192335} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093198442324 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093198442325} + - component: {fileID: 8238282093198442320} + - component: {fileID: 8238282093198442327} + - component: {fileID: 8238282093198442326} + m_Layer: 0 + m_Name: Quad (14) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093198442325 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093198442324} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 12, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 15 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093198442320 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093198442324} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093198442327 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093198442324} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 3fdb2222ec998494cb63d4d8aee61aef, 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!64 &8238282093198442326 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093198442324} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093219535647 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093219535640} + - component: {fileID: 8238282093219535643} + - component: {fileID: 8238282093219535642} + - component: {fileID: 8238282093219535641} + m_Layer: 0 + m_Name: Quad (1) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093219535640 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093219535647} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093219535643 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093219535647} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093219535642 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093219535647} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 5ff2217e629efe6438ab42ea8422abc8, 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!64 &8238282093219535641 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093219535647} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093439022013 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093439022014} + - component: {fileID: 8238282093439022008} + - component: {fileID: 8238282093439022015} + - component: {fileID: 8238282093439022009} + m_Layer: 0 + m_Name: 'Textured + + Lit + + Displace' + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093439022014 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093439022013} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 4, y: 0.5, z: 0} + m_LocalScale: {x: 0.115319274, y: 0.115319274, z: 0.115319274} + m_Children: [] + m_Father: {fileID: 8238282091781611034} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!23 &8238282093439022008 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093439022013} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!102 &8238282093439022015 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093439022013} + m_Text: Lit + 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!114 &8238282093439022009 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093439022013} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 0} + targetCamera: {fileID: 0} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 8238282093439022015} +--- !u!1 &8238282093605822773 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093605822774} + - component: {fileID: 8238282093605822769} + - component: {fileID: 8238282093605822768} + - component: {fileID: 8238282093605822775} + m_Layer: 0 + m_Name: Quad (13) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093605822774 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093605822773} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 14 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093605822769 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093605822773} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093605822768 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093605822773} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: af01e9953bd03ec4dabae05e13ba4a70, 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!64 &8238282093605822775 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093605822773} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &8238282093624124776 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 8238282093624124777} + - component: {fileID: 8238282093624124756} + - component: {fileID: 8238282093624124779} + - component: {fileID: 8238282093624124778} + m_Layer: 0 + m_Name: Quad (3) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &8238282093624124777 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093624124776} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 6, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 8238282091676383193} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!33 &8238282093624124756 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093624124776} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &8238282093624124779 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093624124776} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 1 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 4e45de811b6ba7d46af68fdedc690178, 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!64 &8238282093624124778 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 8238282093624124776} + m_Material: {fileID: 0} + m_IsTrigger: 0 + m_Enabled: 1 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab.meta new file mode 100644 index 00000000000..bd312f1918c --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalBlock.prefab.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 305c71116a97f1f449622845c45e34b7 +PrefabImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph new file mode 100644 index 00000000000..c67e79e6bcc --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph @@ -0,0 +1,813 @@ +{ + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "f970abe1ce59456bab4e3033ede2c6a1", + "m_Version": 2, + "m_Properties": [], + "m_Keywords": [], + "m_Nodes": [ + { + "m_Id": "175426646e784909a1774a0396b9bd20" + }, + { + "m_Id": "a80621432d9a4d0fabb084b88fa42304" + }, + { + "m_Id": "3d0ec6bcf7f14c2a83cae59a9dbaaff2" + }, + { + "m_Id": "810c453e113840ff9c8b85de7e98ac5e" + }, + { + "m_Id": "0d3b9aa1a5c843e5b089522458e9bdba" + }, + { + "m_Id": "316307e248cc43b5ba9bb4a3a8ff7303" + }, + { + "m_Id": "4d469052847d4721bcad709ce4d78267" + }, + { + "m_Id": "30e753d4e3064628b59d8ba4c7892928" + }, + { + "m_Id": "5d7860757824423f93636295de039ded" + }, + { + "m_Id": "91e93340bbea4a6eb2e283e1e3a88b0c" + }, + { + "m_Id": "0933f411cb894963ba9ea5cb9dab31df" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "175426646e784909a1774a0396b9bd20" + }, + { + "m_Id": "a80621432d9a4d0fabb084b88fa42304" + }, + { + "m_Id": "3d0ec6bcf7f14c2a83cae59a9dbaaff2" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "810c453e113840ff9c8b85de7e98ac5e" + }, + { + "m_Id": "0d3b9aa1a5c843e5b089522458e9bdba" + }, + { + "m_Id": "316307e248cc43b5ba9bb4a3a8ff7303" + }, + { + "m_Id": "4d469052847d4721bcad709ce4d78267" + }, + { + "m_Id": "30e753d4e3064628b59d8ba4c7892928" + }, + { + "m_Id": "5d7860757824423f93636295de039ded" + }, + { + "m_Id": "91e93340bbea4a6eb2e283e1e3a88b0c" + }, + { + "m_Id": "0933f411cb894963ba9ea5cb9dab31df" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + } + }, + "m_Path": "Shader Graphs", + "m_ConcretePrecision": 0, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "67829fb3b96e4dff90750d31751f503d" + } + ] +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "0727891ed784410184592ffbb4c99cd0", + "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_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0933f411cb894963ba9ea5cb9dab31df", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_NodeVersion": 0, + "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": "459e0b813a2a4adc9412b02fc156adc8" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "0b5e539d484e4527b66f7ded6df9c059", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "0d3b9aa1a5c843e5b089522458e9bdba", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_NodeVersion": 0, + "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": "f19600aaed664f2a9d09350333e7465a" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.FabricData", + "m_ObjectId": "15b7775c0d4b48f996c2a7c384083c41", + "m_MaterialType": 0, + "m_EnergyConservingSpecular": true, + "m_Transmission": false, + "m_SubsurfaceScattering": false +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "175426646e784909a1774a0396b9bd20", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_NodeVersion": 0, + "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": "a318de995e98467caf19fb47cbbe01e9" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.FabricSubTarget", + "m_ObjectId": "18d477841b1741ceb9fa6047608e9934" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "2305f69a584a4e5890a744bfbcb9c8b1", + "m_Id": 0, + "m_DisplayName": "Specular Color", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Specular", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [ + "X", + "Y", + "Z" + ], + "m_ColorMode": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "30e753d4e3064628b59d8ba4c7892928", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_NodeVersion": 0, + "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": "d1573ecce6694aa1bb8f22e2592efc67" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "316307e248cc43b5ba9bb4a3a8ff7303", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BentNormal", + "m_NodeVersion": 0, + "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": "79c52ff1430e44a9bbefbfd3a2c31dcc" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BentNormal" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "3d0ec6bcf7f14c2a83cae59a9dbaaff2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_NodeVersion": 0, + "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": "dd57ea96bac047b7be7ac8e3b33743a6" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "459e0b813a2a4adc9412b02fc156adc8", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "4d469052847d4721bcad709ce4d78267", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_NodeVersion": 0, + "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": "9b9144bf7e2b4f39a74505fc95ee619f" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5d7860757824423f93636295de039ded", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Specular", + "m_NodeVersion": 0, + "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": "2305f69a584a4e5890a744bfbcb9c8b1" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Specular" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "67829fb3b96e4dff90750d31751f503d", + "m_ActiveSubTarget": { + "m_Id": "18d477841b1741ceb9fa6047608e9934" + }, + "m_Datas": [ + { + "m_Id": "89ba82144e734b858f78a62997344222" + }, + { + "m_Id": "0727891ed784410184592ffbb4c99cd0" + }, + { + "m_Id": "815d1b59331d44c09db11b61c3756b69" + }, + { + "m_Id": "15b7775c0d4b48f996c2a7c384083c41" + } + ], + "m_CustomEditorGUI": "" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "79c52ff1430e44a9bbefbfd3a2c31dcc", + "m_Id": 0, + "m_DisplayName": "Bent Normal", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 3 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "810c453e113840ff9c8b85de7e98ac5e", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_NodeVersion": 0, + "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": "a37e017bdfde4dda9c2e15b7b418a3a6" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "815d1b59331d44c09db11b61c3756b69", + "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_DoubleSidedMode": 0, + "m_SupportLodCrossFade": false, + "m_DOTSInstancing": false, + "m_Version": 0 +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "89ba82144e734b858f78a62997344222", + "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_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "91e93340bbea4a6eb2e283e1e3a88b0c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_NodeVersion": 0, + "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": "b2c839382f7d4518ad8dc38ccb16958a" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b9144bf7e2b4f39a74505fc95ee619f", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "a318de995e98467caf19fb47cbbe01e9", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "a37e017bdfde4dda9c2e15b7b418a3a6", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [ + "X", + "Y", + "Z" + ], + "m_ColorMode": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a80621432d9a4d0fabb084b88fa42304", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_NodeVersion": 0, + "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": "0b5e539d484e4527b66f7ded6df9c059" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "b2c839382f7d4518ad8dc38ccb16958a", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_ColorMode": 1 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "d1573ecce6694aa1bb8f22e2592efc67", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "dd57ea96bac047b7be7ac8e3b33743a6", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "f19600aaed664f2a9d09350333e7465a", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 3 +} + diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph.meta new file mode 100644 index 00000000000..05c003d4340 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalFabricSG.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: ee7032c93299fb54e8554578e7b53e32 +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/1709_DecalLayer/DecalLitSG.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph new file mode 100644 index 00000000000..662cd1175c0 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph @@ -0,0 +1,858 @@ +{ + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "31dd4d05ec204e51ac7c870f42e1ab33", + "m_Version": 2, + "m_Properties": [], + "m_Keywords": [], + "m_Nodes": [ + { + "m_Id": "d66595563b394633994a60f7cb2fca81" + }, + { + "m_Id": "58d4c96e9cf449f495b61048be15dc9c" + }, + { + "m_Id": "da43c6d0982c4ffcb04d5d0c1e9a7273" + }, + { + "m_Id": "985f70413371472694ac3ee0d3724f38" + }, + { + "m_Id": "a4e216461ed24fa18ea3534dc5f14627" + }, + { + "m_Id": "eec549cbd3774f74a366c0ac092102f0" + }, + { + "m_Id": "5026aa228f68430a90d15ef44f900271" + }, + { + "m_Id": "eddf4643167646d2838e6d88d53a7c59" + }, + { + "m_Id": "6eb17aae9d03408fbc00b8b7bb7422bb" + }, + { + "m_Id": "672ac67b1f24468db134a13b3edddf23" + }, + { + "m_Id": "56fe6703739d49a1a57d74dbbb77e109" + }, + { + "m_Id": "36f4d3e428354117901fc9f82a13da1d" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [ + { + "m_Id": "d66595563b394633994a60f7cb2fca81" + }, + { + "m_Id": "58d4c96e9cf449f495b61048be15dc9c" + }, + { + "m_Id": "da43c6d0982c4ffcb04d5d0c1e9a7273" + } + ] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 200.0 + }, + "m_Blocks": [ + { + "m_Id": "985f70413371472694ac3ee0d3724f38" + }, + { + "m_Id": "a4e216461ed24fa18ea3534dc5f14627" + }, + { + "m_Id": "eec549cbd3774f74a366c0ac092102f0" + }, + { + "m_Id": "5026aa228f68430a90d15ef44f900271" + }, + { + "m_Id": "eddf4643167646d2838e6d88d53a7c59" + }, + { + "m_Id": "6eb17aae9d03408fbc00b8b7bb7422bb" + }, + { + "m_Id": "672ac67b1f24468db134a13b3edddf23" + }, + { + "m_Id": "56fe6703739d49a1a57d74dbbb77e109" + }, + { + "m_Id": "36f4d3e428354117901fc9f82a13da1d" + } + ] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + } + }, + "m_Path": "Shader Graphs", + "m_ConcretePrecision": 0, + "m_OutputNode": { + "m_Id": "" + }, + "m_ActiveTargets": [ + { + "m_Id": "46f122b4b2af40ea86648b84f9169d58" + } + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "064f21cbfeea488aa1615f324b7ff46b", + "m_Id": 0, + "m_DisplayName": "Normal (Tangent Space)", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 3 +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.SystemData", + "m_ObjectId": "1cbc8fefcba74717a9241f414ce575cb", + "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_DoubleSidedMode": 0, + "m_SupportLodCrossFade": false, + "m_DOTSInstancing": false, + "m_Version": 0 +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitData", + "m_ObjectId": "27069ed64eb3448b938b52036b50b685", + "m_RayTracing": false, + "m_MaterialType": 0, + "m_RefractionModel": 0, + "m_SSSTransmission": true, + "m_EnergyConservingSpecular": true, + "m_ClearCoat": false +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "36f4d3e428354117901fc9f82a13da1d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Alpha", + "m_NodeVersion": 0, + "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": "96efbc920f8d4a18bd8d170354e0df7b" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Alpha" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDTarget", + "m_ObjectId": "46f122b4b2af40ea86648b84f9169d58", + "m_ActiveSubTarget": { + "m_Id": "f767b1071b5b404b85a4e3407f66cc48" + }, + "m_Datas": [ + { + "m_Id": "27069ed64eb3448b938b52036b50b685" + }, + { + "m_Id": "d569895cdce64587ab9337294d111ad8" + }, + { + "m_Id": "4cfe4fecc3db4bfeb6671d531e151cd5" + }, + { + "m_Id": "1cbc8fefcba74717a9241f414ce575cb" + } + ], + "m_CustomEditorGUI": "" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "48fb3549e28548aeaa2e4616112119b8", + "m_Id": 0, + "m_DisplayName": "Smoothness", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Smoothness", + "m_StageCapability": 2, + "m_Value": 0.5, + "m_DefaultValue": 0.5, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.LightingData", + "m_ObjectId": "4cfe4fecc3db4bfeb6671d531e151cd5", + "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_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "5026aa228f68430a90d15ef44f900271", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.CoatMask", + "m_NodeVersion": 0, + "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": "9fa73d741c254ca7adb6bfbffef77b66" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.CoatMask" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "56fe6703739d49a1a57d74dbbb77e109", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Occlusion", + "m_NodeVersion": 0, + "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": "9b0a536191ab4234bbddfd19aa6c85ce" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Occlusion" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "58d4c96e9cf449f495b61048be15dc9c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Normal", + "m_NodeVersion": 0, + "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": "99f77a6e89304fdc97ae9b054d43aca4" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Normal" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "613f948f1ff344d09b058df772feaec2", + "m_Id": 0, + "m_DisplayName": "Bent Normal", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 3 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "66dfbb83b993482aa4942b82e22300b2", + "m_Id": 0, + "m_DisplayName": "Emission", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_ColorMode": 1 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "672ac67b1f24468db134a13b3edddf23", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Smoothness", + "m_NodeVersion": 0, + "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": "48fb3549e28548aeaa2e4616112119b8" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Smoothness" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.TangentMaterialSlot", + "m_ObjectId": "687734540869432f87f646620b8afafe", + "m_Id": 0, + "m_DisplayName": "Tangent", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "6eb17aae9d03408fbc00b8b7bb7422bb", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Emission", + "m_NodeVersion": 0, + "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": "66dfbb83b993482aa4942b82e22300b2" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Emission" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", + "m_ObjectId": "89bd9f95b0174f4fbe403200abe1120e", + "m_Id": 0, + "m_DisplayName": "Base Color", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "BaseColor", + "m_StageCapability": 2, + "m_Value": { + "x": 0.5, + "y": 0.5, + "z": 0.5 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [ + "X", + "Y", + "Z" + ], + "m_ColorMode": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "96efbc920f8d4a18bd8d170354e0df7b", + "m_Id": 0, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "985f70413371472694ac3ee0d3724f38", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BaseColor", + "m_NodeVersion": 0, + "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": "89bd9f95b0174f4fbe403200abe1120e" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BaseColor" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "99f77a6e89304fdc97ae9b054d43aca4", + "m_Id": 0, + "m_DisplayName": "Normal", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9b0a536191ab4234bbddfd19aa6c85ce", + "m_Id": 0, + "m_DisplayName": "Ambient Occlusion", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Occlusion", + "m_StageCapability": 2, + "m_Value": 1.0, + "m_DefaultValue": 1.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "9fa73d741c254ca7adb6bfbffef77b66", + "m_Id": 0, + "m_DisplayName": "Coat Mask", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "CoatMask", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "a4e216461ed24fa18ea3534dc5f14627", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalTS", + "m_NodeVersion": 0, + "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": "064f21cbfeea488aa1615f324b7ff46b" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalTS" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.PositionMaterialSlot", + "m_ObjectId": "aa30955c9e9c472b82d859444f177571", + "m_Id": 0, + "m_DisplayName": "Position", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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": [ + "X", + "Y", + "Z" + ], + "m_Space": 0 +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.BuiltinData", + "m_ObjectId": "d569895cdce64587ab9337294d111ad8", + "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_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "d66595563b394633994a60f7cb2fca81", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Position", + "m_NodeVersion": 0, + "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": "aa30955c9e9c472b82d859444f177571" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Position" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "da43c6d0982c4ffcb04d5d0c1e9a7273", + "m_Group": { + "m_Id": "" + }, + "m_Name": "VertexDescription.Tangent", + "m_NodeVersion": 0, + "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": "687734540869432f87f646620b8afafe" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "VertexDescription.Tangent" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "df6250afe03f4c93ac6be6e763478eb3", + "m_Id": 0, + "m_DisplayName": "Metallic", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Metallic", + "m_StageCapability": 2, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eddf4643167646d2838e6d88d53a7c59", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.Metallic", + "m_NodeVersion": 0, + "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": "df6250afe03f4c93ac6be6e763478eb3" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.Metallic" +} + +{ + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "eec549cbd3774f74a366c0ac092102f0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.BentNormal", + "m_NodeVersion": 0, + "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": "613f948f1ff344d09b058df772feaec2" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.BentNormal" +} + +{ + "m_Type": "UnityEditor.Rendering.HighDefinition.ShaderGraph.HDLitSubTarget", + "m_ObjectId": "f767b1071b5b404b85a4e3407f66cc48" +} + diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph.meta new file mode 100644 index 00000000000..88316db4ecc --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalLitSG.shadergraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: e89bd123d4f6bd1488338ebfa9d2c65c +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/1709_DecalLayer/DecalProjectorDefaultLayer.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat new file mode 100644 index 00000000000..78fe51ea9e9 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat @@ -0,0 +1,291 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521311478380263055 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DecalProjectorDefaultLayer + m_Shader: {fileID: 4800000, guid: 1d64af84bdc970c4fae0c1e06dd95b73, type: 3} + m_ShaderKeywords: _ALBEDOCONTRIBUTION _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - DBufferMesh_M + - DBufferMesh_AO + - DBufferMesh_MAO + - Mesh_Emissive + - DBufferMesh_MS + - DBufferMesh_AOS + - DBufferMesh_MAOS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlbedoMode: 1 + - _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 + - _DecalBlend: 0.5 + - _DecalLayerMaskFromDecal: 1 + - _DecalMaskMapBlueScale: 1 + - _DecalMeshDepthBias: 0 + - _DecalStencilRef: 16 + - _DecalStencilWriteMask: 16 + - _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 + - _DrawOrder: 0 + - _DstBlend: 0 + - _Emissive: 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 + - _MaskBlendMode: 4 + - _MaskBlendSrc: 1 + - _MaskmapAO: 0 + - _MaskmapMetal: 0 + - _MaskmapSmoothness: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicScale: 1 + - _NormalBlendSrc: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 0, b: 0.24267101, 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} + - _EmissiveColorHDR: {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/1709_DecalLayer/DecalProjectorDefaultLayer.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat.meta new file mode 100644 index 00000000000..4f5551c7836 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorDefaultLayer.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3db384a9477eba5439902c2b2194f6b0 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat new file mode 100644 index 00000000000..de898fd1df3 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat @@ -0,0 +1,290 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521311478380263055 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DecalProjectorEmissiveLayer5 + m_Shader: {fileID: 4800000, guid: 1d64af84bdc970c4fae0c1e06dd95b73, type: 3} + m_ShaderKeywords: _ALBEDOCONTRIBUTION _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - DBufferMesh_M + - DBufferMesh_AO + - DBufferMesh_MAO + - DBufferMesh_MAOS + - DBufferMesh_MS + - DBufferMesh_AOS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlbedoMode: 1 + - _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 + - _DecalBlend: 0.5 + - _DecalLayerMaskFromDecal: 1 + - _DecalMaskMapBlueScale: 1 + - _DecalMeshDepthBias: 0 + - _DecalStencilRef: 16 + - _DecalStencilWriteMask: 16 + - _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 + - _DrawOrder: 0 + - _DstBlend: 0 + - _Emissive: 1 + - _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 + - _MaskBlendMode: 4 + - _MaskBlendSrc: 1 + - _MaskmapAO: 0 + - _MaskmapMetal: 0 + - _MaskmapSmoothness: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicScale: 1 + - _NormalBlendSrc: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0, g: 0, b: 0, 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.9811321, b: 0.07603574, a: 1} + - _EmissiveColorHDR: {r: 0, g: 0.9811321, b: 0.07603574, 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/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat.meta new file mode 100644 index 00000000000..90182992cb9 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorEmissiveLayer5.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 39f1038b7d99d8f419135b33412d288e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat new file mode 100644 index 00000000000..3da815159c8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat @@ -0,0 +1,291 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521311478380263055 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DecalProjectorLayer3 + m_Shader: {fileID: 4800000, guid: 1d64af84bdc970c4fae0c1e06dd95b73, type: 3} + m_ShaderKeywords: _ALBEDOCONTRIBUTION _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - DBufferMesh_M + - DBufferMesh_AO + - DBufferMesh_MAO + - Mesh_Emissive + - DBufferMesh_MS + - DBufferMesh_AOS + - DBufferMesh_MAOS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlbedoMode: 1 + - _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 + - _DecalBlend: 0.5 + - _DecalLayerMaskFromDecal: 1 + - _DecalMaskMapBlueScale: 1 + - _DecalMeshDepthBias: 0 + - _DecalStencilRef: 16 + - _DecalStencilWriteMask: 16 + - _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 + - _DrawOrder: 0 + - _DstBlend: 0 + - _Emissive: 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 + - _MaskBlendMode: 4 + - _MaskBlendSrc: 1 + - _MaskmapAO: 0 + - _MaskmapMetal: 0 + - _MaskmapSmoothness: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicScale: 1 + - _NormalBlendSrc: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0.9528302, g: 0.050338227, b: 0.83468074, 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} + - _EmissiveColorHDR: {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/1709_DecalLayer/DecalProjectorLayer3.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat.meta new file mode 100644 index 00000000000..95beacea9b9 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer3.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: cdafa14d0b48a6947932482666215dd3 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat new file mode 100644 index 00000000000..46e78a944bf --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat @@ -0,0 +1,291 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521311478380263055 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DecalProjectorLayer7 + m_Shader: {fileID: 4800000, guid: 1d64af84bdc970c4fae0c1e06dd95b73, type: 3} + m_ShaderKeywords: _ALBEDOCONTRIBUTION _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - DBufferMesh_M + - DBufferMesh_AO + - DBufferMesh_MAO + - Mesh_Emissive + - DBufferMesh_MS + - DBufferMesh_AOS + - DBufferMesh_MAOS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlbedoMode: 1 + - _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 + - _DecalBlend: 0.5 + - _DecalLayerMaskFromDecal: 1 + - _DecalMaskMapBlueScale: 1 + - _DecalMeshDepthBias: 0 + - _DecalStencilRef: 16 + - _DecalStencilWriteMask: 16 + - _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 + - _DrawOrder: 0 + - _DstBlend: 0 + - _Emissive: 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 + - _MaskBlendMode: 4 + - _MaskBlendSrc: 1 + - _MaskmapAO: 0 + - _MaskmapMetal: 0 + - _MaskmapSmoothness: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicScale: 1 + - _NormalBlendSrc: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 0, g: 0.09861231, 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} + - _EmissiveColorHDR: {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/1709_DecalLayer/DecalProjectorLayer7.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat.meta new file mode 100644 index 00000000000..c41088c88ab --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorLayer7.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d7a58151662ddc644b8b2e02a6ae3de9 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat new file mode 100644 index 00000000000..4638bdae889 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat @@ -0,0 +1,291 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-5521311478380263055 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: DecalProjectorNoLayer + m_Shader: {fileID: 4800000, guid: 1d64af84bdc970c4fae0c1e06dd95b73, type: 3} + m_ShaderKeywords: _ALBEDOCONTRIBUTION _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 1 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + - DBufferMesh_M + - DBufferMesh_AO + - DBufferMesh_MAO + - Mesh_Emissive + - DBufferMesh_MS + - DBufferMesh_AOS + - DBufferMesh_MAOS + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlbedoMode: 1 + - _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 + - _DecalBlend: 0.5 + - _DecalLayerMaskFromDecal: 1 + - _DecalMaskMapBlueScale: 1 + - _DecalMeshDepthBias: 0 + - _DecalStencilRef: 16 + - _DecalStencilWriteMask: 16 + - _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 + - _DrawOrder: 0 + - _DstBlend: 0 + - _Emissive: 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 + - _MaskBlendMode: 4 + - _MaskBlendSrc: 1 + - _MaskmapAO: 0 + - _MaskmapMetal: 0 + - _MaskmapSmoothness: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _MetallicScale: 1 + - _NormalBlendSrc: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 0, b: 0.97051716, 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} + - _EmissiveColorHDR: {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/1709_DecalLayer/DecalProjectorNoLayer.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat.meta new file mode 100644 index 00000000000..b29144842fb --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/DecalProjectorNoLayer.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4b3d4d98d98cd244a95e54df256ada94 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal.meta new file mode 100644 index 00000000000..3ab96297328 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3d3aacabdac9455429e90e2290056a09 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat new file mode 100644 index 00000000000..fa43981d33e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat @@ -0,0 +1,358 @@ +%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: NoDecalAxF + m_Shader: {fileID: 4800000, guid: 6510c57cccce5674092bdc0dd1ae98c1, type: 3} + m_ShaderKeywords: _AXF_BRDF_TYPE_SVBRDF _DISABLE_DECALS _DISABLE_SSR_TRANSPARENT + _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BRDFColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BTFFlakeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_FlakeThetaFISliceLUTMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ClearcoatNormalMap: + 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} + - _SVBRDF_AlphaMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_AnisoRotationMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatIORMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_DiffuseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_FresnelMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularLobeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _AxF_BRDFType: 0 + - _BlendMode: 0 + - _CarPaint2_BRDFColorMapScale: 1 + - _CarPaint2_BTFFlakeMapScale: 1 + - _CarPaint2_CTDiffuse: 0 + - _CarPaint2_ClearcoatIOR: 1 + - _CarPaint2_FlakeMaxThetaI: 0 + - _CarPaint2_FlakeNumThetaF: 0 + - _CarPaint2_FlakeNumThetaI: 0 + - _CarPaint2_LobeCount: 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 + - _Flags: 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 + - _MappingMode: 0 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PlanarSpace: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SVBRDF_BRDFType: 0 + - _SVBRDF_BRDFVariants: 0 + - _SVBRDF_HeightMapMaxMM: 0 + - _SVBRDF_SpecularLobeMapScale: 1 + - _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: 0 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _CarPaint2_BRDFColorMapUVScale: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_BTFFlakeMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_CTCoeffs: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTF0s: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTSpreads: {r: 1, g: 1, b: 1, a: 1} + - _ClearcoatNormalMap_SO: {r: 1, g: 1, 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} + - _MappingMask: {r: 1, g: 0, b: 0, a: 0} + - _Material_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AlphaMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AnisoRotationMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatIORMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_DiffuseColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_FresnelMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_HeightMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_NormalMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularLobeMap_SO: {r: 1, 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 &5914183246108422505 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat.meta new file mode 100644 index 00000000000..cd47ff6951d --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxF.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: d34af28e0e8ca6c489dd43ee7d8432e1 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat new file mode 100644 index 00000000000..d85107ecbd7 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat @@ -0,0 +1,359 @@ +%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: NoDecalAxFTransparent + m_Shader: {fileID: 4800000, guid: 6510c57cccce5674092bdc0dd1ae98c1, type: 3} + m_ShaderKeywords: _AXF_BRDF_TYPE_SVBRDF _BLENDMODE_ALPHA _DISABLE_DECALS _DISABLE_SSR_TRANSPARENT + _NORMALMAP_TANGENT_SPACE _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BRDFColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BTFFlakeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_FlakeThetaFISliceLUTMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ClearcoatNormalMap: + 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} + - _SVBRDF_AlphaMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_AnisoRotationMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatIORMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_DiffuseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_FresnelMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularLobeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 10 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _AxF_BRDFType: 0 + - _BlendMode: 0 + - _CarPaint2_BRDFColorMapScale: 1 + - _CarPaint2_BTFFlakeMapScale: 1 + - _CarPaint2_CTDiffuse: 0 + - _CarPaint2_ClearcoatIOR: 1 + - _CarPaint2_FlakeMaxThetaI: 0 + - _CarPaint2_FlakeNumThetaF: 0 + - _CarPaint2_FlakeNumThetaI: 0 + - _CarPaint2_LobeCount: 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: 10 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _Flags: 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 + - _MappingMode: 0 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PlanarSpace: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SVBRDF_BRDFType: 0 + - _SVBRDF_BRDFVariants: 0 + - _SVBRDF_HeightMapMaxMM: 0 + - _SVBRDF_SpecularLobeMapScale: 1 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 32 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 0 + - _SurfaceType: 1 + - _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: 4 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 0 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _CarPaint2_BRDFColorMapUVScale: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_BTFFlakeMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_CTCoeffs: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTF0s: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTSpreads: {r: 1, g: 1, b: 1, a: 1} + - _ClearcoatNormalMap_SO: {r: 1, g: 1, 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} + - _MappingMask: {r: 1, g: 0, b: 0, a: 0} + - _Material_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AlphaMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AnisoRotationMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatIORMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_DiffuseColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_FresnelMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_HeightMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_NormalMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularLobeMap_SO: {r: 1, 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 &5914183246108422505 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat.meta new file mode 100644 index 00000000000..5be11482f4b --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalAxFTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 732364d3367f6b2469c719dbe72d410a +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat new file mode 100644 index 00000000000..f0af33d8a22 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat @@ -0,0 +1,271 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7026616523332680902 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoDecalFabric + m_Shader: {fileID: -6465566751694194690, guid: ee7032c93299fb54e8554578e7b53e32, + type: 3} + m_ShaderKeywords: _DISABLE_DECALS _DISABLE_SSR_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat.meta new file mode 100644 index 00000000000..503262c8426 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabric.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 66fd2a2919105494e8fafcb815fc7059 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat new file mode 100644 index 00000000000..61235cc87a3 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat @@ -0,0 +1,273 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7026616523332680902 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoDecalFabricTransparent + m_Shader: {fileID: -6465566751694194690, guid: ee7032c93299fb54e8554578e7b53e32, + type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DISABLE_DECALS + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + MotionVector: User + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 4 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _SurfaceType: 1 + - _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: 4 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 0 + 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/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat.meta new file mode 100644 index 00000000000..1f572f8bcb3 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalFabricTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 2b76ef044a9df23498480a6ef6314c1c +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat new file mode 100644 index 00000000000..a9902dd082b --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: NoDecalLit + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_DECALS _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _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: 0 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat.meta new file mode 100644 index 00000000000..03c1a59f325 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 6bd0448a75d9f0a4db696848b9244679 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat new file mode 100644 index 00000000000..a7ca40c2e7e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat @@ -0,0 +1,270 @@ +%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: NoDecalLitTransparent + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DISABLE_DECALS + _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 + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _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: 0 + - _SurfaceType: 1 + - _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: 4 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 0 + 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 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat.meta new file mode 100644 index 00000000000..22d5c0d8718 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalLitTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: af01e9953bd03ec4dabae05e13ba4a70 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat new file mode 100644 index 00000000000..0680c53875a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat @@ -0,0 +1,271 @@ +%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: NoDecalSGLit + m_Shader: {fileID: -6465566751694194690, guid: e89bd123d4f6bd1488338ebfa9d2c65c, + type: 3} + m_ShaderKeywords: _DISABLE_DECALS _DISABLE_SSR_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat.meta new file mode 100644 index 00000000000..645385ffe87 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3fdb2222ec998494cb63d4d8aee61aef +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat new file mode 100644 index 00000000000..6ca8fc37b74 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat @@ -0,0 +1,273 @@ +%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: NoDecalSGLitTransparent + m_Shader: {fileID: -6465566751694194690, guid: e89bd123d4f6bd1488338ebfa9d2c65c, + type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DISABLE_DECALS + _DISABLE_SSR_TRANSPARENT _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + MotionVector: User + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 4 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _SurfaceType: 1 + - _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: 4 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 0 + 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 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat.meta new file mode 100644 index 00000000000..a1bdacba717 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/NoDecal/NoDecalSGLitTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bd6612866dfff8e4da58c9866e106ccc +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular.meta new file mode 100644 index 00000000000..45cf2e11557 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 3b17b8c0b732db94297ccf38bad47734 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat new file mode 100644 index 00000000000..0ca3f598d29 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat @@ -0,0 +1,357 @@ +%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: ReceiveDecalAxF + m_Shader: {fileID: 4800000, guid: 6510c57cccce5674092bdc0dd1ae98c1, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: -1 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BRDFColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BTFFlakeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_FlakeThetaFISliceLUTMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ClearcoatNormalMap: + 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} + - _SVBRDF_AlphaMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_AnisoRotationMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatIORMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_DiffuseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_FresnelMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularLobeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _AxF_BRDFType: 0 + - _BlendMode: 0 + - _CarPaint2_BRDFColorMapScale: 1 + - _CarPaint2_BTFFlakeMapScale: 1 + - _CarPaint2_CTDiffuse: 0 + - _CarPaint2_ClearcoatIOR: 1 + - _CarPaint2_FlakeMaxThetaI: 0 + - _CarPaint2_FlakeNumThetaF: 0 + - _CarPaint2_FlakeNumThetaI: 0 + - _CarPaint2_LobeCount: 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 + - _Flags: 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 + - _MappingMode: 0 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PlanarSpace: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SVBRDF_BRDFType: 0 + - _SVBRDF_BRDFVariants: 0 + - _SVBRDF_HeightMapMaxMM: 0 + - _SVBRDF_SpecularLobeMapScale: 1 + - _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 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _CarPaint2_BRDFColorMapUVScale: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_BTFFlakeMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_CTCoeffs: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTF0s: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTSpreads: {r: 1, g: 1, b: 1, a: 1} + - _ClearcoatNormalMap_SO: {r: 1, g: 1, 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} + - _MappingMask: {r: 1, g: 0, b: 0, a: 0} + - _Material_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AlphaMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AnisoRotationMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatIORMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_DiffuseColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_FresnelMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_HeightMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_NormalMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularLobeMap_SO: {r: 1, 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 &5914183246108422505 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat.meta new file mode 100644 index 00000000000..be0226e22da --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxF.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4fc465aa5e84caa418ed8e0e44cc1940 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat new file mode 100644 index 00000000000..4cab5a7dcd8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat @@ -0,0 +1,359 @@ +%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: ReceiveDecalAxFTransparent + m_Shader: {fileID: 4800000, guid: 6510c57cccce5674092bdc0dd1ae98c1, type: 3} + m_ShaderKeywords: _AXF_BRDF_TYPE_SVBRDF _BLENDMODE_ALPHA _DISABLE_SSR_TRANSPARENT + _NORMALMAP_TANGENT_SPACE _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BRDFColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_BTFFlakeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CarPaint2_FlakeThetaFISliceLUTMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ClearcoatNormalMap: + 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} + - _SVBRDF_AlphaMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_AnisoRotationMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_ClearcoatIORMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_DiffuseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_FresnelMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SVBRDF_SpecularLobeMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 10 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _AxF_BRDFType: 0 + - _BlendMode: 0 + - _CarPaint2_BRDFColorMapScale: 1 + - _CarPaint2_BTFFlakeMapScale: 1 + - _CarPaint2_CTDiffuse: 0 + - _CarPaint2_ClearcoatIOR: 1 + - _CarPaint2_FlakeMaxThetaI: 0 + - _CarPaint2_FlakeNumThetaF: 0 + - _CarPaint2_FlakeNumThetaI: 0 + - _CarPaint2_LobeCount: 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: 10 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _Flags: 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 + - _MappingMode: 0 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _PlanarSpace: 0 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _SVBRDF_BRDFType: 0 + - _SVBRDF_BRDFVariants: 0 + - _SVBRDF_HeightMapMaxMM: 0 + - _SVBRDF_SpecularLobeMapScale: 1 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 0 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _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: 0 + - _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: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _CarPaint2_BRDFColorMapUVScale: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_BTFFlakeMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _CarPaint2_CTCoeffs: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTF0s: {r: 1, g: 1, b: 1, a: 1} + - _CarPaint2_CTSpreads: {r: 1, g: 1, b: 1, a: 1} + - _ClearcoatNormalMap_SO: {r: 1, g: 1, 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} + - _MappingMask: {r: 1, g: 0, b: 0, a: 0} + - _Material_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AlphaMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_AnisoRotationMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_ClearcoatIORMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_DiffuseColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_FresnelMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_HeightMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_NormalMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularColorMap_SO: {r: 1, g: 1, b: 0, a: 0} + - _SVBRDF_SpecularLobeMap_SO: {r: 1, 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 &5914183246108422505 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat.meta new file mode 100644 index 00000000000..f80626c2e46 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalAxFTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5ff2217e629efe6438ab42ea8422abc8 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat new file mode 100644 index 00000000000..a7f6bbc6c69 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat @@ -0,0 +1,271 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7026616523332680902 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ReceiveDecalFabric + m_Shader: {fileID: -6465566751694194690, guid: ee7032c93299fb54e8554578e7b53e32, + type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2000 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat.meta new file mode 100644 index 00000000000..c807d5146e5 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabric.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b8397e182884e2944825918b8d7c189b +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat new file mode 100644 index 00000000000..83b39e473b1 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat @@ -0,0 +1,273 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!114 &-7026616523332680902 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ReceiveDecalFabricTransparent + m_Shader: {fileID: -6465566751694194690, guid: ee7032c93299fb54e8554578e7b53e32, + type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DISABLE_SSR_TRANSPARENT + _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + MotionVector: User + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 4 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _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: 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/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat.meta new file mode 100644 index 00000000000..bc9bc30a97c --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalFabricTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 4e45de811b6ba7d46af68fdedc690178 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat new file mode 100644 index 00000000000..b6b7b9d6eb2 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat @@ -0,0 +1,267 @@ +%YAML 1.1 +%TAG !u! tag:unity3d.com,2011: +--- !u!21 &2100000 +Material: + serializedVersion: 6 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_Name: ReceiveDecalLit + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT _NORMALMAP_TANGENT_SPACE + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: {} + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _SmoothnessRemapMax: 1 + - _SmoothnessRemapMin: 0 + - _SpecularAAScreenSpaceVariance: 0.1 + - _SpecularAAThreshold: 0.2 + - _SpecularOcclusionMode: 1 + - _SrcBlend: 1 + - _StencilRef: 0 + - _StencilRefDepth: 8 + - _StencilRefDistortionVec: 4 + - _StencilRefGBuffer: 10 + - _StencilRefMV: 40 + - _StencilWriteMask: 6 + - _StencilWriteMaskDepth: 8 + - _StencilWriteMaskDistortionVec: 4 + - _StencilWriteMaskGBuffer: 14 + - _StencilWriteMaskMV: 40 + - _SubsurfaceMask: 1 + - _SupportDecals: 1 + - _SurfaceType: 0 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat.meta new file mode 100644 index 00000000000..2d3bc119ffb --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 60c682370952fa640ad31361828c438e +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat new file mode 100644 index 00000000000..966dfbbc672 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat @@ -0,0 +1,269 @@ +%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: ReceiveDecalLitTransparent + m_Shader: {fileID: 4800000, guid: 6e4ae4064600d784cac1e41a9e6f2e59, type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _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 + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _SSRefractionProjectionModel: 0 + - _Smoothness: 0.5 + - _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: 0 + - _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: 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 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat.meta new file mode 100644 index 00000000000..a52c182aa49 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalLitTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: c0fe165bd1bc9a547a4b5d4959c95c40 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat new file mode 100644 index 00000000000..7d386b7ea31 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat @@ -0,0 +1,271 @@ +%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: ReceiveDecalSGLit + m_Shader: {fileID: -6465566751694194690, guid: e89bd123d4f6bd1488338ebfa9d2c65c, + type: 3} + m_ShaderKeywords: _DISABLE_SSR_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 2225 + stringTagMap: + MotionVector: User + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 0 + - _AlphaSrcBlend: 1 + - _AlphaToMask: 0 + - _AlphaToMaskInspectorValue: 0 + - _Anisotropy: 0 + - _BlendMode: 0 + - _CoatMask: 0 + - _CullMode: 2 + - _CullModeForward: 2 + - _Cutoff: 0.5 + - _DepthOffsetEnable: 0 + - _DetailAlbedoScale: 1 + - _DetailNormalScale: 1 + - _DetailSmoothnessScale: 1 + - _DiffusionProfile: 0 + - _DiffusionProfileHash: 0 + - _DisplacementLockObjectScale: 1 + - _DisplacementLockTilingScale: 1 + - _DisplacementMode: 0 + - _DistortionBlendMode: 0 + - _DistortionBlurBlendMode: 0 + - _DistortionBlurDstBlend: 1 + - _DistortionBlurRemapMax: 1 + - _DistortionBlurRemapMin: 0 + - _DistortionBlurScale: 1 + - _DistortionBlurSrcBlend: 1 + - _DistortionDepthTest: 1 + - _DistortionDstBlend: 1 + - _DistortionEnable: 0 + - _DistortionScale: 1 + - _DistortionSrcBlend: 1 + - _DistortionVectorBias: -1 + - _DistortionVectorScale: 2 + - _DoubleSidedEnable: 0 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 0 + - _EmissiveColorMode: 1 + - _EmissiveExposureWeight: 1 + - _EmissiveIntensity: 1 + - _EmissiveIntensityUnit: 0 + - _EnableBlendModePreserveSpecularLighting: 1 + - _EnableFogOnTransparent: 1 + - _EnableGeometricSpecularAA: 0 + - _EnergyConservingSpecularColor: 1 + - _HeightAmplitude: 0.02 + - _HeightCenter: 0.5 + - _HeightMapParametrization: 0 + - _HeightMax: 1 + - _HeightMin: -1 + - _HeightOffset: 0 + - _HeightPoMAmplitude: 2 + - _HeightTessAmplitude: 2 + - _HeightTessCenter: 0.5 + - _InvTilingScale: 1 + - _Ior: 1.5 + - _IridescenceMask: 1 + - _IridescenceThickness: 1 + - _LinkDetailsWithBase: 1 + - _MaterialID: 1 + - _Metallic: 0 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 1 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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 + - _TexWorldScale: 1 + - _TexWorldScaleEmissive: 1 + - _Thickness: 1 + - _TransmissionEnable: 1 + - _TransparentBackfaceEnable: 0 + - _TransparentCullMode: 2 + - _TransparentDepthPostpassEnable: 0 + - _TransparentDepthPrepassEnable: 0 + - _TransparentSortPriority: 0 + - _TransparentWritingMotionVec: 0 + - _TransparentZWrite: 0 + - _UVBase: 0 + - _UVDetail: 0 + - _UVEmissive: 0 + - _UseEmissiveIntensity: 0 + - _UseShadowThreshold: 0 + - _ZTestDepthEqualForOpaque: 3 + - _ZTestGBuffer: 4 + - _ZTestModeDistortion: 4 + - _ZTestTransparent: 4 + - _ZWrite: 1 + m_Colors: + - _BaseColor: {r: 1, g: 1, b: 1, a: 1} + - _BaseColorMap_MipInfo: {r: 0, g: 0, b: 0, a: 0} + - _Color: {r: 1, g: 1, b: 1, a: 1} + - _DiffusionProfileAsset: {r: 0, g: 0, b: 0, a: 0} + - _DoubleSidedConstants: {r: 1, g: 1, b: -1, a: 0} + - _EmissionColor: {r: 1, g: 1, b: 1, a: 1} + - _EmissiveColor: {r: 0, g: 0, b: 0, a: 1} + - _EmissiveColorLDR: {r: 0, g: 0, b: 0, a: 1} + - _InvPrimScale: {r: 1, g: 1, b: 0, a: 0} + - _IridescenceThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _SpecularColor: {r: 1, g: 1, b: 1, a: 1} + - _ThicknessRemap: {r: 0, g: 1, b: 0, a: 0} + - _TransmittanceColor: {r: 1, g: 1, b: 1, a: 1} + - _UVDetailsMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMask: {r: 1, g: 0, b: 0, a: 0} + - _UVMappingMaskEmissive: {r: 1, g: 0, b: 0, a: 0} + m_BuildTextureStacks: [] +--- !u!114 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat.meta new file mode 100644 index 00000000000..7548f217327 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLit.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 0bb1dc7682c440446a60a644adb4e8c5 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat new file mode 100644 index 00000000000..aa29199a066 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat @@ -0,0 +1,273 @@ +%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: ReceiveDecalSGLitTransparent + m_Shader: {fileID: -6465566751694194690, guid: e89bd123d4f6bd1488338ebfa9d2c65c, + type: 3} + m_ShaderKeywords: _BLENDMODE_ALPHA _BLENDMODE_PRESERVE_SPECULAR_LIGHTING _DISABLE_SSR_TRANSPARENT + _ENABLE_FOG_ON_TRANSPARENT _SURFACE_TYPE_TRANSPARENT + m_LightmapFlags: 4 + m_EnableInstancingVariants: 0 + m_DoubleSidedGI: 0 + m_CustomRenderQueue: 3000 + stringTagMap: + MotionVector: User + RenderType: Transparent + disabledShaderPasses: + - DistortionVectors + - MOTIONVECTORS + - TransparentDepthPrepass + - TransparentDepthPostpass + - TransparentBackface + - RayTracingPrepass + m_SavedProperties: + serializedVersion: 3 + m_TexEnvs: + - _AnisotropyMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BaseColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _BentNormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _CoatMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DetailMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _DistortionVectorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _EmissiveColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _HeightMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _IridescenceThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MainTex: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _MaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _NormalMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SpecularColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _SubsurfaceMaskMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TangentMapOS: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _ThicknessMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + - _TransmittanceColorMap: + m_Texture: {fileID: 0} + m_Scale: {x: 1, y: 1} + m_Offset: {x: 0, y: 0} + m_Floats: + - _AORemapMax: 1 + - _AORemapMin: 0 + - _ATDistance: 1 + - _AddPrecomputedVelocity: 0 + - _AlbedoAffectEmissive: 0 + - _AlphaCutoff: 0.5 + - _AlphaCutoffEnable: 0 + - _AlphaCutoffPostpass: 0.5 + - _AlphaCutoffPrepass: 0.5 + - _AlphaCutoffShadow: 0.5 + - _AlphaDstBlend: 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 + - _DoubleSidedNormalMode: 1 + - _DstBlend: 10 + - _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 + - _NormalMapSpace: 0 + - _NormalScale: 1 + - _OpaqueCullMode: 2 + - _PPDLodThreshold: 5 + - _PPDMaxSamples: 15 + - _PPDMinSamples: 5 + - _PPDPrimitiveLength: 1 + - _PPDPrimitiveWidth: 1 + - _RayTracing: 0 + - _ReceivesSSR: 1 + - _ReceivesSSRTransparent: 0 + - _RefractionModel: 0 + - _RenderQueueType: 4 + - _RequireSplitLighting: 0 + - _SSRefractionProjectionModel: 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: 0 + - _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: 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 &2352226960815163731 +MonoBehaviour: + m_ObjectHideFlags: 11 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: da692e001514ec24dbc4cca1949ff7e8, type: 3} + m_Name: + m_EditorClassIdentifier: + version: 7 diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat.meta new file mode 100644 index 00000000000..99a9b5a13c6 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer/Regular/ReceiveDecalSGLitTransparent.mat.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 5a2dca0b95646ba44ad2ec88110871f4 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 0 + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity new file mode 100644 index 00000000000..8421280004f --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity @@ -0,0 +1,2276 @@ +%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: 0 + 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: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + 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: 54ca12e650c99164895320391009a14d, + 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 &91720183 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer1And5 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 8.76 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -6.32 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &296064738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 296064742} + - component: {fileID: 296064741} + - component: {fileID: 296064740} + 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 &296064740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &296064741 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &296064742 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_LocalRotation: {x: 0.35355276, y: -0.35355347, z: -0.14644635, w: 0.85355365} + m_LocalPosition: {x: 7.6099997, 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: -45, z: 0} +--- !u!1001 &808071365 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer2and7 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -5.39 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &922553904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 922553908} + - component: {fileID: 922553907} + - component: {fileID: 922553906} + - component: {fileID: 922553905} + m_Layer: 0 + m_Name: No Decal Layers Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &922553905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 922553906} +--- !u!102 &922553906 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Text: 'No Decal Layers + + +' + 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 &922553907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &922553908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -1.9, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &976804929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 976804933} + - component: {fileID: 976804932} + - component: {fileID: 976804931} + - component: {fileID: 976804930} + m_Layer: 0 + m_Name: Default Decal Layers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &976804930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 976804931} +--- !u!102 &976804931 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Text: 'Default Decal Layers + +' + 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 &976804932 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &976804933 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: 1, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &991862075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 991862076} + - component: {fileID: 991862077} + m_Layer: 0 + m_Name: Decal Projector Layer 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &991862076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &991862077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: cdafa14d0b48a6947932482666215dd3, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 8 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &999330731 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 5.05 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: -2.77 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -36 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: field of view + value: 13.818079 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: near clip plane + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.data[3] + value: + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: customRenderingSettings + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data1 + value: 4099 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data2 + value: 4294967296 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data2 + value: 4539628428684427264 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetWidth + value: 1280 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetHeight + value: 720 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.ImageResolution + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderGraphCompatible + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!20 &999330732 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + m_PrefabAsset: {fileID: 0} +--- !u!114 &999330733 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + 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 &1133123368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1133123372} + - component: {fileID: 1133123371} + - component: {fileID: 1133123370} + - component: {fileID: 1133123369} + m_Layer: 0 + m_Name: DecalBlockLayer2and7 Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1133123369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1133123370} +--- !u!102 &1133123370 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Text: 'Decal layer 2 and 7 + + + +' + 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 &1133123371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &1133123372 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -4.57, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1142675681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1142675682} + - component: {fileID: 1142675683} + m_Layer: 0 + m_Name: Decal Projector Layer 7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1142675682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1142675683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: d7a58151662ddc644b8b2e02a6ae3de9, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 128 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1317099561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1317099562} + 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 &1317099562 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1317099561} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.1345074, y: -4.9092073, z: 14.632643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1386178384} + - {fileID: 1432167185} + - {fileID: 991862076} + - {fileID: 1142675682} + - {fileID: 1532189845} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1386178382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1386178384} + - component: {fileID: 1386178383} + m_Layer: 0 + m_Name: Decal Projector DefaultLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1386178383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 3db384a9477eba5439902c2b2194f6b0, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!4 &1386178384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1432167184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1432167185} + - component: {fileID: 1432167186} + m_Layer: 0 + m_Name: Decal Projector NoLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1432167185 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1432167186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 4b3d4d98d98cd244a95e54df256ada94, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 0 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1442353284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442353288} + - component: {fileID: 1442353287} + - component: {fileID: 1442353286} + m_Layer: 0 + m_Name: Directional Light (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1442353286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &1442353287 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1442353288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_LocalRotation: {x: 0.38268274, y: -0, z: -0, w: 0.9238798} + m_LocalPosition: {x: -2.39, y: 7.071057, z: -7.0710783} + 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 &1532189844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1532189845} + - component: {fileID: 1532189846} + m_Layer: 0 + m_Name: Decal Projector Emissive Layer 5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1532189845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1532189846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 39f1038b7d99d8f419135b33412d288e, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 32 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &2079354649 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockNoLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -2.82 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1001 &8238282093785628660 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockDefaultLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity.meta new file mode 100644 index 00000000000..76a6c0ac683 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: 4aef154006852e04da889d8191349fd4 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity new file mode 100644 index 00000000000..2819ce272fa --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity @@ -0,0 +1,2282 @@ +%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: 0 + 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: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + 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: 54ca12e650c99164895320391009a14d, + 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 &91720183 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer1And5 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 8.76 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -6.32 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &296064738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 296064742} + - component: {fileID: 296064741} + - component: {fileID: 296064740} + 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 &296064740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &296064741 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &296064742 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_LocalRotation: {x: 0.35355276, y: -0.35355347, z: -0.14644635, w: 0.85355365} + m_LocalPosition: {x: 7.6099997, 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: -45, z: 0} +--- !u!1001 &808071365 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer2and7 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -5.39 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &922553904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 922553908} + - component: {fileID: 922553907} + - component: {fileID: 922553906} + - component: {fileID: 922553905} + m_Layer: 0 + m_Name: No Decal Layers Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &922553905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 922553906} +--- !u!102 &922553906 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Text: 'No Decal Layers + + +' + 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 &922553907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &922553908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -1.9, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &976804929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 976804933} + - component: {fileID: 976804932} + - component: {fileID: 976804931} + - component: {fileID: 976804930} + m_Layer: 0 + m_Name: Default Decal Layers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &976804930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 976804931} +--- !u!102 &976804931 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Text: 'Default Decal Layers + +' + 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 &976804932 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &976804933 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: 1, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &991862075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 991862076} + - component: {fileID: 991862077} + m_Layer: 0 + m_Name: Decal Projector Layer 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &991862076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &991862077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: cdafa14d0b48a6947932482666215dd3, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 8 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &999330731 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 5.05 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: -2.77 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -36 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: field of view + value: 13.818079 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: near clip plane + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.data[3] + value: + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916700 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: customRenderingSettings + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data1 + value: 4099 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data2 + value: 4294967296 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data2 + value: 4539628428684427264 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetWidth + value: 1280 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetHeight + value: 720 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.ImageResolution + value: 2 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderGraphCompatible + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelineAsset + value: + objectReference: {fileID: 11400000, guid: d7fe5f39d2c099a4ea1f1f610af309d7, + type: 2} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!20 &999330732 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + m_PrefabAsset: {fileID: 0} +--- !u!114 &999330733 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + 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 &1133123368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1133123372} + - component: {fileID: 1133123371} + - component: {fileID: 1133123370} + - component: {fileID: 1133123369} + m_Layer: 0 + m_Name: DecalBlockLayer2and7 Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1133123369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1133123370} +--- !u!102 &1133123370 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Text: 'Decal layer 2 and 7 + + + +' + 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 &1133123371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &1133123372 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -4.57, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1142675681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1142675682} + - component: {fileID: 1142675683} + m_Layer: 0 + m_Name: Decal Projector Layer 7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1142675682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1142675683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: d7a58151662ddc644b8b2e02a6ae3de9, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 128 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1317099561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1317099562} + 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 &1317099562 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1317099561} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.1345074, y: -4.9092073, z: 14.632643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1386178384} + - {fileID: 1432167185} + - {fileID: 991862076} + - {fileID: 1142675682} + - {fileID: 1532189845} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1386178382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1386178384} + - component: {fileID: 1386178383} + m_Layer: 0 + m_Name: Decal Projector DefaultLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1386178383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 3db384a9477eba5439902c2b2194f6b0, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!4 &1386178384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1432167184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1432167185} + - component: {fileID: 1432167186} + m_Layer: 0 + m_Name: Decal Projector NoLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1432167185 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1432167186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 4b3d4d98d98cd244a95e54df256ada94, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 0 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1442353284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442353288} + - component: {fileID: 1442353287} + - component: {fileID: 1442353286} + m_Layer: 0 + m_Name: Directional Light (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1442353286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &1442353287 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1442353288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_LocalRotation: {x: 0.38268274, y: -0, z: -0, w: 0.9238798} + m_LocalPosition: {x: -2.39, y: 7.071057, z: -7.0710783} + 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 &1532189844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1532189845} + - component: {fileID: 1532189846} + m_Layer: 0 + m_Name: Decal Projector Emissive Layer 5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1532189845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1532189846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 39f1038b7d99d8f419135b33412d288e, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 32 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &2079354649 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockNoLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -2.82 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1001 &8238282093785628660 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockDefaultLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity.meta new file mode 100644 index 00000000000..9d44602dc64 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: fc98b50f488187f459732a09b7fc72ac +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity new file mode 100644 index 00000000000..5adaef5e614 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity @@ -0,0 +1,2282 @@ +%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: 0 + 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: 0 + m_PVRSampling: 1 + m_PVRDirectSampleCount: 32 + m_PVRSampleCount: 500 + m_PVRBounces: 2 + m_PVREnvironmentSampleCount: 500 + m_PVREnvironmentReferencePointCount: 2048 + m_PVRFilteringMode: 2 + m_PVRDenoiserTypeDirect: 0 + m_PVRDenoiserTypeIndirect: 0 + m_PVRDenoiserTypeAO: 0 + m_PVRFilterTypeDirect: 0 + m_PVRFilterTypeIndirect: 0 + m_PVRFilterTypeAO: 0 + m_PVREnvironmentMIS: 0 + 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: 54ca12e650c99164895320391009a14d, + 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 &91720183 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer1And5 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 8.76 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -6.32 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 0.7071068 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 10 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 90 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 8705 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &296064738 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 296064742} + - component: {fileID: 296064741} + - component: {fileID: 296064740} + 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 &296064740 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &296064741 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &296064742 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 296064738} + m_LocalRotation: {x: 0.35355276, y: -0.35355347, z: -0.14644635, w: 0.85355365} + m_LocalPosition: {x: 7.6099997, 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: -45, z: 0} +--- !u!1001 &808071365 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockLayer2and7 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: -0.04 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -5.39 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 8 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 33793 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1 &922553904 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 922553908} + - component: {fileID: 922553907} + - component: {fileID: 922553906} + - component: {fileID: 922553905} + m_Layer: 0 + m_Name: No Decal Layers Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &922553905 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 922553906} +--- !u!102 &922553906 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Text: 'No Decal Layers + + +' + 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 &922553907 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &922553908 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 922553904} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -1.9, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &976804929 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 976804933} + - component: {fileID: 976804932} + - component: {fileID: 976804931} + - component: {fileID: 976804930} + m_Layer: 0 + m_Name: Default Decal Layers + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &976804930 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 976804931} +--- !u!102 &976804931 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Text: 'Default Decal Layers + +' + 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 &976804932 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &976804933 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 976804929} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: 1, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &991862075 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 991862076} + - component: {fileID: 991862077} + m_Layer: 0 + m_Name: Decal Projector Layer 3 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &991862076 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &991862077 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 991862075} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: cdafa14d0b48a6947932482666215dd3, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 8 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &999330731 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 5.05 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: -2.77 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.z + value: -36 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalRotation.w + value: 1 + 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: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: field of view + value: 13.818079 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: near clip plane + value: 30 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.size + value: 3 + objectReference: {fileID: 0} + - target: {fileID: 114733060649624252, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderPipelines.Array.data[3] + value: + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_Version + value: 7 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70007966400348 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: customRenderingSettings + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data1 + value: 2147487747 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderingPathCustomFrameSettingsOverrideMask.mask.data2 + value: 4294967296 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data2 + value: 4539628428684427264 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetWidth + value: 1280 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.TargetHeight + value: 720 + objectReference: {fileID: 0} + - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: ImageComparisonSettings.ImageResolution + value: 2 + 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: renderGraphCompatible + value: 1 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} +--- !u!20 &999330732 stripped +Camera: + m_CorrespondingSourceObject: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + m_PrefabAsset: {fileID: 0} +--- !u!114 &999330733 stripped +MonoBehaviour: + m_CorrespondingSourceObject: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + m_PrefabInstance: {fileID: 999330731} + 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 &1133123368 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1133123372} + - component: {fileID: 1133123371} + - component: {fileID: 1133123370} + - component: {fileID: 1133123369} + m_Layer: 0 + m_Name: DecalBlockLayer2and7 Text + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1133123369 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} + m_Name: + m_EditorClassIdentifier: + pixelSize: 8 + testSettings: {fileID: 999330733} + targetCamera: {fileID: 999330732} + forceTargetDimensions: {x: 200, y: 150} + overrideTestSettings: 0 + textMesh: {fileID: 1133123370} +--- !u!102 &1133123370 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Text: 'Decal layer 2 and 7 + + + +' + 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 &1133123371 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 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!4 &1133123372 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1133123368} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 3, y: -4.57, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 7 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1142675681 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1142675682} + - component: {fileID: 1142675683} + m_Layer: 0 + m_Name: Decal Projector Layer 7 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1142675682 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1142675683 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1142675681} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: d7a58151662ddc644b8b2e02a6ae3de9, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 128 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1317099561 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1317099562} + 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 &1317099562 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1317099561} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 3.1345074, y: -4.9092073, z: 14.632643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: + - {fileID: 1386178384} + - {fileID: 1432167185} + - {fileID: 991862076} + - {fileID: 1142675682} + - {fileID: 1532189845} + m_Father: {fileID: 0} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1386178382 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1386178384} + - component: {fileID: 1386178383} + m_Layer: 0 + m_Name: Decal Projector DefaultLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1386178383 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 3db384a9477eba5439902c2b2194f6b0, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 1 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!4 &1386178384 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1386178382} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 0 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1432167184 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1432167185} + - component: {fileID: 1432167186} + m_Layer: 0 + m_Name: Decal Projector NoLayer + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1432167185 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 1 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1432167186 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1432167184} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 4b3d4d98d98cd244a95e54df256ada94, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 0 + m_DecalLayerMask: 0 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1 &1442353284 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1442353288} + - component: {fileID: 1442353287} + - component: {fileID: 1442353286} + m_Layer: 0 + m_Name: Directional Light (2) + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!114 &1442353286 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + 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: 1 + m_EnableSpotReflector: 0 + m_LuxAtDistance: 1 + m_InnerSpotPercent: 0 + m_SpotIESCutoffPercent: 100 + m_LightDimmer: 1 + m_VolumetricDimmer: 1 + m_LightUnit: 2 + m_FadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + m_SoftnessScale: 1 + m_UseCustomSpotLightShadowCone: 0 + m_CustomSpotLightShadowCone: 30 + m_MaxSmoothness: 1 + m_ApplyRangeAttenuation: 1 + m_DisplayAreaLightEmissiveMesh: 0 + m_AreaLightCookie: {fileID: 0} + m_IESPoint: {fileID: 0} + m_IESSpot: {fileID: 0} + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.2 + m_BlockerSampleCount: 24 + m_FilterSampleCount: 32 + m_MinFilterSize: 1 + m_KernelSize: 5 + m_LightAngle: 1 + m_MaxDepthBias: 0.001 + m_ShadowResolution: + m_Override: 512 + m_UseOverride: 1 + m_Level: 1 + m_ShadowDimmer: 1 + m_VolumetricShadowDimmer: 1 + m_ShadowFadeDistance: 10000 + m_UseContactShadow: + m_Override: 0 + m_UseOverride: 1 + m_Level: 0 + m_RayTracedContactShadow: 0 + m_ShadowTint: {r: 0, g: 0, b: 0, a: 1} + m_PenumbraTint: 0 + m_NormalBias: 0.75 + m_SlopeBias: 0.5 + m_ShadowUpdateMode: 0 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + showAdditionalSettings: 0 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 +--- !u!108 &1442353287 +Light: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_Enabled: 1 + serializedVersion: 10 + m_Type: 1 + m_Shape: 0 + m_Color: {r: 1, g: 1, b: 1, a: 1} + m_Intensity: 1 + m_Range: 10 + m_SpotAngle: 30 + m_InnerSpotAngle: 21.80208 + m_CookieSize: 10 + m_Shadows: + m_Type: 0 + 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: 0 + m_AreaSize: {x: 1, y: 1} + m_BounceIntensity: 1 + m_ColorTemperature: 6570 + m_UseColorTemperature: 0 + m_BoundingSphereOverride: {x: 0, y: 0, z: 0, w: 0} + m_UseBoundingSphereOverride: 0 + m_UseViewFrustumForShadowCasterCull: 1 + m_ShadowRadius: 0 + m_ShadowAngle: 0 +--- !u!4 &1442353288 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1442353284} + m_LocalRotation: {x: 0.38268274, y: -0, z: -0, w: 0.9238798} + m_LocalPosition: {x: -2.39, y: 7.071057, z: -7.0710783} + 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 &1532189844 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1532189845} + - component: {fileID: 1532189846} + m_Layer: 0 + m_Name: Decal Projector Emissive Layer 5 + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1532189845 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 1.72, y: 1.2892075, z: -14.762643} + m_LocalScale: {x: 1, y: 1, z: 1} + m_Children: [] + m_Father: {fileID: 1317099562} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!114 &1532189846 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1532189844} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: f19d9143a39eb3b46bc4563e9889cfbd, type: 3} + m_Name: + m_EditorClassIdentifier: + m_Version: 2 + m_Material: {fileID: 2100000, guid: 39f1038b7d99d8f419135b33412d288e, type: 2} + m_DrawDistance: 1000 + m_FadeScale: 0.9 + m_UVScale: {x: 1, y: 1} + m_UVBias: {x: 0, y: 0} + m_AffectsTransparency: 1 + m_DecalLayerMask: 32 + m_Offset: {x: 0, y: 0, z: 0.5} + m_Size: {x: 15, y: 10, z: 1} + m_FadeFactor: 1 +--- !u!1001 &2079354649 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockNoLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: -2.82 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 6 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} +--- !u!1001 &8238282093785628660 +PrefabInstance: + m_ObjectHideFlags: 0 + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 8238282091676383192, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_Name + value: DecalBlockDefaultLayer + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalPosition.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.x + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.y + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.z + value: -0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalRotation.w + value: 1 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RootOrder + value: 4 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.y + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091676383193, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalEulerAnglesHint.z + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 8238282091706388879, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092024821632, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092024821637, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092067627608, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092627650194, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092627650199, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663476, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092628663479, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092668260590, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092724046239, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092782350046, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092787483846, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092829091339, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043092, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092860043095, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282092903180941, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167268, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282092940167271, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093017687980, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093063162646, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093171535341, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093178192330, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093198442327, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093219535642, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: testSettings + value: + objectReference: {fileID: 999330733} + - target: {fileID: 8238282093439022009, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: targetCamera + value: + objectReference: {fileID: 999330732} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.x + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.y + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093439022014, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_LocalScale.z + value: 0.12117338 + objectReference: {fileID: 0} + - target: {fileID: 8238282093605822768, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + - target: {fileID: 8238282093624124779, guid: 305c71116a97f1f449622845c45e34b7, + type: 3} + propertyPath: m_RenderingLayerMask + value: 257 + objectReference: {fileID: 0} + m_RemovedComponents: [] + m_SourcePrefab: {fileID: 100100000, guid: 305c71116a97f1f449622845c45e34b7, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity.meta new file mode 100644 index 00000000000..2183236f832 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity.meta @@ -0,0 +1,7 @@ +fileFormatVersion: 2 +guid: a79c122fed0bac741bd804ab2c433660 +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1710_Decals_Normal_Patch.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1710_Decals_Normal_Patch.unity index b7fd7b73ce0..0d526b567a8 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1710_Decals_Normal_Patch.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/1x_Materials/1710_Decals_Normal_Patch.unity @@ -2097,7 +2097,7 @@ PrefabInstance: - target: {fileID: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} propertyPath: renderGraphCompatible - value: 0 + value: 1 objectReference: {fileID: 0} m_RemovedComponents: [] m_SourcePrefab: {fileID: 100100000, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png new file mode 100644 index 00000000000..ba4d694776a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e279f7cf2423b3ce8f4615687c78949e42c519ca0482bea950fc72d775326d9d +size 37168 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta new file mode 100644 index 00000000000..08b783a5354 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 9522973be1ce94d4199b46db9b2f8171 +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/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png new file mode 100644 index 00000000000..f36b78ea95e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b08dce32d1d9b2ab43e430a25a7dec73916cf1ee32225a2a64ca3fe3f24c7e79 +size 37176 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta new file mode 100644 index 00000000000..e38f3a8a408 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: b10ff0db7c79e194ca927c51ffce2f66 +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/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png new file mode 100644 index 00000000000..9fdcdafaa9e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95af1e6875a70ccd59f7f03bda0c2651e80a734a2037e888d8d2b10d103b460f +size 39703 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta new file mode 100644 index 00000000000..a9cf77f07d1 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 7e78e4e08c2e97344b18a8761d0d800c +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/1709_DecalLayer_Deferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png new file mode 100644 index 00000000000..0b5b5ee5096 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:aa43ba87621fa2299338c8b2b72f77a61de3ecf4ae992c32d281cca766513e27 +size 36996 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png.meta new file mode 100644 index 00000000000..c37d91520e6 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Deferred.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 4adcc2c0845007c4180e9d7a98a70bac +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/1709_DecalLayer_Forward.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png new file mode 100644 index 00000000000..6d6752d1ba8 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:30a2dd97508e7ff1b42f6087d4e33224e2f2097fedac27de3819528f87b404c8 +size 37106 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png.meta new file mode 100644 index 00000000000..a7acc318af4 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_Forward.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 2e7add4f5640a8742ba02a4849cc40b5 +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/1709_DecalLayer_ForwardMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png new file mode 100644 index 00000000000..3d6e7d70624 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d461c59beecfd2e4446dd44191193a2f82da406a3fe646c28620edb492dcc7b1 +size 39579 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png.meta new file mode 100644 index 00000000000..3b718d01faf --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/1709_DecalLayer_ForwardMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: a823ea933e7cc42418b75080794ac54c +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/1709_DecalLayer_Deferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png new file mode 100644 index 00000000000..ba4d694776a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e279f7cf2423b3ce8f4615687c78949e42c519ca0482bea950fc72d775326d9d +size 37168 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png.meta new file mode 100644 index 00000000000..0fa0d814038 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Deferred.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: db6045c4dfd0b5b46b98c36421e48cc3 +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/1709_DecalLayer_Forward.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png new file mode 100644 index 00000000000..d00edb36727 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b28257f95a8fa89a89d95b5ffd4de1625fbb00f2050767936df298b42d650caf +size 37180 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png.meta new file mode 100644 index 00000000000..1937f13f837 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_Forward.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: dad1f4b3d3639114fa625d171409eae4 +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/1709_DecalLayer_ForwardMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png new file mode 100644 index 00000000000..a5798cdc95c --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:692dd9ad324fa14dc6b6a7eb42196b93781331386714c4987780a2037e265ea1 +size 39697 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png.meta new file mode 100644 index 00000000000..d7f055fbbc3 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/1709_DecalLayer_ForwardMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: ded02792b3c8a854587a9aa99f2a6cb6 +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/1709_DecalLayer_Deferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png new file mode 100644 index 00000000000..ba4d694776a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e279f7cf2423b3ce8f4615687c78949e42c519ca0482bea950fc72d775326d9d +size 37168 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png.meta new file mode 100644 index 00000000000..8de9be710d6 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Deferred.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 3028b82d0fa553d4fad3e34bf7a595e6 +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/1709_DecalLayer_Forward.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png new file mode 100644 index 00000000000..d00edb36727 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b28257f95a8fa89a89d95b5ffd4de1625fbb00f2050767936df298b42d650caf +size 37180 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png.meta new file mode 100644 index 00000000000..efdc6d5c575 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_Forward.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 25c3d1fe97e8b194aae6534158bcbc34 +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/1709_DecalLayer_ForwardMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png new file mode 100644 index 00000000000..e8fbccee191 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e7898b318acf136dd9f260b806e1551016d9859f86541174383a4d2c560d98b3 +size 39708 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png.meta new file mode 100644 index 00000000000..7471255bb81 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1709_DecalLayer_ForwardMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 60b307586b1fb7f4cae1f1286f03ab77 +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/1709_DecalLayer_Deferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png new file mode 100644 index 00000000000..ba4d694776a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:e279f7cf2423b3ce8f4615687c78949e42c519ca0482bea950fc72d775326d9d +size 37168 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta new file mode 100644 index 00000000000..c257c2ac104 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Deferred.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: a34bc42fc2acb75418dfa8431d6e79ec +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/1709_DecalLayer_Forward.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png new file mode 100644 index 00000000000..f36b78ea95e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:b08dce32d1d9b2ab43e430a25a7dec73916cf1ee32225a2a64ca3fe3f24c7e79 +size 37176 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta new file mode 100644 index 00000000000..71a1ee0b13a --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_Forward.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 86a1c26346ccbf34f9e507b843a49e57 +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/1709_DecalLayer_ForwardMSAA.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png new file mode 100644 index 00000000000..9fdcdafaa9e --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:95af1e6875a70ccd59f7f03bda0c2651e80a734a2037e888d8d2b10d103b460f +size 39703 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta new file mode 100644 index 00000000000..9efb5ab9fa3 --- /dev/null +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/1709_DecalLayer_ForwardMSAA.png.meta @@ -0,0 +1,108 @@ +fileFormatVersion: 2 +guid: 0bdb8a809a5c91f4084b453ef31f33f7 +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 e80d67ff069..399bad11129 100644 --- a/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset +++ b/TestProjects/HDRP_Tests/ProjectSettings/EditorBuildSettings.asset @@ -149,6 +149,15 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1710_Decals_Normal_Patch.unity guid: 439ce9822b2644f4ea064429ed2c5955 + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Forward.unity + guid: fc98b50f488187f459732a09b7fc72ac + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_ForwardMSAA.unity + guid: a79c122fed0bac741bd804ab2c433660 + - enabled: 1 + path: Assets/GraphicTests/Scenes/1x_Materials/1709_DecalLayer_Deferred.unity + guid: 4aef154006852e04da889d8191349fd4 - enabled: 1 path: Assets/GraphicTests/Scenes/1x_Materials/1711_DecalMasks_4RT.unity guid: a537e2b011b7b4c07af19c8ad6b26cec @@ -587,9 +596,6 @@ EditorBuildSettings: - enabled: 1 path: Assets/GraphicTests/Scenes/9x_Other/9701_CustomPass_DrawRenderers.unity guid: c64196eb7ce78e84bb835b2ea858ee19 - - enabled: 0 - path: Assets/GraphicTests/Scenes/9x_Other/9702_CustomPass_API.unity - guid: 3d584f34970fc5c44871961e3178f4ce - enabled: 1 path: Assets/GraphicTests/Scenes/9x_Other/9800_Compositor.unity guid: 708bd21bc204d2342bc1702a5a6de1d3 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 008e408c1db..c149751da52 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 @@ -103,7 +103,7 @@ TextureHandle CreateNormalBuffer(RenderGraph renderGraph, bool msaa) TextureHandle CreateDecalPrepassBuffer(RenderGraph renderGraph, bool msaa) { TextureDesc decalDesc = new TextureDesc(Vector2.one, true, true) - { colorFormat = GraphicsFormat.R8G8B8A8_UNorm, clearBuffer = true, clearColor = Color.black, bindTextureMS = msaa, enableMSAA = msaa, enableRandomWrite = !msaa, name = msaa ? "DecalPrepassBufferMSAA" : "DecalPrepassBuffer" }; + { colorFormat = GraphicsFormat.R8G8B8A8_UNorm, clearBuffer = true, clearColor = Color.clear, bindTextureMS = false, enableMSAA = msaa, enableRandomWrite = !msaa, name = msaa ? "DecalPrepassBufferMSAA" : "DecalPrepassBuffer" }; return renderGraph.CreateTexture(decalDesc); } @@ -304,7 +304,7 @@ bool RenderDepthPrepass(RenderGraph renderGraph, CullingResults cull, HDCamera h if (decalLayersEnabled) decalBuffer = passData.decalBuffer; else - decalBuffer = new TextureHandle(); + decalBuffer = renderGraph.defaultResources.blackTextureXR; builder.SetRenderFunc( (DepthPrepassData data, RenderGraphContext context) => @@ -679,6 +679,7 @@ class RenderDBufferPassData public int dBufferCount; public RendererListHandle meshDecalsRendererList; public TextureHandle depthStencilBuffer; + public TextureHandle depthTexture; public ComputeBufferHandle propertyMaskBuffer; public TextureHandle decalBuffer; } @@ -765,6 +766,7 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec passData.meshDecalsRendererList = builder.UseRendererList(renderGraph.CreateRendererList(PrepareMeshDecalsRendererList(cullingResults, hdCamera, use4RTs))); SetupDBufferTargets(renderGraph, passData, use4RTs, ref output, builder); passData.decalBuffer = builder.ReadTexture(decalBuffer); + passData.depthTexture = builder.ReadTexture(output.depthPyramidTexture); builder.SetRenderFunc( (RenderDBufferPassData data, RenderGraphContext context) => @@ -786,6 +788,7 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec rti, rt, resources.GetTexture(data.depthStencilBuffer), + resources.GetTexture(data.depthTexture), resources.GetRendererList(data.meshDecalsRendererList), resources.GetComputeBuffer(data.propertyMaskBuffer), resources.GetTexture(data.decalBuffer), 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 5f95b6e5786..44477a2df50 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 @@ -811,11 +811,11 @@ class RenderForwardEmissivePassData public RendererListHandle rendererList; } - void RenderForwardEmissive( RenderGraph renderGraph, - HDCamera hdCamera, + void RenderForwardEmissive( RenderGraph renderGraph, + HDCamera hdCamera, TextureHandle colorBuffer, TextureHandle depthStencilBuffer, - CullingResults cullingResults) + CullingResults cullingResults) { using (var builder = renderGraph.AddRenderPass("ForwardEmissive", out var passData, ProfilingSampler.Get(HDProfileId.ForwardEmissive))) { @@ -830,7 +830,7 @@ void RenderForwardEmissive( RenderGraph renderGraph, { HDUtils.DrawRendererList(context.renderContext, context.cmd, context.resources.GetRendererList(data.rendererList)); if (data.enableDecals) - DecalSystem.instance.RenderForwardEmissive(context.cmd); + DecalSystem.instance.RenderForwardEmissive(context.cmd); }); } } 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 71bf36acc88..1bf6d41933b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -3723,6 +3723,7 @@ void RenderDBuffer(HDCamera hdCamera, CommandBuffer cmd, ScriptableRenderContext m_DbufferManager.GetBuffersRTI(), m_DbufferManager.GetRTHandles(), m_SharedRTManager.GetDepthStencilBuffer(), + m_SharedRTManager.GetDepthTexture(), RendererList.Create(PrepareMeshDecalsRendererList(cullingResults, hdCamera, parameters.use4RTs)), m_DbufferManager.propertyMaskBuffer, m_SharedRTManager.GetDecalPrepassBuffer(hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)), @@ -3845,6 +3846,7 @@ static void RenderDBuffer( in RenderDBufferParameters parameters, RenderTargetIdentifier[] mrt, RTHandle[] rtHandles, RTHandle depthStencilBuffer, + RTHandle depthTexture, RendererList meshDecalsRendererList, ComputeBuffer propertyMaskBuffer, RTHandle decalPrepassBuffer, @@ -3889,6 +3891,8 @@ static void RenderDBuffer( in RenderDBufferParameters parameters, else cmd.SetGlobalTexture(HDShaderIDs._DecalPrepassTexture, TextureXR.GetBlackTexture()); + cmd.SetGlobalTexture(HDShaderIDs._CameraDepthTexture, depthTexture); + HDUtils.DrawRendererList(renderContext, cmd, meshDecalsRendererList); DecalSystem.instance.RenderIntoDBuffer(cmd); diff --git a/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def.asset b/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def.asset index 5cb6df8dc50..0b015d4f99f 100644 --- a/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def.asset +++ b/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def.asset @@ -227,6 +227,15 @@ MonoBehaviour: customBufferFormat: 12 supportedLitShaderMode: 3 supportDecals: 1 + supportDecalLayers: 1 + decalLayerName0: Decal Layer default + decalLayerName1: Decal Layer 1 + decalLayerName2: Decal Layer 2 + decalLayerName3: Decal Layer 3 + decalLayerName4: Decal Layer 4 + decalLayerName5: Decal Layer 5 + decalLayerName6: Decal Layer 6 + decalLayerName7: Decal Layer 7 msaaSampleCount: 1 supportMotionVectors: 1 supportRuntimeDebugDisplay: 0 @@ -236,11 +245,8 @@ MonoBehaviour: supportRayTracing: 0 supportedRayTracingMode: 3 probeVolumeSettings: - atlasWidth: 128 - atlasHeight: 128 - atlasDepth: 512 - atlasOctahedralDepthWidth: 2048 - atlasOctahedralDepthHeight: 2048 + atlasResolution: 128 + atlasOctahedralDepthResolution: 2048 lightLoopSettings: cookieAtlasSize: 8192 cookieFormat: 74 @@ -251,7 +257,6 @@ MonoBehaviour: reflectionProbeCacheSize: 128 reflectionCubemapSize: 128 reflectionCacheCompressed: 0 - planarReflectionCacheCompressed: 0 skyReflectionSize: 256 skyLightingOverrideLayerMask: serializedVersion: 2 @@ -392,6 +397,26 @@ MonoBehaviour: - 0.33 - 0.33 - 0.5 + RTRMinSmoothness: + - 0.6 + - 0.4 + - 0 + RTRSmoothnessFadeStart: + - 0.7 + - 0.5 + - 0 + RTRRayLength: + - 50 + - 50 + - 50 + RTRClampValue: + - 0.8 + - 1 + - 1.2 + RTRUpScaleRadius: 040000000400000003000000 + RTRFullResolution: 000001 + RTRDenoise: 010101 + RTRDenoiserRadius: 080000000c00000010000000 allowShaderVariantStripping: 1 enableSRPBatcher: 1 shaderVariantLogLevel: 0 diff --git a/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def_MSAAForward.asset b/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def_MSAAForward.asset index e8e68177f3d..54fd1a878c2 100644 --- a/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def_MSAAForward.asset +++ b/com.unity.testing.hdrp/RP_Assets/HDRP_Test_Def_MSAAForward.asset @@ -12,7 +12,7 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3} m_Name: HDRP_Test_Def_MSAAForward m_EditorClassIdentifier: - m_Version: 15 + m_Version: 16 m_ObsoleteFrameSettings: overrides: 0 enableShadow: 0 @@ -202,13 +202,13 @@ MonoBehaviour: supportSSR: 0 supportSSRTransparent: 0 supportSSAO: 1 + supportSSGI: 0 supportSubsurfaceScattering: 1 sssSampleBudget: m_Values: 140000002800000050000000 m_SchemaId: m_Id: With3Levels supportVolumetrics: 1 - increaseResolutionOfVolumetrics: 0 supportLightLayers: 0 lightLayerName0: Light Layer default lightLayerName1: Light Layer 1 @@ -227,6 +227,15 @@ MonoBehaviour: customBufferFormat: 12 supportedLitShaderMode: 1 supportDecals: 1 + supportDecalLayers: 1 + decalLayerName0: Decal Layer default + decalLayerName1: Decal Layer 1 + decalLayerName2: Decal Layer 2 + decalLayerName3: Decal Layer 3 + decalLayerName4: Decal Layer 4 + decalLayerName5: Decal Layer 5 + decalLayerName6: Decal Layer 6 + decalLayerName7: Decal Layer 7 msaaSampleCount: 8 supportMotionVectors: 1 supportRuntimeDebugDisplay: 0 @@ -234,24 +243,20 @@ MonoBehaviour: supportTerrainHole: 0 supportProbeVolume: 0 supportRayTracing: 0 + supportedRayTracingMode: 3 probeVolumeSettings: - atlasWidth: 128 - atlasHeight: 128 - atlasDepth: 512 - atlasOctahedralDepthWidth: 2048 - atlasOctahedralDepthHeight: 2048 + atlasResolution: 128 + atlasOctahedralDepthResolution: 2048 lightLoopSettings: cookieAtlasSize: 512 cookieFormat: 74 pointCookieSize: 128 - cubeCookieTexArraySize: 16 cookieAtlasLastValidMip: 0 cookieTexArraySize: 16 planarReflectionAtlasSize: 2048 reflectionProbeCacheSize: 64 reflectionCubemapSize: 256 reflectionCacheCompressed: 0 - planarReflectionCacheCompressed: 0 skyReflectionSize: 256 skyLightingOverrideLayerMask: serializedVersion: 2 @@ -275,6 +280,8 @@ MonoBehaviour: shadowAtlasResolution: 4096 shadowAtlasDepthBits: 32 useDynamicViewportRescale: 1 + cachedPunctualLightShadowAtlas: 2048 + cachedAreaLightShadowAtlas: 1024 shadowResolutionDirectional: m_Values: 00010000000200000004000000080000 m_SchemaId: @@ -337,7 +344,7 @@ MonoBehaviour: ChromaticAberrationMaxSamples: 03000000060000000c000000 lightSettings: useContactShadow: - m_Values: + m_Values: 000000 m_SchemaId: m_Id: maximumLODLevel: @@ -359,6 +366,57 @@ MonoBehaviour: AODirectionCount: 010000000200000004000000 ContactShadowSampleCount: 060000000a00000010000000 SSRMaxRaySteps: 100000002000000040000000 + RTAORayLength: + - 0.5 + - 3 + - 20 + RTAOSampleCount: 010000000200000008000000 + RTAODenoise: 010101 + RTAODenoiserRadius: + - 0.25 + - 0.5 + - 0.65 + RTGIRayLength: + - 50 + - 50 + - 50 + RTGIFullResolution: 000001 + RTGIClampValue: + - 0.5 + - 0.8 + - 1.5 + RTGIUpScaleRadius: 040000000400000004000000 + RTGIDenoise: 010101 + RTGIHalfResDenoise: 010000 + RTGIDenoiserRadius: + - 0.66 + - 0.66 + - 1 + RTGISecondDenoise: 010101 + RTGISecondDenoiserRadius: + - 0.33 + - 0.33 + - 0.5 + RTRMinSmoothness: + - 0.6 + - 0.4 + - 0 + RTRSmoothnessFadeStart: + - 0.7 + - 0.5 + - 0 + RTRRayLength: + - 50 + - 50 + - 50 + RTRClampValue: + - 0.8 + - 1 + - 1.2 + RTRUpScaleRadius: 040000000400000003000000 + RTRFullResolution: 000001 + RTRDenoise: 010101 + RTRDenoiserRadius: 080000000c00000010000000 allowShaderVariantStripping: 1 enableSRPBatcher: 1 shaderVariantLogLevel: 0 @@ -368,5 +426,11 @@ MonoBehaviour: diffusionProfileSettingsList: - {fileID: 11400000, guid: 802c802428a2d9640a87e821dfcdd9e8, type: 2} beforeTransparentCustomPostProcesses: [] + beforeTAACustomPostProcesses: [] beforePostProcessCustomPostProcesses: [] afterPostProcessCustomPostProcesses: [] + virtualTexturingSettings: + streamingCpuCacheSizeInMegaBytes: 256 + streamingGpuCacheSettings: + - format: 0 + sizeInMegaBytes: 128 diff --git a/com.unity.testing.hdrp/ScenePrefabs/HDRP_Test_Camera.prefab b/com.unity.testing.hdrp/ScenePrefabs/HDRP_Test_Camera.prefab index 1b74c5e18ef..641c9f83c86 100644 --- a/com.unity.testing.hdrp/ScenePrefabs/HDRP_Test_Camera.prefab +++ b/com.unity.testing.hdrp/ScenePrefabs/HDRP_Test_Camera.prefab @@ -172,6 +172,7 @@ MonoBehaviour: serializedVersion: 2 m_Bits: 4294967295 hasPersistentHistory: 0 + exposureTarget: {fileID: 0} m_RenderingPathCustomFrameSettings: bitDatas: data1: 70005818916701 @@ -209,6 +210,8 @@ MonoBehaviour: PerPixelCorrectnessThreshold: 0.001 AverageCorrectnessThreshold: 0.0001 UseHDR: 0 + UseBackBuffer: 0 + ImageResolution: 0 doBeforeTest: m_PersistentCalls: m_Calls: [] @@ -216,6 +219,7 @@ MonoBehaviour: waitFrames: 0 xrCompatible: 1 xrThresholdMultiplier: 1 + renderGraphCompatible: 1 checkMemoryAllocation: 1 renderPipelineAsset: {fileID: 11400000, guid: d7fe5f39d2c099a4ea1f1f610af309d7, type: 2} @@ -233,7 +237,6 @@ MonoBehaviour: m_EditorClassIdentifier: renderer: {fileID: 131257220995741923} camera: {fileID: 20109210616973140} - testSettings: {fileID: 114995348509370400} screenSize: 0.8 nearPlaneOffset: 0.001 extend: {x: 4, y: 1.8} @@ -348,4 +351,6 @@ MonoBehaviour: m_EditorClassIdentifier: D3D11: 0 D3D12: 0 - VukanWindows: 0 + VulkanWindows: 0 + Metal: 0 + VulkanLinux: 0 From 4e5caa52160d2726e6c1c5c8d8d5575bf77c42ec Mon Sep 17 00:00:00 2001 From: JordanL8 Date: Tue, 7 Jul 2020 19:48:40 +0100 Subject: [PATCH 10/35] Added what's new page and relevant images (#1154) * Added what's new page and relevant images * Update whats-new-10-0.md * Added decal layers and eye shader graph Co-authored-by: sebastienlagarde --- .../Documentation~/Images/CustomPass_API.png | 3 + .../Images/HDRPFeatures-CloudLayer.png | 3 + .../Images/HDRPFeatures-IESProfiles.png | 3 + .../Documentation~/Images/LightDebugView.png | 3 + .../Documentation~/Images/Path-traced-SSS.png | 3 + .../Documentation~/Images/Path-traced-fog.png | 3 + .../Images/PlanarReflectionFiltering.png | 3 + .../Documentation~/Images/aov_example.png | 4 +- .../Documentation~/TableOfContents.md | 2 + .../Documentation~/whats-new-10-0.md | 245 ++++++++++++++++++ .../Documentation~/whats-new.md | 4 + 11 files changed, 274 insertions(+), 2 deletions(-) create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md create mode 100644 com.unity.render-pipelines.high-definition/Documentation~/whats-new.md diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png new file mode 100644 index 00000000000..361c465e879 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/CustomPass_API.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:6093c925da152dfd7a39b1f7e330ffa757ec8ff901fd323f462cee46b905206d +size 232146 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png new file mode 100644 index 00000000000..19dbecd37e7 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-CloudLayer.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7f50114b7166e2db225a66a46d7849e5e12416c9c199175bbe3f8c4c893bb18 +size 506959 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png new file mode 100644 index 00000000000..f5a13240fac --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/HDRPFeatures-IESProfiles.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:5f2a8283b1fbce469faf6a92559a99d7a1cc9d79fdc797ff1fcccf49139c7a59 +size 234434 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png new file mode 100644 index 00000000000..88826dabd12 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/LightDebugView.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:ba425d47a2e368bcbb6db50c7e2ef44a923a5f5fbbe1218d0a909dcdfd63cdff +size 220762 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png new file mode 100644 index 00000000000..81f5ac755ea --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-SSS.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:cf9d5b2af5bb6bb1987dfe8f661bec4eb11a35177ff33cb54fd9cc97b56fbfdb +size 1286718 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png new file mode 100644 index 00000000000..e384e9982fe --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/Path-traced-fog.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:d7703e0c3107a38ce7d1cffef9bc04c62a5127b7c5348c41fd7563c684962604 +size 634467 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png new file mode 100644 index 00000000000..08f42ff695b --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/PlanarReflectionFiltering.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:59d28ff1edc408514687554126d537addebce47e46dbd729bf94dca88c9530c3 +size 830881 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png b/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png index ef3c8384ddf..4dc12dc6ef5 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png +++ b/com.unity.render-pipelines.high-definition/Documentation~/Images/aov_example.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0c9979af1a6a84124bcf96266f99560991e5ae6dfd26d7e44690f566ae27321e -size 3072921 +oid sha256:9ef088b9c0bc504b20623c610eec39bf7a7b8f625552f35f4ec252dc46676f0c +size 281337 diff --git a/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md b/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md index d770e610e54..a9da7cb555c 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/TableOfContents.md @@ -1,4 +1,6 @@ * [High Definition Render Pipeline](index) +* [What's new](whats-new.md) + * [10.0](whats-new-10-0.md) * Features * [Features List](HDRP-Features) * [Comparison with the Built-in Render Pipeline](Feature-Comparison) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md new file mode 100644 index 00000000000..8c354ab3b30 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -0,0 +1,245 @@ +# What's new in version 10.0 + +This page contains an overview of new features, improvements, and issues resolved in version 10 of the High Definition Render Pipeline (HDRP). + +## Features + +The following is a list of features Unity added to version 10.0 of the High Definition Render Pipeline. Each entry includes a summary of the feature and a link to any relevant documentation. + +### IES Profiles and light cookies + +![](Images/HDRPFeatures-IESProfiles.png) + +HDRP now supports the Illuminating Engineering Society's (IES) file format for describing the distribution of light from a light source. HDRP supports the IES profile for Point, Spot (Cone, Pyramid, and Box), and rectangular Area [Lights](Light-Component.md). You can also mix the IES profile with [cookies](https://docs.unity3d.com/Manual/Cookies.html) and even use the profile and cookie mix for [light map baking](https://docs.unity3d.com/Manual/LightMode-Baked.html). + +### Exposure + +#### Histogram exposure + +HDRP's exposure implementation can now compute a histogram of the image which allows you to select high and low percentile values to discard. Discarding outlying values in the shadows or highlights helps to calculate a more stable exposure. + +For more information on this feature, see [Exposure](Override-Exposure.md). + +#### New metering mode + +It is often best to not consider the whole screen as input for the auto-exposure algorithm so HDRP's exposure implementation now includes a metering mask. This includes a texture-based mask and a procedural mode. + +For more information about this feature, see [Exposure](Override-Exposure.md). + +#### Debug modes + +HDRP now includes new debug modes that can help you to set the correct exposure for your Scene. + +For more information about the debug modes, see [Exposure](Override-Exposure.md) and [Render Pipeline Debug](Render-Pipeline-Debug-Window.md). + +### Path tracing + +#### Path-traced depth of field + +![](Images/Path-traced-DOF.png) + +This version of HDRP includes a new depth of field mode for producing path-traced images with high-quality defocus blur. Compared to post-processed depth of field, this mode works correctly with multiple layers of transparency and does not produce any artifacts, apart from noise typical in path traced images (which you can mitigate by increasing the sample count and/or using an external denoising tool). + +For more information about this feature, see [Depth-of-field](Post-Processing-Depth-of-Field.md). + +#### Accumulation motion blur and path tracer convergence APIs + +![](Images/Path_tracing_recording.png) +HDRP now includes a recording API which you can use to render effects such as high-quality accumulation motion blur and converged path-traced images. These techniques create the final "converged" frame by combining information from multiple intermediate sub-frames. The new API allows your scripts to extract the properly converged final frames and do further processing or save them to disk. + +For information about this feature and for some example scripts, see [Multiframe rendering and accumulation documentation](Accumulation.md). + +#### Path-traced sub-surface scattering + +![](Images/Path-traced-SSS.png) + +Path tracing now supports subsurface scattering (SSS), using a random walk approach. To use it, enable path tracing and set up SSS in the same way as you would for HDRP materials. + +For information on SSS in HDRP, see [subsurface scattering](Subsurface-Scattering.md). + +#### Path-traced fog +![](Images/Path-traced-fog.png) + +Path tracing now supports fog absorption. Like SSS, to use this feature, enable path tracing and set up fog in the same way as you would for standard fog in HDRP. + +For information on fog in HDRP, see [fog](Override-Fog.md). + +#### Support for shader graph in path tracing + +Path tracing now supports Lit and Unlit Shader Graph nodes. + +Note that the graph should not contain nodes that rely on screen-space differentials (ddx, ddy). Nodes that compute the differences between the current pixel and a neighboring one do not compute correctly when you use ray tracing. + +### Scalability settings + +This version of HDRP includes scalability settings for fog and subsurface scattering. These settings allow for more control over the performance and quality of volumetric lighting. + +### Screen-space global illumination + +This version of HDRP introduces screen-space global illumination (SSGI) as a fallback for ray-traced global illumination (RTGI). It is an algorithm that accesses indirect diffuse lighting the environment generates. It works in the same way as the [Screen Space Reflection override](Override-Screen-Space-Reflection.md) in that it uses ray marching to calculate the result. + +Since this feature is a fallback for RTGI, for more information, see [Ray-traced Global Illumination](Ray-Traced-Global-Illumination.md). + +### Custom Pass AOV Export + +![img](Images/aov_example.png) +This feature allows you to export arbitrary data from custom pass injection points using an extension of the Arbitrary Output Variables (AOV) API in HDRP. An example use-case is for exporting “Object IDs” that are rendered with a custom pass. For information about the feature and example scripts, see the [AOV documentation](AOVs.md). + +### Debug modes + +#### Light debug view + +![](Images/LightDebugView.png) + +To help you to debug lighting in your Scene, HDRP now includes various lighting debug view modes that allow you to separate the various components of the light into multiple parts. These debug modes are also available in the [AOV](AOVs.md) API to allow recorders to export them. The new lighting debug modes are: + +- Diffuse +- Specular +- Direct diffuse +- Direct specular +- Indirect diffuse +- Reflection +- Refraction + +#### Light Layer debug mode + +HDRP now includes a new [light layer](Light-Layers.md) debug mode which can display the light layers assigned to each GameObject or can highlight GameObjects which match the light layers of a specific Light. + +For more information, see the Lighting panel section in the [HDRP debug window](Render-Pipeline-Debug-Window.md). + +### Alpha to Mask + +This version of HDRP adds support for alpha to mask (or alpha to coverage) to all HDRP and Shader Graph shaders. + +For more information, see the Alpha to Mask property in [Alpha Clipping](Alpha-Clipping.md). + +### Range attenuation for box-shaped spotlights + +This version of HDRP adds a range attenuation checkbox to box-shaped spotlights, which makes the Light shine uniformly across its range. + +For more information, see the [Light component documentation](Light-Component.md). + +### Parallax occlusion mapping for emissive maps + +This version of HDRP adds support for emissive maps with parallax occlusion mapping. + +### Fabric material examples + +HDRP now includes a new sample that contains example fabric materials. You can use these materials as references to more quickly develop fabric materials for your application. + +### Decal layers + +This version of HDRP introduces decal layers which allow you to specify which decals affect which Materials on a layer by layer basis. + +### Eye Shader Graph + +HDRP now includes an eye Shader Graph which you can use to create a realistic eye Material. There are also new HDRP-specific Shader Graph nodes which allow you to more easier customize this eye Shader Graph. + +### HDRI Flowmap + +The [HDRI Sky](Override-HDRI-Sky.md) override now contains a new property to allow you to apply a flowmap to the sky cubemap. + +For more information, see the [HDRI Sky documentation](Override-HDRI-Sky.md). + +### Cloud Layer Override (in preview) + +![](Images/HDRPFeatures-CloudLayer.png) + +This feature allows you to blend a texture with any sky available in the HDRP [volume system](Volumes.md). You can also use a flow map to apply a distortion effect, like wind. + +For information about the feature, see the [Cloud Layer documentation](Override-Cloud-Layer.md). For an example of integration in a custom sky, see the [Custom Sky documentation](Creating-a-Custom-Sky.md) + +### Graphics Compositor (in Preview) + +![](Images/Compositor-HDRPTemplateWithLogo.png) +The Graphics Compositor allows real-time compositing operations between layers of 3D content, static images, and videos. + +The tool support three types of compositing techniques: + +- Graph-based compositions, guided from a Shader Graph. +- Camera stacking compositions, where multiple cameras render to the same render target, the result of which can then be used in graph-based composition. +- 3D composition, where you insert composition layers into a 3D Scene to allow for effects like reflections/refractions between composited layers on 3D GameObject. + +Overall, this tool allows you to compose a final frame by mixing images and videos with 3D content in real-time inside Unity, without the need of an external compositing tool. + +For information about the feature, see the [HDRP Compositor documentation](Compositor-Main.md). + +## Improvements + +The following is a list of improvements Unity made to the High Definition Render Pipeline in version 10.0. Each entry includes a summary of the improvement and, if relevant, a link to any documentation. + +### Ray tracing + +#### Fallback for transparents + +Before this version, if transparent GameObjects were set up for [recursive rendering](Ray-Tracing-Recursive-Rendering.md) and you did not use recursive rendering in your Scene, they would disappear. Also, if they were not refractive, they would appear opaque. Now, HDRP has a set off fallbacks so the visuals of transparent GameObjects are coherent with and without recursive rendering and refraction. + +#### Shadow quality + +The denoiser for [ray-traced shadows](Ray-Traced-Shadows.md) now produces higher quality shadows. + +#### Colored shadows + +HDRP now supports colored ray-traced shadows for transparent and transmissive GameObjects. + +For more information, see [ray-traced shadows](Ray-Traced-Shadows.md). + +#### Screen-space reflection and ray-traced reflection + +HDRP's screen-space reflection (SSR) and ray-traced reflection (RTR) solutions now support transparent materials. This is useful for transparent surfaces such as windows or water. + +### Scene view Camera properties + +The HDRP-specific Scene view Camera properties, such as anti-aliasing mode and stop NaNs, are no longer in the preferences window and are instead in the [Scene view camera](https://docs.unity3d.com/Manual/SceneViewCamera.html) settings menu. + +For information on HDRP's Scene view Camera properties, see [Scene view Camera](Scene-View-Camera.md). + +### Compute shaders now use multi-compile + +HDRP, being a high-end modern renderer, contains a lot of compute shader passes. Up until now, to define variations of some compute shaders, HDRP had to manually declare new kernels for each variation. From this version, every compute shader in HDRP uses Unity's multi-compile API which makes maintenance easier, but more importantly allows HDRP to strip shaders that you do not need to improve compilation times. + +### Planar reflection probe filtering + +![](Images/PlanarReflectionFiltering.png) + +Planar reflection probe filtering is a process that combines the result of planar reflection and surfaces smoothness. Up until this version, the implementation for planar reflection probe filtering did not always produce results of fantastic quality. This version of HDRP includes a new implementation that is closer to being physically-based and improves on the image quality significantly. + +### Platform stability + +In the past, HDRP experienced stability issues for DirectX12, Vulkan, Metal, Linux. This version includes improvements to stability on these platforms. + +### Lightloop optimization + +In terms of performance, one of the most resource intensive operations for HDRP is processing lights before it sends them to the GPU. For many high-end projects that include a lot of lights in their Scene, this is particularly problematic. This version of HDRP introduces an optimization that reduces the resource intensity of the light loop by up to 80% which drastically improves CPU performance in the vast majority of cases. + +### Temporal anti-aliasing + +HDRP's previous temporal anti-aliasing (TAA) solution suffered from typical TAA artifacts. The image would look blurry while moving and ghosting artifacts were often present. The new implementation improves significantly on both of these issues and also offers more customizability. + +### AxF mapping modes + +You can now control the texture mapping mode for all textures in the [AxF Shader](AxF-Shader.md). You can choose between planar, triplanar, or different uv sets. + +For more information about this improvement, see [AxF Shader](AxF-Shader.md). + +### Exposure + +#### Exposure curve mapping + +Before this version, to set the minimum and maximum limit for auto-exposure, you had to use fixed values and, because of this, the exposure values fluctuated too much. Now you can use curves for these limits which helps to produce a more stable exposure. + +#### Custom mid-grey point + +Auto-exposure systems calculate the average scene luminance and try to map this to an average grey value. There is no fixed standard for this grey value and it differs between camera manufacturers. To provide the maximum possible customization, HDRP now allows you to choose the grey value from a selection of the most common middle grey value in industry. + +### Custom Pass API + +![](Images/CustomPass_API.png) + +From this version, within the rendering of your main Camera, you can now render GameObjects from another point of view (a disabled camera for example). The new API also comes with built-in support for rendering Depth, Normal and Tangent into an RTHandle. + +You can also use this Camera override to render some GameObjects with a different field of view, like arms in a first-person application. + +## Issues resolved + +For information on issues resolved in version 10 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.0/changelog/CHANGELOG.html). \ No newline at end of file diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md new file mode 100644 index 00000000000..f06e44e0e91 --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new.md @@ -0,0 +1,4 @@ +# What's new in the High Definition Render Pipeline + +This section contains information about changes to the High Definition Render Pipeline. Each page contains a list of new features and, if relevant, a list of improvements and a list of resolved issues. + From 9cc6c526b3a43371d8af538f925138f99d9cd629 Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 20:48:15 +0200 Subject: [PATCH 11/35] update what's new --- .../Documentation~/whats-new-10-0.md | 38 ++++++++++++++----- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md index 8c354ab3b30..6b95ca87aa2 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -74,11 +74,11 @@ Note that the graph should not contain nodes that rely on screen-space different This version of HDRP includes scalability settings for fog and subsurface scattering. These settings allow for more control over the performance and quality of volumetric lighting. -### Screen-space global illumination +### Screen-space global illumination (in preview) -This version of HDRP introduces screen-space global illumination (SSGI) as a fallback for ray-traced global illumination (RTGI). It is an algorithm that accesses indirect diffuse lighting the environment generates. It works in the same way as the [Screen Space Reflection override](Override-Screen-Space-Reflection.md) in that it uses ray marching to calculate the result. +This version of HDRP introduces screen-space global illumination (SSGI) as a fallback for ray-traced global illumination (RTGI). It is an algorithm that accesses indirect diffuse lighting the environment generates. It works in the same way as the [Screen Space Reflection](Override-Screen-Space-Reflection.md) in that it uses ray marching to calculate the result. -Since this feature is a fallback for RTGI, for more information, see [Ray-traced Global Illumination](Ray-Traced-Global-Illumination.md). +Since this feature is a fallback for RTGI, for more information, see [Ray-traced Global Illumination](Ray-Traced-Global-Illumination.md). This feature is still in preview. ### Custom Pass AOV Export @@ -123,13 +123,17 @@ For more information, see the [Light component documentation](Light-Component.md This version of HDRP adds support for emissive maps with parallax occlusion mapping. -### Fabric material examples +### Screen-space reflection on Transparent Material -HDRP now includes a new sample that contains example fabric materials. You can use these materials as references to more quickly develop fabric materials for your application. +HDRP's screen-space reflection (SSR) solution now support transparent materials. This is useful for transparent surfaces such as windows or water. + +### Fabric and Hair material examples + +HDRP now includes a new sample that contains example fabric and hair materials. You can use these materials as references to more quickly develop fabric and hair materials for your application. ### Decal layers -This version of HDRP introduces decal layers which allow you to specify which decals affect which Materials on a layer by layer basis. +This version of HDRP introduces decal layers which allow you to specify which decals affect which Materials on a layer by layer basis. See [Decal](Decal.md) section for more detail. ### Eye Shader Graph @@ -184,9 +188,13 @@ HDRP now supports colored ray-traced shadows for transparent and transmissive Ga For more information, see [ray-traced shadows](Ray-Traced-Shadows.md). -#### Screen-space reflection and ray-traced reflection +#### ray-traced reflection on Transparent Material + +HDRP's ray-traced reflection (RTR) solution now support transparent materials. This is useful for transparent surfaces such as windows or water. -HDRP's screen-space reflection (SSR) and ray-traced reflection (RTR) solutions now support transparent materials. This is useful for transparent surfaces such as windows or water. +#### Virtual Reality (VR) + +Ray tracing now support VR. It is however not recommended as the performance is very slow. ### Scene view Camera properties @@ -194,6 +202,10 @@ The HDRP-specific Scene view Camera properties, such as anti-aliasing mode and s For information on HDRP's Scene view Camera properties, see [Scene view Camera](Scene-View-Camera.md). +### Shadow caching system + +Shadow atlas and shadow caching management have been improve. Cascade shadow can now be stagerred (Cascades can update at different frequency). Shadow that are cached (OnEnable option) render everything they can see independently of the main view. More API control have been added. See detail in [Shadows](Shadows-in-HDRP.md) + ### Compute shaders now use multi-compile HDRP, being a high-end modern renderer, contains a lot of compute shader passes. Up until now, to define variations of some compute shaders, HDRP had to manually declare new kernels for each variation. From this version, every compute shader in HDRP uses Unity's multi-compile API which makes maintenance easier, but more importantly allows HDRP to strip shaders that you do not need to improve compilation times. @@ -212,6 +224,14 @@ In the past, HDRP experienced stability issues for DirectX12, Vulkan, Metal, Lin In terms of performance, one of the most resource intensive operations for HDRP is processing lights before it sends them to the GPU. For many high-end projects that include a lot of lights in their Scene, this is particularly problematic. This version of HDRP introduces an optimization that reduces the resource intensity of the light loop by up to 80% which drastically improves CPU performance in the vast majority of cases. +### Decal optimization + +In terms of performance, HDRP no longer force a full depth prepass with Deferred Lit Mode when Decals are enabled. Only Decals with **Receive Decals** property enabled in Material will render in the Prepass. + +### Constant buffer setup optimization + +In terms of performance, preparing and sending the shader data for the GPU is intensive. HDRP is now using a new C# constant buffer API allowing to setuping the various shader uniform in a single call instead of multiple one. + ### Temporal anti-aliasing HDRP's previous temporal anti-aliasing (TAA) solution suffered from typical TAA artifacts. The image would look blurry while moving and ghosting artifacts were often present. The new implementation improves significantly on both of these issues and also offers more customizability. @@ -242,4 +262,4 @@ You can also use this Camera override to render some GameObjects with a differen ## Issues resolved -For information on issues resolved in version 10 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.0/changelog/CHANGELOG.html). \ No newline at end of file +For information on issues resolved in version 10 of HDRP, see the [changelog](https://docs.unity3d.com/Packages/com.unity.render-pipelines.high-definition@10.0/changelog/CHANGELOG.html). From 6c250d7ec3b26f8330c2471f01f766192080f66f Mon Sep 17 00:00:00 2001 From: sebastienlagarde Date: Tue, 7 Jul 2020 23:18:50 +0200 Subject: [PATCH 12/35] Fix Material Creation RenderQueue setup + Fix AXF GUI (#1185) * Fix Material creation queue * Update SurfaceOptionUIBlock.cs --- .../Editor/Material/AxF/AxFGUI.cs | 6 +++- .../Lit/StandardsToHDLitMaterialUpgrader.cs | 8 ++--- .../Editor/Material/UIBlocks/HDShaderGUI.cs | 27 ---------------- .../Material/UIBlocks/SurfaceOptionUIBlock.cs | 31 ------------------- .../Editor/Material/Unlit/BaseUnlitGUI.cs | 3 ++ .../Runtime/Material/MaterialExtension.cs | 22 +++++++++++++ .../Runtime/RenderPipeline/HDRenderQueue.cs | 2 -- 7 files changed, 34 insertions(+), 65 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/AxF/AxFGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/AxF/AxFGUI.cs index a5083b00da9..c24c9e12ecc 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/AxF/AxFGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/AxF/AxFGUI.cs @@ -36,7 +36,11 @@ class AxFGUI : HDShaderGUI MaterialUIBlockList uiBlocks = new MaterialUIBlockList { - new SurfaceOptionUIBlock(MaterialUIBlock.Expandable.Base, features: SurfaceOptionUIBlock.Features.Unlit | SurfaceOptionUIBlock.Features.ReceiveDecal | SurfaceOptionUIBlock.Features.ReceiveSSR), + new SurfaceOptionUIBlock(MaterialUIBlock.Expandable.Base, + features: SurfaceOptionUIBlock.Features.Surface | SurfaceOptionUIBlock.Features.BlendMode | SurfaceOptionUIBlock.Features.DoubleSided | + SurfaceOptionUIBlock.Features.AlphaCutoff | SurfaceOptionUIBlock.Features.AlphaCutoffShadowThreshold | SurfaceOptionUIBlock.Features.DoubleSidedNormalMode | + SurfaceOptionUIBlock.Features.ReceiveSSR | SurfaceOptionUIBlock.Features.ReceiveDecal | SurfaceOptionUIBlock.Features.PreserveSpecularLighting + ), new AxfSurfaceInputsUIBlock(MaterialUIBlock.Expandable.Input), new AdvancedOptionsUIBlock(MaterialUIBlock.Expandable.Advance, AdvancedOptionsUIBlock.Features.Instancing | AdvancedOptionsUIBlock.Features.SpecularOcclusion | AdvancedOptionsUIBlock.Features.AddPrecomputedVelocity), }; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/StandardsToHDLitMaterialUpgrader.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/StandardsToHDLitMaterialUpgrader.cs index 84b5bc70bdd..2387634eca8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/StandardsToHDLitMaterialUpgrader.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/StandardsToHDLitMaterialUpgrader.cs @@ -185,14 +185,14 @@ public override void Convert(Material srcMaterial, Material dstMaterial) dstMaterial.SetFloat("_BlendMode", 0); dstMaterial.SetFloat("_AlphaCutoffEnable", 0); dstMaterial.SetFloat("_EnableBlendModePreserveSpecularLighting", 1); - dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Opaque, 0, false, false); + dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Opaque, 0, false, true); break; case 1: // Cutout dstMaterial.SetFloat("_SurfaceType", 0); dstMaterial.SetFloat("_BlendMode", 0); dstMaterial.SetFloat("_AlphaCutoffEnable", 1); dstMaterial.SetFloat("_EnableBlendModePreserveSpecularLighting", 1); - dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Opaque, 0, true, false); + dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Opaque, 0, true, true); break; case 2: // Fade -> Alpha with depth prepass + Disable preserve specular dstMaterial.SetFloat("_SurfaceType", 1); @@ -200,14 +200,14 @@ public override void Convert(Material srcMaterial, Material dstMaterial) dstMaterial.SetFloat("_AlphaCutoffEnable", 0); dstMaterial.SetFloat("_EnableBlendModePreserveSpecularLighting", 0); dstMaterial.SetFloat("_TransparentDepthPrepassEnable", 1); - dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Transparent, 0, false, false); + dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Transparent, 0, false, true); break; case 3: // Transparent -> Alpha dstMaterial.SetFloat("_SurfaceType", 1); dstMaterial.SetFloat("_BlendMode", 0); dstMaterial.SetFloat("_AlphaCutoffEnable", 0); dstMaterial.SetFloat("_EnableBlendModePreserveSpecularLighting", 1); - dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Transparent, 0, false, false); + dstMaterial.renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Transparent, 0, false, true); break; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs index e5cd1312158..fa9564aad1c 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/HDShaderGUI.cs @@ -29,8 +29,6 @@ public override void AssignNewShaderToMaterial(Material material, Shader oldShad { base.AssignNewShaderToMaterial(material, oldShader, newShader); - ResetMaterialCustomRenderQueue(material); - SetupMaterialKeywordsAndPassInternal(material); } @@ -65,31 +63,6 @@ public sealed override void OnGUI(MaterialEditor materialEditor, MaterialPropert protected abstract void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props); - protected static void ResetMaterialCustomRenderQueue(Material material) - { - HDRenderQueue.RenderQueueType targetQueueType; - switch (material.GetSurfaceType()) - { - case SurfaceType.Opaque: - targetQueueType = HDRenderQueue.GetOpaqueEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); - break; - case SurfaceType.Transparent: - targetQueueType = HDRenderQueue.GetTransparentEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); - break; - default: - throw new ArgumentException("Unknown SurfaceType"); - } - - // Decal doesn't have properties to compute the render queue - if (material.HasProperty(kTransparentSortPriority) && material.HasProperty(kAlphaCutoffEnabled)) - { - float sortingPriority = material.GetFloat(kTransparentSortPriority); - bool alphaTest = material.GetFloat(kAlphaCutoffEnabled) > 0.5f; - bool decalEnable = material.HasProperty(kEnableDecals) && material.GetFloat(kEnableDecals) > 0.0f; - material.renderQueue = HDRenderQueue.ChangeType(targetQueueType, (int)sortingPriority, alphaTest, decalEnable); - } - } - readonly static string[] floatPropertiesToSynchronize = { kUseSplitLighting }; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs index 42f078c59ef..0241ee873b4 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs @@ -408,8 +408,6 @@ float GetShaderDefaultFloatValue(string propName) void DrawAlphaCutoffGUI() { - EditorGUI.BeginChangeCheck(); - // For shadergraphs we show this slider only if the feature is enabled in the shader settings. bool showAlphaClipThreshold = true; @@ -472,15 +470,6 @@ void DrawAlphaCutoffGUI() } EditorGUI.showMixedValue = false; - - // Update the renderqueue when we change the alphaTest - if (EditorGUI.EndChangeCheck()) - { - var renderQueueType = HDRenderQueue.GetTypeByRenderQueueValue(renderQueue); - - bool receiveDecal = materials[0].HasProperty(kSupportDecals) && materials[0].GetFloat(kSupportDecals) > 0.0f; - renderQueue = HDRenderQueue.ChangeType(renderQueueType, (int)transparentSortPriority.floatValue, alphaCutoffEnable.floatValue == 1, receiveDecal); - } } void DrawDoubleSidedGUI() @@ -538,7 +527,6 @@ void DrawSurfaceGUI() if (EditorGUI.EndChangeCheck()) { transparentSortPriority.floatValue = HDRenderQueue.ClampsTransparentRangePriority((int)transparentSortPriority.floatValue); - renderQueue = HDRenderQueue.ChangeType(HDRenderQueue.GetTypeByRenderQueueValue(renderQueue), offset: (int)transparentSortPriority.floatValue); } } @@ -628,19 +616,6 @@ void SurfaceTypePopup() { materialEditor.RegisterPropertyChangeUndo(Styles.surfaceTypeText); surfaceType.floatValue = (float)newMode; - HDRenderQueue.RenderQueueType targetQueueType; - switch(newMode) - { - case SurfaceType.Opaque: - targetQueueType = HDRenderQueue.GetOpaqueEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); - break; - case SurfaceType.Transparent: - targetQueueType = HDRenderQueue.GetTransparentEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); - break; - default: - throw new ArgumentException("Unknown SurfaceType"); - } - renderQueue = HDRenderQueue.ChangeType(targetQueueType, (int)transparentSortPriority.floatValue, alphaTest, receiveDecal); } EditorGUI.showMixedValue = false; @@ -780,13 +755,7 @@ void DrawLitSurfaceOptions() if (supportDecals != null) { - EditorGUI.BeginChangeCheck(); materialEditor.ShaderProperty(supportDecals, Styles.supportDecalsText); - if (EditorGUI.EndChangeCheck()) - { - var renderQueueType = HDRenderQueue.GetTypeByRenderQueueValue(renderQueue); - renderQueue = HDRenderQueue.ChangeType(renderQueueType, (int)transparentSortPriority.floatValue, alphaCutoffEnable.floatValue == 1, supportDecals.floatValue > 0.0f); - } } if (receivesSSR != null && receivesSSRTransparent != null) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/BaseUnlitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/BaseUnlitGUI.cs index 9477ed839d6..e326dd4ece8 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/BaseUnlitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/BaseUnlitGUI.cs @@ -16,6 +16,9 @@ static class BaseUnlitGUI { public static void SetupBaseUnlitKeywords(this Material material) { + // First thing, be sure to have an up to date RenderQueue + material.ResetMaterialCustomRenderQueue(); + bool alphaTestEnable = material.HasProperty(kAlphaCutoffEnabled) && material.GetFloat(kAlphaCutoffEnabled) > 0.0f; CoreUtils.SetKeyword(material, "_ALPHATEST_ON", alphaTestEnable); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialExtension.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialExtension.cs index ea2b9e7c64f..7e8d74f61cd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialExtension.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/MaterialExtension.cs @@ -153,5 +153,27 @@ public static CullMode GetOpaqueCullMode(this Material material) public static CompareFunction GetTransparentZTest(this Material material) => material.HasProperty(kZTestTransparent) ? (CompareFunction)material.GetInt(kZTestTransparent) : CompareFunction.LessEqual; + + public static void ResetMaterialCustomRenderQueue(this Material material) + { + // using GetOpaqueEquivalent / GetTransparentEquivalent allow to handle the case when we switch surfaceType + HDRenderQueue.RenderQueueType targetQueueType; + switch (material.GetSurfaceType()) + { + case SurfaceType.Opaque: + targetQueueType = HDRenderQueue.GetOpaqueEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); + break; + case SurfaceType.Transparent: + targetQueueType = HDRenderQueue.GetTransparentEquivalent(HDRenderQueue.GetTypeByRenderQueueValue(material.renderQueue)); + break; + default: + throw new ArgumentException("Unknown SurfaceType"); + } + + float sortingPriority = material.HasProperty(kTransparentSortPriority) ? material.GetFloat(kTransparentSortPriority) : 0.0f; + bool alphaTest = material.HasProperty(kAlphaCutoffEnabled) && material.GetFloat(kAlphaCutoffEnabled) > 0.0f; + bool decalEnable = material.HasProperty(kEnableDecals) && material.GetFloat(kEnableDecals) > 0.0f; + material.renderQueue = HDRenderQueue.ChangeType(targetQueueType, (int)sortingPriority, alphaTest, decalEnable); + } } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderQueue.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderQueue.cs index 1c058706d5b..75031260716 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderQueue.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderQueue.cs @@ -146,8 +146,6 @@ public static RenderQueueType GetTransparentEquivalent(RenderQueueType type) return RenderQueueType.Transparent; case RenderQueueType.AfterPostProcessOpaque: return RenderQueueType.AfterPostprocessTransparent; - case RenderQueueType.LowTransparent: - return RenderQueueType.LowTransparent; default: //keep transparent mapped to transparent return type; From fa607fd274cab21daaec4d96e9eb21850498e81f Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Wed, 8 Jul 2020 00:09:32 +0200 Subject: [PATCH 13/35] Refactor keyword system in ShaderGraph (#1181) * Refactor the keyword system in ShaderGraph * Move geometric AA to respective master node Co-authored-by: Sebastien Lagarde --- .../Decal/ShaderGraph/DecalSubTarget.cs | 47 ++------ .../Material/Eye/ShaderGraph/EyeSubTarget.cs | 4 + .../Fabric/ShaderGraph/FabricSubTarget.cs | 4 + .../Lit/ShaderGraph/HDLitSubTarget.cs | 4 + .../Material/ShaderGraph/HDShaderPasses.cs | 99 +--------------- .../Material/ShaderGraph/HDSubTarget.cs | 79 +++++++++++++ .../Editor/Material/ShaderGraph/HDTarget.cs | 108 +----------------- .../Material/ShaderGraph/LightingSubTarget.cs | 43 ++++++- .../ShaderGraph/PassDescriptorExtension.cs | 41 +++++++ .../PassDescriptorExtension.cs.meta | 11 ++ .../Material/ShaderGraph/SurfaceSubTarget.cs | 89 +++++---------- .../Unlit/ShaderGraph/HDUnlitSubTarget.cs | 8 ++ .../RenderPipeline/HDStringConstants.cs | 2 + 13 files changed, 238 insertions(+), 301 deletions(-) create mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs create mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs.meta 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 67e0d60c1e5..0a70a92da46 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 @@ -18,21 +18,19 @@ sealed partial class DecalSubTarget : HDSubTarget, ILegacyTarget, IRequiresData< { public DecalSubTarget() => displayName = "Decal"; - public static string passTemplatePath => $"{HDUtils.GetHDRenderPipelinePath()}Editor/Material/Decal/ShaderGraph/DecalPass.template"; - - static string[] passTemplateMaterialDirectories = new string[] + protected override string templatePath => $"{HDUtils.GetHDRenderPipelinePath()}Editor/Material/Decal/ShaderGraph/DecalPass.template"; + protected override string[] templateMaterialDirectories => new string[] { $"{HDUtils.GetHDRenderPipelinePath()}Editor/Material/ShaderGraph/Templates", $"{HDUtils.GetHDRenderPipelinePath()}Editor/Material/ShaderGraph/Templates/" }; - - protected override string templatePath => passTemplatePath; - protected override string[] templateMaterialDirectories => passTemplateMaterialDirectories; protected override string subTargetAssetGuid => "3ec927dfcb5d60e4883b2c224857b6c2"; protected override string customInspector => "Rendering.HighDefinition.DecalGUI"; protected override string renderType => HDRenderTypeTags.Opaque.ToString(); protected override string renderQueue => HDRenderQueue.GetShaderTagValue(HDRenderQueue.ChangeType(HDRenderQueue.RenderQueueType.Opaque, decalData.drawOrder, false, false)); protected override ShaderID shaderID => HDShaderUtils.ShaderID.SG_Lit; + protected override FieldDescriptor subShaderField => new FieldDescriptor(kSubShader, "Decal Subshader", ""); + protected override string subShaderInclude => "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl"; // Material Data DecalData m_DecalData; @@ -53,7 +51,12 @@ public DecalData decalData protected override IEnumerable EnumerateSubShaders() { - yield return SubShaders.Decal; + yield return PostProcessSubShader(SubShaders.Decal); + } + + protected override void CollectPassKeywords(ref PassDescriptor pass) + { + pass.keywords.Add(CoreKeywordDescriptors.AlphaTest, new FieldCondition(Fields.AlphaTest, true)); } public static FieldDescriptor AffectsAlbedo = new FieldDescriptor(kMaterial, "AffectsAlbedo", "_MATERIAL_AFFECTS_ALBEDO 1"); @@ -127,7 +130,6 @@ static class SubShaders { public static SubShaderDescriptor Decal = new SubShaderDescriptor() { - pipelineTag = HDRenderPipeline.k_ShaderTagName, generatesPreview = true, passes = new PassCollection { @@ -156,10 +158,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_DBufferProjector3RT], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentDefault, @@ -180,10 +178,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_DBufferProjector4RT], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentDefault, @@ -206,10 +200,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_ProjectorEmissive], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentEmissive, @@ -231,10 +221,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_DBufferMesh3RT], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentDefault, @@ -258,10 +244,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_DBufferMesh4RT], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentDefault, @@ -285,10 +267,6 @@ public static class DecalPasses lightMode = DecalSystem.s_MaterialSGDecalPassNames[(int)DecalSystem.MaterialSGDecalPass.ShaderGraph_MeshEmissive], useInPreview = false, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentMeshEmissive, @@ -311,10 +289,6 @@ public static class DecalPasses lightMode = "ForwardOnly", useInPreview = true, - // Template - passTemplatePath = passTemplatePath, - sharedTemplateDirectories = passTemplateMaterialDirectories, - // Port mask validPixelBlocks = DecalBlockMasks.FragmentMeshEmissive, @@ -592,7 +566,6 @@ static class Descriptors }; } #endregion - // protected override IncludeCollection subShaderIncludes => "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Decal/Decal.hlsl"; #region Includes static class DecalIncludes 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 74fb4ad68af..fc5a9b74225 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 @@ -59,6 +59,10 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(Eye, eyeData.materialType == EyeData.MaterialType.Eye); context.AddField(EyeCinematic, eyeData.materialType == EyeData.MaterialType.EyeCinematic); context.AddField(SubsurfaceScattering, eyeData.subsurfaceScattering && systemData.surfaceType != SurfaceType.Transparent); + + context.AddField(SpecularAA, lightingData.specularAA && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAThreshold) && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAScreenSpaceVariance)); } public override void GetActiveBlocks(ref TargetActiveBlockContext context) 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 c477cc86ef2..73b7c60e95a 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 @@ -70,6 +70,10 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(SubsurfaceScattering, fabricData.subsurfaceScattering && systemData.surfaceType != SurfaceType.Transparent); context.AddField(Transmission, fabricData.transmission); context.AddField(EnergyConservingSpecular, fabricData.energyConservingSpecular); + + context.AddField(SpecularAA, lightingData.specularAA && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAThreshold) && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAScreenSpaceVariance)); } public override void GetActiveBlocks(ref TargetActiveBlockContext context) 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 2f17dd7c09f..9d5ac222318 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 @@ -119,6 +119,10 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(ClearCoat, litData.clearCoat); // Enable clear coat material feature context.AddField(Tangent, descs.Contains(HDBlockFields.SurfaceDescription.Tangent) && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.Tangent)); context.AddField(RayTracing, litData.rayTracing); + + context.AddField(SpecularAA, lightingData.specularAA && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAThreshold) && + context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAScreenSpaceVariance)); } public override void GetActiveBlocks(ref TargetActiveBlockContext context) 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 c5b07266101..c5605bfb61e 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 @@ -26,7 +26,6 @@ public static PassDescriptor GenerateDistortionPass(bool supportLighting) renderStates = GenerateRenderState(), pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.ShaderGraphRaytracingHigh, - keywords = CoreKeywords.HDBase, includes = GenerateIncludes(), }; @@ -91,7 +90,6 @@ public static PassDescriptor GenerateSceneSelection(bool supportLighting) renderStates = CoreRenderStates.SceneSelection, pragmas = CorePragmas.DotsInstancedInV1AndV2EditorSync, defines = CoreDefines.SceneSelection, - keywords = CoreKeywords.HDBase, includes = GenerateIncludes(), }; @@ -141,7 +139,6 @@ static public PassDescriptor GenerateShadowCaster(bool supportLighting) // Collections renderStates = CoreRenderStates.ShadowCaster, pragmas = CorePragmas.DotsInstancedInV2Only, - keywords = CoreKeywords.HDBase, includes = GenerateIncludes(), }; @@ -188,7 +185,6 @@ public static PassDescriptor GenerateMETA(bool supportLighting) renderStates = CoreRenderStates.Meta, pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.ShaderGraphRaytracingHigh, - keywords = CoreKeywords.HDBase, includes = GenerateIncludes(), }; @@ -232,28 +228,9 @@ public static PassDescriptor GenerateDepthForwardOnlyPass(bool supportLighting) renderStates = GenerateRenderState(), pragmas = CorePragmas.DotsInstancedInV2Only, defines = supportLighting ? CoreDefines.DepthForwardOnly : null, - keywords = GenerateKeywords(), includes = GenerateIncludes(), }; - KeywordCollection GenerateKeywords() - { - var keywords = new KeywordCollection - { - { CoreKeywords.HDBase }, - { CoreKeywordDescriptors.WriteMsaaDepth }, - // Note: normal buffer write is a define for forward only - { CoreKeywordDescriptors.AlphaToMask, new FieldCondition(Fields.AlphaToMask, true) }, - }; - - if (supportLighting) - { - keywords.Add(CoreKeywordDescriptors.WriteDecalBuffer); - } - - return keywords; - } - RenderStateCollection GenerateRenderState() { var renderState = new RenderStateCollection{ CoreRenderStates.DepthOnly }; @@ -329,7 +306,6 @@ public static PassDescriptor GenerateMotionVectors(bool supportLighting, bool su renderStates = GenerateRenderState(), defines = GenerateDefines(), pragmas = CorePragmas.DotsInstancedInV2Only, - keywords = GenerateKeywords(), includes = GenerateIncludes(), }; @@ -338,16 +314,13 @@ DefineCollection GenerateDefines() if (!supportLighting) return null; - var defines = new DefineCollection - { - { RayTracingNode.GetRayTracingKeyword(), 0 }, - }; + var defines = new DefineCollection { Defines.raytracingHigh }; // #define WRITE_NORMAL_BUFFER for motion vector in forward case - if (supportForward) - { - defines.Add(CoreKeywordDescriptors.WriteNormalBuffer, 1); - } + // if (supportForward) + // { + // defines.Add(CoreKeywordDescriptors.WriteNormalBuffer, 1); + // } return defines; } @@ -371,27 +344,6 @@ RenderStateCollection GenerateRenderState() return renderState; } - KeywordCollection GenerateKeywords() - { - var keywords = new KeywordCollection - { - { CoreKeywords.HDBase }, - { CoreKeywordDescriptors.WriteMsaaDepth }, - { CoreKeywordDescriptors.AlphaToMask, new FieldCondition(Fields.AlphaToMask, true) }, - }; - - // #pragma multi_compile _ WRITE_DECAL_BUFFER for both deferred and forward - // #pragma multi_compile _ WRITE_NORMAL_BUFFER for deferred (forward is a define) - if (supportLighting) - { - keywords.Add(CoreKeywordDescriptors.WriteDecalBuffer); - if (!supportForward) - keywords.Add(CoreKeywordDescriptors.WriteNormalBuffer); - } - - return keywords; - } - IncludeCollection GenerateIncludes() { var includes = new IncludeCollection(); @@ -433,7 +385,6 @@ public static PassDescriptor GenerateForwardOnlyPass(bool supportLighting) renderStates = CoreRenderStates.Forward, pragmas = CorePragmas.DotsInstancedInV2Only, defines = supportLighting ? CoreDefines.Forward : null, - keywords = supportLighting ? CoreKeywords.Forward : UnlitForwardKeywords, includes = GenerateIncludes(), virtualTextureFeedback = true, @@ -483,13 +434,6 @@ IncludeCollection GenerateIncludes() } } - public static KeywordCollection UnlitForwardKeywords = new KeywordCollection - { - { CoreKeywords.HDBase }, - { CoreKeywordDescriptors.DebugDisplay }, - { CoreKeywordDescriptors.Shadow, new FieldCondition(HDUnlitSubTarget.EnableShadowMatte, true) }, - }; - #endregion #region Back then front pass @@ -509,7 +453,6 @@ public static PassDescriptor GenerateBackThenFront(bool supportLighting) renderStates = CoreRenderStates.TransparentBackface, pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.BackThenFront, - keywords = supportLighting ? CoreKeywords.BackThenFrontTransparent : UnlitForwardKeywords, includes = GenerateIncludes(), }; @@ -582,23 +525,9 @@ public static PassDescriptor GenerateTransparentDepthPrepass(bool supportLightin renderStates = GenerateRenderState(), pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.TransparentDepthPrepass, - keywords = GenerateKeywords(), includes = GenerateIncludes(), }; - KeywordCollection GenerateKeywords() - { - KeywordCollection keywords = new KeywordCollection { CoreKeywords.HDBase }; - - // For now we can generate WriteNormalBuffer the way we want with SG generator - // as it require a conditional define. So instead it is hard coded in - // ShaderPass.template. Looks for SHADERPASS_TRANSPARENT_DEPTH_PREPASS in the file - //if (supportLighting) - // keywords.Add(CoreKeywordDescriptors.WriteNormalBuffer); - - return keywords; - } - RenderStateCollection GenerateRenderState() { var renderState = new RenderStateCollection @@ -693,7 +622,6 @@ public static PassDescriptor GenerateTransparentDepthPostpass(bool supportLighti renderStates = GenerateRenderState(), pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.TransparentDepthPostpass, - keywords = CoreKeywords.HDBase, includes = GenerateIncludes(), }; @@ -768,11 +696,7 @@ public static PassDescriptor GenerateLitDepthOnly() public static KeywordCollection LitDepthOnlyKeywords = new KeywordCollection { - { CoreKeywords.HDBase }, - { CoreKeywordDescriptors.WriteMsaaDepth }, { CoreKeywordDescriptors.WriteNormalBuffer }, - { CoreKeywordDescriptors.WriteDecalBuffer }, - { CoreKeywordDescriptors.AlphaToMask, new FieldCondition(Fields.AlphaToMask, true) }, }; #endregion @@ -803,12 +727,7 @@ public static PassDescriptor GenerateGBuffer() public static KeywordCollection GBufferKeywords = new KeywordCollection { - { CoreKeywords.HDBase }, - { CoreKeywordDescriptors.DebugDisplay }, - { CoreKeywords.Lightmaps }, - { CoreKeywordDescriptors.ShadowsShadowmask }, { CoreKeywordDescriptors.LightLayers }, - { CoreKeywordDescriptors.Decals }, }; public static IncludeCollection GBufferIncludes = new IncludeCollection @@ -855,7 +774,6 @@ public static PassDescriptor GenerateLitForward() renderStates = CoreRenderStates.Forward, pragmas = CorePragmas.DotsInstancedInV1AndV2, defines = CoreDefines.Forward, - keywords = CoreKeywords.Forward, includes = ForwardIncludes, virtualTextureFeedback = true, @@ -895,7 +813,6 @@ public static PassDescriptor GenerateLitRaytracingPrepass() renderStates = RayTracingPrepassRenderState, pragmas = LitRaytracingPrepassPragmas, defines = CoreDefines.ShaderGraphRaytracingHigh, - keywords = CoreKeywords.HDBase, includes = RayTracingPrepassIncludes, }; } @@ -945,7 +862,6 @@ public static PassDescriptor GenerateRaytracingIndirect(bool supportLighting) // Collections pragmas = CorePragmas.RaytracingBasic, defines = supportLighting ? RaytracingIndirectDefines : null, - keywords = supportLighting ? CoreKeywords.RaytracingIndirect : CoreKeywords.RaytracingIndirectUnlit, includes = GenerateIncludes(), }; @@ -1061,7 +977,6 @@ public static PassDescriptor GenerateRaytracingForward(bool supportLighting) // Collections pragmas = CorePragmas.RaytracingBasic, defines = supportLighting ? RaytracingForwardDefines : null, - keywords = supportLighting ? CoreKeywords.RaytracingForward : CoreKeywords.RaytracingForwardUnlit, includes = GenerateIncludes(), }; @@ -1128,7 +1043,7 @@ public static PassDescriptor GenerateRaytracingGBuffer(bool supportLighting) // Collections pragmas = CorePragmas.RaytracingBasic, defines = supportLighting ? RaytracingGBufferDefines : null, - keywords = supportLighting ? CoreKeywords.RaytracingGBuffer : CoreKeywords.RaytracingGBufferUnlit, + keywords = supportLighting ? CoreKeywords.RaytracingGBuffer : null, includes = GenerateIncludes(), }; @@ -1189,7 +1104,6 @@ public static PassDescriptor GeneratePathTracing(bool supportLighting) //Collections pragmas = CorePragmas.RaytracingBasic, defines = supportLighting ? RaytracingPathTracingDefines : null, - keywords = CoreKeywords.HDBaseNoCrossFade, includes = GenerateIncludes(), }; @@ -1255,7 +1169,6 @@ public static PassDescriptor GenerateRaytracingSubsurface() //Collections pragmas = CorePragmas.RaytracingBasic, defines = RaytracingSubsurfaceDefines, - keywords = CoreKeywords.RaytracingForward, includes = GenerateIncludes(), }; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs index 44e609a1d88..b16eea5f1ca 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs @@ -49,6 +49,13 @@ protected virtual int ComputeMaterialNeedsUpdateHash() protected abstract string renderQueue { get; } protected abstract string templatePath { get; } protected abstract string[] templateMaterialDirectories { get; } + protected abstract FieldDescriptor subShaderField { get; } + protected abstract string subShaderInclude { get; } + + protected virtual string postDecalsInclude => null; + protected virtual string raytracingInclude => null; + protected virtual bool supportPathtracing => false; + protected virtual bool supportRaytracing => false; public virtual string identifier => GetType().Name; @@ -100,6 +107,78 @@ public override void Setup(ref TargetSetupContext context) } } + protected SubShaderDescriptor PostProcessSubShader(SubShaderDescriptor subShaderDescriptor) + { + if (String.IsNullOrEmpty(subShaderDescriptor.pipelineTag)) + subShaderDescriptor.pipelineTag = HDRenderPipeline.k_ShaderTagName; + + var passes = subShaderDescriptor.passes.ToArray(); + PassCollection finalPasses = new PassCollection(); + for (int i = 0; i < passes.Length; i++) + { + var passDescriptor = passes[i].descriptor; + passDescriptor.passTemplatePath = templatePath; + passDescriptor.sharedTemplateDirectories = templateMaterialDirectories; + + // Add the subShader to enable fields that depends on it + var originalRequireFields = passDescriptor.requiredFields; + // Duplicate require fields to avoid unwanted shared list modification + passDescriptor.requiredFields = new FieldCollection(); + if (originalRequireFields != null) + foreach (var field in originalRequireFields) + passDescriptor.requiredFields.Add(field.field); + passDescriptor.requiredFields.Add(subShaderField); + + IncludeCollection finalIncludes = new IncludeCollection(); + var includeList = passDescriptor.includes.Select(include => include.descriptor).ToList(); + + // Replace include placeholders if necessary: + foreach (var include in passDescriptor.includes) + { + if (include.descriptor.value == CoreIncludes.kPassPlaceholder) + include.descriptor.value = subShaderInclude; + if (include.descriptor.value == CoreIncludes.kPostDecalsPlaceholder) + include.descriptor.value = postDecalsInclude; + if (include.descriptor.value == CoreIncludes.kRaytracingPlaceholder) + include.descriptor.value = raytracingInclude; + + if (!String.IsNullOrEmpty(include.descriptor.value)) + finalIncludes.Add(include.descriptor.value, include.descriptor.location, include.fieldConditions); + } + passDescriptor.includes = finalIncludes; + + // Add keywords from subshaders: + passDescriptor.keywords = passDescriptor.keywords == null ? new KeywordCollection() : new KeywordCollection{ passDescriptor.keywords }; // Duplicate keywords to avoid side effects (static list modification) + passDescriptor.defines = passDescriptor.defines == null ? new DefineCollection() : new DefineCollection{ passDescriptor.defines }; // Duplicate defines to avoid side effects (static list modification) + // foreach (var l in passDescriptor.keywords) + // if (l.descriptor.referenceName.Contains("DEBUG_DISPLAY")) + // Debug.Log(passDescriptor.lightMode); + CollectPassKeywords(ref passDescriptor); + + // Replace valid pixel blocks by automatic thing so we don't have to write them + var tmpCtx = new TargetActiveBlockContext(new List(), passDescriptor); + GetActiveBlocks(ref tmpCtx); + if (passDescriptor.validPixelBlocks == null) + passDescriptor.validPixelBlocks = tmpCtx.activeBlocks.Where(b => b.shaderStage == ShaderStage.Fragment).ToArray(); + if (passDescriptor.validVertexBlocks == null) + passDescriptor.validVertexBlocks = tmpCtx.activeBlocks.Where(b => b.shaderStage == ShaderStage.Vertex).ToArray(); + + // Set default values for HDRP "surface" passes: + if (passDescriptor.structs == null) + passDescriptor.structs = CoreStructCollections.Default; + if (passDescriptor.fieldDependencies == null) + passDescriptor.fieldDependencies = CoreFieldDependencies.Default; + + finalPasses.Add(passDescriptor, passes[i].fieldConditions); + } + + subShaderDescriptor.passes = finalPasses; + + return subShaderDescriptor; + } + + protected virtual void CollectPassKeywords(ref PassDescriptor pass) {} + public override void GetFields(ref TargetFieldContext context) { // Common properties between all HD master nodes 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 fc5746fa51c..901e617f35b 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 @@ -793,117 +793,13 @@ static class CorePragmas #region Keywords static class CoreKeywords { - public static KeywordCollection HDBaseNoCrossFade = new KeywordCollection - { - { CoreKeywordDescriptors.SurfaceTypeTransparent }, - { CoreKeywordDescriptors.BlendMode }, - { CoreKeywordDescriptors.DoubleSided, new FieldCondition(HDFields.Unlit, false) }, - { CoreKeywordDescriptors.DisableDecals, new FieldCondition(HDFields.Unlit, false) }, - { CoreKeywordDescriptors.DisableSSR, new FieldCondition(HDFields.Unlit, false) }, - { CoreKeywordDescriptors.DisableSSRTransparent, new FieldCondition(HDFields.Unlit, false) }, - // { CoreKeywordDescriptors.EnableGeometricSpecularAA, new FieldCondition(HDFields.Unlit, false) }, - { CoreKeywordDescriptors.BlendModePreserveSpecularLighting, new FieldCondition(HDFields.Unlit, false) }, - { CoreKeywordDescriptors.AddPrecomputedVelocity }, - { CoreKeywordDescriptors.TransparentWritesMotionVector }, - { CoreKeywordDescriptors.DepthOffset, new FieldCondition(HDFields.DepthOffset, true) }, - { CoreKeywordDescriptors.FogOnTransparent }, - { CoreKeywordDescriptors.AlphaTest, new FieldCondition(Fields.AlphaTest, true) }, - }; - - public static KeywordCollection HDBase = new KeywordCollection - { - { CoreKeywordDescriptors.LodFadeCrossfade, new FieldCondition(Fields.LodCrossFade, true) }, - { HDBaseNoCrossFade } - }; - - public static KeywordCollection Lightmaps = new KeywordCollection - { - { CoreKeywordDescriptors.Lightmap }, - { CoreKeywordDescriptors.DirectionalLightmapCombined }, - { CoreKeywordDescriptors.DynamicLightmap }, - }; - - public static KeywordCollection LightmapsRaytracing = new KeywordCollection - { - { CoreKeywordDescriptors.Lightmap }, - { CoreKeywordDescriptors.DirectionalLightmapCombined }, - }; - - public static KeywordCollection WriteMsaaDepth = new KeywordCollection - { - { CoreKeywordDescriptors.WriteMsaaDepth }, - }; - - public static KeywordCollection DebugDisplay = new KeywordCollection - { - { CoreKeywordDescriptors.DebugDisplay }, - }; - - public static KeywordCollection ForwardBase = new KeywordCollection - { - { HDBase }, - { CoreKeywordDescriptors.DebugDisplay }, - { Lightmaps }, - { CoreKeywordDescriptors.ShadowsShadowmask }, - { CoreKeywordDescriptors.Shadow }, - { CoreKeywordDescriptors.ScreenSpaceShadow }, - { CoreKeywordDescriptors.Decals }, - }; - - public static KeywordCollection Forward = new KeywordCollection - { - { ForwardBase }, - { CoreKeywordDescriptors.LightList }, - }; - - public static KeywordCollection BackThenFrontTransparent = new KeywordCollection - { - { ForwardBase }, - }; - - public static KeywordCollection RaytracingIndirect = new KeywordCollection - { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - { LightmapsRaytracing }, - }; - - public static KeywordCollection RaytracingIndirectUnlit = new KeywordCollection - { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - }; - - public static KeywordCollection RaytracingForward = new KeywordCollection - { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - { LightmapsRaytracing }, - }; - - public static KeywordCollection RaytracingForwardUnlit = new KeywordCollection - { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - }; - public static KeywordCollection RaytracingGBuffer = new KeywordCollection { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - { LightmapsRaytracing }, { CoreKeywordDescriptors.RaytraceMinimalGBuffer }, }; - public static KeywordCollection RaytracingGBufferUnlit = new KeywordCollection - { - { HDBaseNoCrossFade }, - { CoreKeywordDescriptors.DebugDisplay }, - }; - public static KeywordCollection RaytracingVisiblity = new KeywordCollection { - { HDBaseNoCrossFade }, { CoreKeywordDescriptors.TransparentColorShadow }, }; @@ -949,7 +845,7 @@ static class CoreDefines { { CoreKeywordDescriptors.HasLightloop, 1 }, { RayTracingNode.GetRayTracingKeyword(), 0 }, - { CoreKeywordDescriptors.LightList, 1 }, // BackThenFront Transparent use #define USE_CLUSTERED_LIGHTLIST + // { CoreKeywordDescriptors.LightList, 1 }, // BackThenFront Transparent use #define USE_CLUSTERED_LIGHTLIST }; } #endregion @@ -1185,7 +1081,7 @@ static class CoreKeywordDescriptors displayName = "Has Lightloop", referenceName = "HAS_LIGHTLOOP", type = KeywordType.Boolean, - definition = KeywordDefinition.MultiCompile, + definition = KeywordDefinition.Predefined, scope = KeywordScope.Global, }; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs index 786a1545129..d14169bcde9 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LightingSubTarget.cs @@ -78,9 +78,6 @@ public override void GetFields(ref TargetFieldContext context) var descs = context.blocks.Select(x => x.descriptor); // Misc - context.AddField(SpecularAA, lightingData.specularAA && - context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAThreshold) && - context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAScreenSpaceVariance)); context.AddField(LightingGI, descs.Contains(HDBlockFields.SurfaceDescription.BakedGI) && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.BakedGI)); context.AddField(BackLightingGI, descs.Contains(HDBlockFields.SurfaceDescription.BakedBackGI) && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.BakedBackGI)); context.AddField(BentNormal, descs.Contains(HDBlockFields.SurfaceDescription.BentNormal) && context.connectedBlocks.Contains(HDBlockFields.SurfaceDescription.BentNormal) && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.BentNormal)); @@ -96,6 +93,46 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(DoubleSidedMirror, systemData.doubleSidedMode == DoubleSidedMode.MirroredNormals && context.pass.referenceName != "SHADERPASS_MOTION_VECTORS"); } + protected override void CollectPassKeywords(ref PassDescriptor pass) + { + base.CollectPassKeywords(ref pass); + + pass.keywords.Add(CoreKeywordDescriptors.DisableDecals); + pass.keywords.Add(CoreKeywordDescriptors.DisableSSR); + pass.keywords.Add(CoreKeywordDescriptors.DisableSSRTransparent); + pass.keywords.Add(CoreKeywordDescriptors.BlendModePreserveSpecularLighting); + // pass.keywords.Add(CoreKeywordDescriptors.EnableGeometricSpecularAA); + + if (pass.IsDepthOrMV()) + { + pass.keywords.Add(CoreKeywordDescriptors.WriteDecalBuffer); + } + + if (pass.IsLightingOrMaterial()) + { + pass.keywords.Add(CoreKeywordDescriptors.Lightmap); + pass.keywords.Add(CoreKeywordDescriptors.DirectionalLightmapCombined); + + if (!pass.IsDXR()) + { + pass.keywords.Add(CoreKeywordDescriptors.DynamicLightmap); + pass.keywords.Add(CoreKeywordDescriptors.ShadowsShadowmask); + pass.keywords.Add(CoreKeywordDescriptors.Decals); + } + } + + if (pass.IsForward()) + { + pass.keywords.Add(CoreKeywordDescriptors.Shadow); + pass.keywords.Add(CoreKeywordDescriptors.ScreenSpaceShadow); + + if (pass.lightMode == HDShaderPassNames.s_TransparentBackfaceStr) + pass.defines.Add(CoreKeywordDescriptors.LightList, 1); + else + pass.keywords.Add(CoreKeywordDescriptors.LightList); + } + } + public override void GetActiveBlocks(ref TargetActiveBlockContext context) { base.GetActiveBlocks(ref context); diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs new file mode 100644 index 00000000000..490ef9a8f7d --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs @@ -0,0 +1,41 @@ +using System; +using UnityEngine; +using UnityEditor.ShaderGraph; +using UnityEditor.ShaderGraph.Internal; +using UnityEditor.Graphing; +using UnityEngine.Rendering.HighDefinition; + +namespace UnityEditor.Rendering.HighDefinition.ShaderGraph +{ + static class PassDescriptorExtension + { + public static bool IsDepthOrMV(this PassDescriptor pass) + { + return pass.lightMode == HDShaderPassNames.s_DepthForwardOnlyStr + || pass.lightMode == HDShaderPassNames.s_DepthOnlyStr + || pass.lightMode == HDShaderPassNames.s_MotionVectorsStr; + } + + public static bool IsLightingOrMaterial(this PassDescriptor pass) + { + return pass.IsForward() + || pass.lightMode == HDShaderPassNames.s_GBufferStr + // DXR passes without visibility, prepass or path tracing + || (pass.lightMode.Contains("DXR") && pass.lightMode != HDShaderPassNames.s_RayTracingVisibilityStr && pass.lightMode != HDShaderPassNames.s_PathTracingDXRStr); + } + + public static bool IsDXR(this PassDescriptor pass) + { + return pass.lightMode.Contains("DXR") + || pass.lightMode == HDShaderPassNames.s_RayTracingVisibilityStr + || pass.lightMode == HDShaderPassNames.s_RayTracingPrepassStr; + } + + public static bool IsForward(this PassDescriptor pass) + { + return pass.lightMode == HDShaderPassNames.s_ForwardOnlyStr + || pass.lightMode == HDShaderPassNames.s_ForwardStr + || pass.lightMode == HDShaderPassNames.s_TransparentBackfaceStr; + } + } +} diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs.meta b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs.meta new file mode 100644 index 00000000000..77aab03997d --- /dev/null +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs.meta @@ -0,0 +1,11 @@ +fileFormatVersion: 2 +guid: 55e83618b2c3f5a44a0c0f18727b2786 +MonoImporter: + externalObjects: {} + serializedVersion: 2 + defaultReferences: [] + executionOrder: 0 + icon: {instanceID: 0} + userData: + assetBundleName: + assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs index 569f8e1acb2..d20a3fd2290 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs @@ -40,13 +40,7 @@ protected override string renderQueue protected virtual bool supportForward => false; protected virtual bool supportLighting => false; protected virtual bool supportDistortion => false; - protected virtual bool supportPathtracing => false; - protected virtual bool supportRaytracing => true; - - protected abstract string subShaderInclude { get; } - protected virtual string postDecalsInclude => null; - protected virtual string raytracingInclude => null; - protected abstract FieldDescriptor subShaderField { get; } + protected override bool supportRaytracing => true; public override void Setup(ref TargetSetupContext context) { @@ -134,66 +128,37 @@ PassCollection GetPasses() } } - SubShaderDescriptor PostProcessSubShader(SubShaderDescriptor subShaderDescriptor) + protected override void CollectPassKeywords(ref PassDescriptor pass) { - if (String.IsNullOrEmpty(subShaderDescriptor.pipelineTag)) - subShaderDescriptor.pipelineTag = HDRenderPipeline.k_ShaderTagName; - - var passes = subShaderDescriptor.passes.ToArray(); - PassCollection finalPasses = new PassCollection(); - for (int i = 0; i < passes.Length; i++) + pass.keywords.Add(CoreKeywordDescriptors.AlphaTest, new FieldCondition(Fields.AlphaTest, true)); + + if (pass.IsDepthOrMV()) { - var passDescriptor = passes[i].descriptor; - passDescriptor.passTemplatePath = templatePath; - passDescriptor.sharedTemplateDirectories = templateMaterialDirectories; - - // Add the subShader to enable fields that depends on it - var originalRequireFields = passDescriptor.requiredFields; - // Duplicate require fields to avoid unwanted shared list modification - passDescriptor.requiredFields = new FieldCollection(); - if (originalRequireFields != null) - foreach (var field in originalRequireFields) - passDescriptor.requiredFields.Add(field.field); - passDescriptor.requiredFields.Add(subShaderField); - - IncludeCollection finalIncludes = new IncludeCollection(); - var includeList = passDescriptor.includes.Select(include => include.descriptor).ToList(); - - // Replace include placeholders if necessary: - foreach (var include in passDescriptor.includes) - { - if (include.descriptor.value == CoreIncludes.kPassPlaceholder) - include.descriptor.value = subShaderInclude; - if (include.descriptor.value == CoreIncludes.kPostDecalsPlaceholder) - include.descriptor.value = postDecalsInclude; - if (include.descriptor.value == CoreIncludes.kRaytracingPlaceholder) - include.descriptor.value = raytracingInclude; - - if (!String.IsNullOrEmpty(include.descriptor.value)) - finalIncludes.Add(include.descriptor.value, include.descriptor.location, include.fieldConditions); - } - passDescriptor.includes = finalIncludes; - - // Replace valid pixel blocks by automatic thing so we don't have to write them - var tmpCtx = new TargetActiveBlockContext(new List(), passDescriptor); - GetActiveBlocks(ref tmpCtx); - if (passDescriptor.validPixelBlocks == null) - passDescriptor.validPixelBlocks = tmpCtx.activeBlocks.Where(b => b.shaderStage == ShaderStage.Fragment).ToArray(); - if (passDescriptor.validVertexBlocks == null) - passDescriptor.validVertexBlocks = CoreBlockMasks.Vertex; - - // Set default values for HDRP "surface" passes: - if (passDescriptor.structs == null) - passDescriptor.structs = CoreStructCollections.Default; - if (passDescriptor.fieldDependencies == null) - passDescriptor.fieldDependencies = CoreFieldDependencies.Default; - - finalPasses.Add(passDescriptor, passes[i].fieldConditions); + pass.keywords.Add(CoreKeywordDescriptors.AlphaToMask, new FieldCondition(Fields.AlphaToMask, true)); + pass.keywords.Add(CoreKeywordDescriptors.WriteMsaaDepth); } - subShaderDescriptor.passes = finalPasses; + pass.keywords.Add(CoreKeywordDescriptors.SurfaceTypeTransparent); + pass.keywords.Add(CoreKeywordDescriptors.BlendMode); + pass.keywords.Add(CoreKeywordDescriptors.DoubleSided, new FieldCondition(HDFields.Unlit, false)); + pass.keywords.Add(CoreKeywordDescriptors.DepthOffset, new FieldCondition(HDFields.DepthOffset, true)); + pass.keywords.Add(CoreKeywordDescriptors.AddPrecomputedVelocity); + pass.keywords.Add(CoreKeywordDescriptors.TransparentWritesMotionVector); + pass.keywords.Add(CoreKeywordDescriptors.FogOnTransparent); - return subShaderDescriptor; + if (pass.IsLightingOrMaterial()) + pass.keywords.Add(CoreKeywordDescriptors.DebugDisplay); + + if (!pass.IsDXR()) + pass.keywords.Add(CoreKeywordDescriptors.LodFadeCrossfade, new FieldCondition(Fields.LodCrossFade, true)); + + if (pass.lightMode == HDShaderPassNames.s_MotionVectorsStr) + { + if (supportForward) + pass.defines.Add(CoreKeywordDescriptors.WriteNormalBuffer, 1, new FieldCondition(HDFields.Unlit, false)); + else + pass.keywords.Add(CoreKeywordDescriptors.WriteNormalBuffer, new FieldCondition(HDFields.Unlit, false)); + } } public override void GetFields(ref TargetFieldContext context) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitSubTarget.cs index 219c575ab62..a97e74834f2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Unlit/ShaderGraph/HDUnlitSubTarget.cs @@ -79,6 +79,14 @@ protected override SubShaderDescriptor GetSubShaderDescriptor() } } + protected override void CollectPassKeywords(ref PassDescriptor pass) + { + base.CollectPassKeywords(ref pass); + + if (pass.IsForward()) + pass.keywords.Add(CoreKeywordDescriptors.Shadow, new FieldCondition(HDUnlitSubTarget.EnableShadowMatte, true)); + } + public override void GetFields(ref TargetFieldContext context) { base.GetFields(ref context); 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 5b067baaad6..c43119a1969 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -17,6 +17,8 @@ static class HDShaderPassNames public static readonly string s_TransparentBackfaceStr = "TransparentBackface"; public static readonly string s_TransparentDepthPostpassStr = "TransparentDepthPostpass"; public static readonly string s_RayTracingPrepassStr = "RayTracingPrepass"; + public static readonly string s_RayTracingVisibilityStr = "VisibilityDXR"; + public static readonly string s_PathTracingDXRStr = "PathTracingDXR"; public static readonly string s_MetaStr = "META"; public static readonly string s_ShadowCasterStr = "ShadowCaster"; public static readonly string s_MeshDecalsMStr = DecalSystem.s_MaterialDecalPassNames[(int)DecalSystem.MaterialDecalPass.DBufferMesh_M]; From 9df292ffe1df6fbce97daa4e95efeeef14a43949 Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Wed, 8 Jul 2020 10:23:41 +0200 Subject: [PATCH 14/35] Made conversion from render graph handles to actual resource implicit. (#1034) * Made conversion from render graph handles to actual resource implicit to reduce boiler plate code. * Post merge fixes * Added an exception when accessing resources while not executing render graph. * Post merge fixes * Fixed error handling of casting handles to resources. --- .../Runtime/RenderGraph/RenderGraph.cs | 9 +- .../RenderGraphResourceRegistry.cs | 56 ++++----- .../RenderGraph/RenderGraphResources.cs | 26 ++++- .../AmbientOcclusion.RenderGraph.cs | 15 ++- .../Shadow/HDShadowManager.RenderGraph.cs | 18 ++- .../PostProcessSystem.RenderGraph.cs | 106 ++++++++---------- .../Runtime/RenderPipeline/Camera/HDCamera.cs | 7 +- .../RenderPipeline/HDRenderPipeline.Debug.cs | 69 +++++------- .../HDRenderPipeline.LightLoop.cs | 102 ++++++++--------- .../HDRenderPipeline.PostProcess.cs | 6 +- .../HDRenderPipeline.Prepass.cs | 79 ++++++------- .../HDRenderPipeline.RenderGraph.cs | 90 +++++---------- .../HDRenderPipeline.RenderGraphUtils.cs | 2 +- .../HDRenderPipeline.SubsurfaceScattering.cs | 14 +-- .../RenderPass/AOV/AOVRequestData.cs | 4 +- .../RenderPass/CustomPass/CustomPass.cs | 27 ++--- 16 files changed, 287 insertions(+), 343 deletions(-) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs index 66b2f157838..0d05b85aff6 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs @@ -20,7 +20,7 @@ public enum DepthAccess } /// - /// This struct specifies the context given to every render pass. + /// This class specifies the context given to every render pass. /// public class RenderGraphContext { @@ -30,8 +30,6 @@ public class RenderGraphContext public CommandBuffer cmd; ///Render Graph pooll used for temporary data. public RenderGraphObjectPool renderGraphPool; - ///Render Graph Resource Registry used for accessing resources. - public RenderGraphResourceRegistry resources; ///Render Graph default resources. public RenderGraphDefaultResources defaultResources; } @@ -403,7 +401,7 @@ public void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, in { m_Logger.Initialize(); - m_Resources.BeginRender(parameters.renderingWidth, parameters.renderingHeight, parameters.msaaSamples, parameters.currentFrameIndex); + m_Resources.BeginRender(parameters.currentFrameIndex); LogFrameInformation(parameters.renderingWidth, parameters.renderingHeight); @@ -426,6 +424,8 @@ public void Execute(ScriptableRenderContext renderContext, CommandBuffer cmd, in m_DebugParameters.logFrameInformation = false; m_DebugParameters.logResources = false; + + m_Resources.EndRender(); } } #endregion @@ -814,7 +814,6 @@ void ExecuteRenderGraph(ScriptableRenderContext renderContext, CommandBuffer cmd m_RenderGraphContext.cmd = cmd; m_RenderGraphContext.renderContext = renderContext; m_RenderGraphContext.renderGraphPool = m_RenderGraphPool; - m_RenderGraphContext.resources = m_Resources; m_RenderGraphContext.defaultResources = m_DefaultResources; for (int passIndex = 0; passIndex < m_CompiledPassInfos.size; ++passIndex) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs index 521b97aa8e3..8847f3825d3 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs @@ -5,13 +5,30 @@ namespace UnityEngine.Experimental.Rendering.RenderGraphModule { - /// - /// The RenderGraphResourceRegistry holds all resource allocated during Render Graph execution. - /// - public class RenderGraphResourceRegistry + class RenderGraphResourceRegistry { static readonly ShaderTagId s_EmptyName = new ShaderTagId(""); + static RenderGraphResourceRegistry m_CurrentRegistry; + internal static RenderGraphResourceRegistry current + { + get + { + // We assume that it's enough to only check in editor because we don't want to pay the cost at runtime. +#if UNITY_EDITOR + if (m_CurrentRegistry == null) + { + throw new InvalidOperationException("Current Render Graph Resource Registry is not set. You are probably trying to cast a Render Graph handle to a resource outside of a Render Graph Pass."); + } +#endif + return m_CurrentRegistry; + } + set + { + m_CurrentRegistry = value; + } + } + class IRenderGraphResource { public bool imported; @@ -100,13 +117,7 @@ internal RendererListResource(in RendererListDesc desc) RTHandle m_CurrentBackbuffer; - #region Public Interface - /// - /// Returns the RTHandle associated with the provided resource handle. - /// - /// Handle to a texture resource. - /// The RTHandle associated with the provided resource handle or null if the handle is invalid. - public RTHandle GetTexture(in TextureHandle handle) + internal RTHandle GetTexture(in TextureHandle handle) { if (!handle.IsValid()) return null; @@ -114,12 +125,7 @@ public RTHandle GetTexture(in TextureHandle handle) return GetTextureResource(handle.handle).resource; } - /// - /// Returns the RendererList associated with the provided resource handle. - /// - /// Handle to a Renderer List resource. - /// The Renderer List associated with the provided resource handle or an invalid renderer list if the handle is invalid. - public RendererList GetRendererList(in RendererListHandle handle) + internal RendererList GetRendererList(in RendererListHandle handle) { if (!handle.IsValid() || handle >= m_RendererListResources.size) return RendererList.nullRendererList; @@ -127,19 +133,13 @@ public RendererList GetRendererList(in RendererListHandle handle) return m_RendererListResources[handle].rendererList; } - /// - /// Returns the Compute Buffer associated with the provided resource handle. - /// - /// Handle to a Compute Buffer resource. - /// The Compute Buffer associated with the provided resource handle or a null reference if the handle is invalid. - public ComputeBuffer GetComputeBuffer(in ComputeBufferHandle handle) + internal ComputeBuffer GetComputeBuffer(in ComputeBufferHandle handle) { if (!handle.IsValid()) return null; return GetComputeBufferResource(handle.handle).resource; } - #endregion #region Internal Interface private RenderGraphResourceRegistry() @@ -172,9 +172,15 @@ ResType GetResource(DynamicArray resour return res.resource; } - internal void BeginRender(int width, int height, MSAASamples msaaSamples, int currentFrameIndex) + internal void BeginRender(int currentFrameIndex) { m_CurrentFrameIndex = currentFrameIndex; + current = this; + } + + internal void EndRender() + { + current = null; } void CheckHandleValidity(in ResourceHandle res) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResources.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResources.cs index a7cb0d31c03..6c86aabcb11 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResources.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResources.cs @@ -14,7 +14,7 @@ internal enum RenderGraphResourceType // Can't have a default constructor with handle = -1 hence the ugly IsValid implementation (where m_IsValid will be false by default). internal struct ResourceHandle { - bool m_IsValid; + bool m_IsValid; public int index { get; private set; } public RenderGraphResourceType type { get; private set; } @@ -53,6 +53,22 @@ public struct TextureHandle internal TextureHandle(int handle) { this.handle = new ResourceHandle(handle, RenderGraphResourceType.Texture); } + /// + /// Cast to RTHandle + /// + /// Input TextureHandle. + public static implicit operator RTHandle(TextureHandle texture) => texture.IsValid() ? RenderGraphResourceRegistry.current.GetTexture(texture) : null; + /// + /// Cast to RenderTargetIdentifier + /// + /// Input TextureHandle. + public static implicit operator RenderTargetIdentifier(TextureHandle texture) => texture.IsValid() ? RenderGraphResourceRegistry.current.GetTexture(texture) : null; + /// + /// Cast to RenderTexture + /// + /// Input TextureHandle. + public static implicit operator RenderTexture(TextureHandle texture) => texture.IsValid() ? RenderGraphResourceRegistry.current.GetTexture(texture) : null; + /// /// Return true if the handle is valid. /// @@ -70,6 +86,12 @@ public struct ComputeBufferHandle internal ComputeBufferHandle(int handle) { this.handle = new ResourceHandle(handle, RenderGraphResourceType.ComputeBuffer); } + /// + /// Cast to ComputeBuffer + /// + /// Input ComputeBufferHandle + public static implicit operator ComputeBuffer(ComputeBufferHandle buffer) => buffer.IsValid() ? RenderGraphResourceRegistry.current.GetComputeBuffer(buffer) : null; + /// /// Return true if the handle is valid. /// @@ -93,6 +115,8 @@ public struct RendererListHandle /// The integer representation of the handle. public static implicit operator int(RendererListHandle handle) { return handle.handle; } + public static implicit operator RendererList(RendererListHandle rendererList) => rendererList.IsValid() ? RenderGraphResourceRegistry.current.GetRendererList(rendererList) : RendererList.nullRendererList; + /// /// Return true if the handle is valid. /// 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 065d388cba1..51dc68f4f0f 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 @@ -68,7 +68,7 @@ TextureHandle RenderAO(RenderGraph renderGraph, in RenderAOParameters parameters builder.SetRenderFunc( (RenderAOPassData data, RenderGraphContext ctx) => { - RenderAO(data.parameters, ctx.resources.GetTexture(data.packedData), ctx.resources.GetTexture(data.depthPyramid), ctx.resources.GetTexture(data.normalBuffer), ctx.cmd); + RenderAO(data.parameters, data.packedData, data.depthPyramid, data.normalBuffer, ctx.cmd); }); return passData.packedData; @@ -124,13 +124,12 @@ TextureHandle DenoiseAO( RenderGraph renderGraph, builder.SetRenderFunc( (DenoiseAOPassData data, RenderGraphContext ctx) => { - var res = ctx.resources; DenoiseAO( data.parameters, - res.GetTexture(data.packedData), - res.GetTexture(data.packedDataBlurred), - res.GetTexture(data.currentHistory), - res.GetTexture(data.outputHistory), - res.GetTexture(data.denoiseOutput), + data.packedData, + data.packedDataBlurred, + data.currentHistory, + data.outputHistory, + data.denoiseOutput, ctx.cmd); }); @@ -161,7 +160,7 @@ TextureHandle UpsampleAO(RenderGraph renderGraph, in RenderAOParameters paramete builder.SetRenderFunc( (UpsampleAOPassData data, RenderGraphContext ctx) => { - UpsampleAO(data.parameters, ctx.resources.GetTexture(data.input), ctx.resources.GetTexture(data.output), ctx.cmd); + UpsampleAO(data.parameters, data.input, data.output, ctx.cmd); }); return passData.output; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs index a07de453005..c0ae47a28b5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs @@ -62,9 +62,9 @@ class BindShadowGlobalResourcesPassData static void BindAtlasTexture(RenderGraphContext ctx, TextureHandle texture, int shaderId) { if (texture.IsValid()) - ctx.cmd.SetGlobalTexture(shaderId, ctx.resources.GetTexture(texture)); + ctx.cmd.SetGlobalTexture(shaderId, texture); else - ctx.cmd.SetGlobalTexture(shaderId, ctx.resources.GetTexture(ctx.defaultResources.blackTexture)); + ctx.cmd.SetGlobalTexture(shaderId, ctx.defaultResources.blackTexture); } void BindShadowGlobalResources(RenderGraph renderGraph, in ShadowResult shadowResult) @@ -148,26 +148,22 @@ internal TextureHandle RenderShadows(RenderGraph renderGraph, CullingResults cul builder.SetRenderFunc( (RenderShadowsPassData data, RenderGraphContext context) => { - RTHandle atlasTexture = context.resources.GetTexture(data.atlasTexture); RenderShadows( data.parameters, - atlasTexture, + data.atlasTexture, data.shadowDrawSettings, context.renderContext, context.cmd); if (data.parameters.blurAlgorithm == BlurAlgorithm.EVSM) { RTHandle[] momentTextures = context.renderGraphPool.GetTempArray(2); - momentTextures[0] = context.resources.GetTexture(data.momentAtlasTexture1); - momentTextures[1] = context.resources.GetTexture(data.momentAtlasTexture2); + momentTextures[0] = data.momentAtlasTexture1; + momentTextures[1] = data.momentAtlasTexture2; - EVSMBlurMoments(data.parameters, atlasTexture, momentTextures, context.cmd); + EVSMBlurMoments(data.parameters, data.atlasTexture, momentTextures, context.cmd); } else if (data.parameters.blurAlgorithm == BlurAlgorithm.IM) { - RTHandle momentAtlas = context.resources.GetTexture(data.momentAtlasTexture1); - RTHandle intermediateSummedArea = context.resources.GetTexture(data.intermediateSummedAreaTexture); - RTHandle summedArea = context.resources.GetTexture(data.summedAreaTexture); - IMBlurMoment(data.parameters, atlasTexture, momentAtlas, intermediateSummedArea, summedArea, context.cmd); + IMBlurMoment(data.parameters, data.atlasTexture, data.momentAtlasTexture1, data.intermediateSummedAreaTexture, data.summedAreaTexture, context.cmd); } }); 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 e1326b0d860..799116bf22b 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 @@ -196,10 +196,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (AlphaCopyPassData data, RenderGraphContext ctx) => { - DoCopyAlpha(data.parameters, - ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.outputAlpha), - ctx.cmd); + DoCopyAlpha(data.parameters, data.source, data.outputAlpha, ctx.cmd); }); alphaTexture = passData.outputAlpha; @@ -216,7 +213,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (GuardBandPassData data, RenderGraphContext ctx) => { - ClearWithGuardBands(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source)); + ClearWithGuardBands(data.parameters, ctx.cmd, data.source); }); source = passData.source; @@ -241,7 +238,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (StopNaNPassData data, RenderGraphContext ctx) => { - DoStopNaNs(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), ctx.resources.GetTexture(data.destination)); + DoStopNaNs(data.parameters, ctx.cmd, data.source, data.destination); }); source = passData.destination; @@ -274,10 +271,10 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (DynamicExposureData data, RenderGraphContext ctx) => { - DoHistogramBasedExposure(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.prevExposure), - ctx.resources.GetTexture(data.nextExposure), - ctx.resources.GetTexture(data.exposureDebugData)); + DoHistogramBasedExposure(data.parameters, ctx.cmd, data.source, + data.prevExposure, + data.nextExposure, + data.exposureDebugData); }); } else @@ -290,11 +287,11 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (DynamicExposureData data, RenderGraphContext ctx) => { - DoDynamicExposure(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.prevExposure), - ctx.resources.GetTexture(data.nextExposure), - ctx.resources.GetTexture(data.tmpTarget1024), - ctx.resources.GetTexture(data.tmpTarget32)); + DoDynamicExposure(data.parameters, ctx.cmd, data.source, + data.prevExposure, + data.nextExposure, + data.tmpTarget1024, + data.tmpTarget32); }); } } @@ -315,7 +312,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (ApplyExposureData data, RenderGraphContext ctx) => { - ApplyExposure(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), ctx.resources.GetTexture(data.destination), ctx.resources.GetTexture(data.prevExposure)); + ApplyExposure(data.parameters, ctx.cmd, data.source, data.destination, data.prevExposure); }); source = passData.destination; @@ -367,15 +364,15 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (TemporalAntiAliasingData data, RenderGraphContext ctx) => { - DoTemporalAntialiasing(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.destination), - ctx.resources.GetTexture(data.motionVecTexture), - ctx.resources.GetTexture(data.depthBuffer), - ctx.resources.GetTexture(data.depthMipChain), - ctx.resources.GetTexture(data.prevHistory), - ctx.resources.GetTexture(data.nextHistory), - ctx.resources.GetTexture(data.prevMVLen), - ctx.resources.GetTexture(data.nextMVLen)); + DoTemporalAntialiasing(data.parameters, ctx.cmd, data.source, + data.destination, + data.motionVecTexture, + data.depthBuffer, + data.depthMipChain, + data.prevHistory, + data.nextHistory, + data.prevMVLen, + data.nextMVLen); }); source = passData.destination; @@ -400,11 +397,11 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (SMAAData data, RenderGraphContext ctx) => { - DoSMAA(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.smaaEdgeTex), - ctx.resources.GetTexture(data.smaaBlendTex), - ctx.resources.GetTexture(data.destination), - ctx.resources.GetTexture(data.depthBuffer)); + DoSMAA(data.parameters, ctx.cmd, data.source, + data.smaaEdgeTex, + data.smaaBlendTex, + data.destination, + data.depthBuffer); }); source = passData.destination; @@ -480,14 +477,14 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (MotionBlurData data, RenderGraphContext ctx) => { - DoMotionBlur(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.destination), - ctx.resources.GetTexture(data.motionVecTexture), - ctx.resources.GetTexture(data.preppedMotionVec), - ctx.resources.GetTexture(data.minMaxTileVel), - ctx.resources.GetTexture(data.maxTileNeigbourhood), - ctx.resources.GetTexture(data.tileToScatterMax), - ctx.resources.GetTexture(data.tileToScatterMin)); + DoMotionBlur(data.parameters, ctx.cmd, data.source, + data.destination, + data.motionVecTexture, + data.preppedMotionVec, + data.minMaxTileVel, + data.maxTileNeigbourhood, + data.tileToScatterMax, + data.tileToScatterMin); }); source = passData.destination; @@ -511,7 +508,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (PaniniProjectionData data, RenderGraphContext ctx) => { - DoPaniniProjection(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), ctx.resources.GetTexture(data.destination)); + DoPaniniProjection(data.parameters, ctx.cmd, data.source, data.destination); }); source = passData.destination; @@ -539,11 +536,11 @@ public void Render(RenderGraph renderGraph, for(int i=0; i { - DoColorGrading(data.parameters, ctx.resources.GetTexture(data.logLut), ctx.cmd); + DoColorGrading(data.parameters, data.logLut, ctx.cmd); }); } @@ -593,12 +590,12 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (UberPostPassData data, RenderGraphContext ctx) => { - DoUberPostProcess(data.parameters, - ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.destination), - ctx.resources.GetTexture(data.logLut), - ctx.resources.GetTexture(data.bloomTexture), // TODO: TMP VALUE, should be bloom texture and will be as soon as PP is ported to rendergraph. - ctx.cmd); + DoUberPostProcess( data.parameters, + data.source, + data.destination, + data.logLut, + data.bloomTexture, + ctx.cmd); }); source = passData.destination; @@ -630,7 +627,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (FXAAData data, RenderGraphContext ctx) => { - DoFXAA(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), ctx.resources.GetTexture(data.destination)); + DoFXAA(data.parameters, ctx.cmd, data.source, data.destination); }); source = passData.destination; @@ -654,7 +651,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (CASData data, RenderGraphContext ctx) => { - DoContrastAdaptiveSharpening(data.parameters, ctx.cmd, ctx.resources.GetTexture(data.source), ctx.resources.GetTexture(data.destination)); + DoContrastAdaptiveSharpening(data.parameters, ctx.cmd, data.source, data.destination); }); source = passData.destination; @@ -672,12 +669,7 @@ public void Render(RenderGraph renderGraph, builder.SetRenderFunc( (FinalPassData data, RenderGraphContext ctx) => { - DoFinalPass(data.parameters, - ctx.resources.GetTexture(data.source), - ctx.resources.GetTexture(data.afterPostProcessTexture), - ctx.resources.GetTexture(data.destination), - ctx.resources.GetTexture(data.alphaTexture), - ctx.cmd); + DoFinalPass(data.parameters, data.source, data.afterPostProcessTexture, data.destination, data.alphaTexture, ctx.cmd); }); } } 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 2eb5e588c41..fc74d22ca21 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 @@ -768,16 +768,15 @@ internal void ExecuteCaptureActions(RenderGraph renderGraph, TextureHandle input builder.SetRenderFunc( (ExecuteCaptureActionsPassData data, RenderGraphContext ctx) => { - var tempRT = ctx.resources.GetTexture(data.tempTexture); var mpb = ctx.renderGraphPool.GetTempMaterialPropertyBlock(); - mpb.SetTexture(HDShaderIDs._BlitTexture, ctx.resources.GetTexture(data.input)); + mpb.SetTexture(HDShaderIDs._BlitTexture, data.input); mpb.SetVector(HDShaderIDs._BlitScaleBias, data.viewportScale); mpb.SetFloat(HDShaderIDs._BlitMipLevel, 0); - ctx.cmd.SetRenderTarget(tempRT); + ctx.cmd.SetRenderTarget(data.tempTexture); ctx.cmd.DrawProcedural(Matrix4x4.identity, data.blitMaterial, 0, MeshTopology.Triangles, 3, 1, mpb); for (data.recorderCaptureActions.Reset(); data.recorderCaptureActions.MoveNext();) - data.recorderCaptureActions.Current(tempRT, ctx.cmd); + data.recorderCaptureActions.Current(data.tempTexture, ctx.cmd); }); } } 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 df68242484f..efbcddc6137 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 @@ -36,11 +36,11 @@ void RenderTransparencyOverdraw(RenderGraph renderGraph, TextureHandle depthBuff (TransparencyOverdrawPassData data, RenderGraphContext ctx) => { RenderTransparencyOverdraw( data.parameters, - ctx.resources.GetTexture(data.output), - ctx.resources.GetTexture(data.depthBuffer), - ctx.resources.GetRendererList(data.transparencyRL), - ctx.resources.GetRendererList(data.transparencyAfterPostRL), - ctx.resources.GetRendererList(data.transparencyLowResRL), + data.output, + data.depthBuffer, + data.transparencyRL, + data.transparencyAfterPostRL, + data.transparencyLowResRL, ctx.renderContext, ctx.cmd); }); @@ -72,11 +72,7 @@ TextureHandle ResolveFullScreenDebug(RenderGraph renderGraph, in DebugParameters builder.SetRenderFunc( (ResolveFullScreenDebugPassData data, RenderGraphContext ctx) => { - ResolveFullScreenDebug(data.debugParameters, - ctx.renderGraphPool.GetTempMaterialPropertyBlock(), - ctx.resources.GetTexture(data.input), - ctx.resources.GetTexture(data.depthPyramid), - ctx.resources.GetTexture(data.output), ctx.cmd); + ResolveFullScreenDebug(data.debugParameters, ctx.renderGraphPool.GetTempMaterialPropertyBlock(), data.input, data.depthPyramid, data.output, ctx.cmd); }); return passData.output; @@ -102,10 +98,7 @@ TextureHandle ResolveColorPickerDebug(RenderGraph renderGraph, in DebugParameter builder.SetRenderFunc( (ResolveColorPickerDebugPassData data, RenderGraphContext ctx) => { - ResolveColorPickerDebug(data.debugParameters, - ctx.resources.GetTexture(data.input), - ctx.resources.GetTexture(data.output), - ctx.cmd); + ResolveColorPickerDebug(data.debugParameters, data.input, data.output, ctx.cmd); }); return passData.output; @@ -157,20 +150,15 @@ void RenderDebugOverlays( RenderGraph renderGraph, float y = debugParams.hdCamera.actualHeight - overlaySize; var shadowAtlases = new HDShadowManager.ShadowDebugAtlasTextures(); - shadowAtlases.punctualShadowAtlas = data.shadowTextures.punctualShadowResult.IsValid() ? ctx.resources.GetTexture(data.shadowTextures.punctualShadowResult) : null; - shadowAtlases.cascadeShadowAtlas = data.shadowTextures.directionalShadowResult.IsValid() ? ctx.resources.GetTexture(data.shadowTextures.directionalShadowResult) : null; - shadowAtlases.areaShadowAtlas = data.shadowTextures.areaShadowResult.IsValid() ? ctx.resources.GetTexture(data.shadowTextures.areaShadowResult) : null; - shadowAtlases.cachedPunctualShadowAtlas = data.shadowTextures.cachedPunctualShadowResult.IsValid() ? ctx.resources.GetTexture(data.shadowTextures.cachedPunctualShadowResult) : null; - shadowAtlases.cachedAreaShadowAtlas = data.shadowTextures.cachedAreaShadowResult.IsValid() ? ctx.resources.GetTexture(data.shadowTextures.cachedAreaShadowResult) : null; - - ComputeBuffer tileBuffer = ctx.resources.GetComputeBuffer(data.tileList); - ComputeBuffer lightListBuffer = ctx.resources.GetComputeBuffer(data.lightList); - ComputeBuffer perVoxelLightListBuffer = ctx.resources.GetComputeBuffer(data.perVoxelLightList); - ComputeBuffer dispatchIndirectBuffer = ctx.resources.GetComputeBuffer(data.dispatchIndirect); + shadowAtlases.punctualShadowAtlas = data.shadowTextures.punctualShadowResult; + shadowAtlases.cascadeShadowAtlas = data.shadowTextures.directionalShadowResult; + shadowAtlases.areaShadowAtlas = data.shadowTextures.areaShadowResult; + shadowAtlases.cachedPunctualShadowAtlas = data.shadowTextures.cachedPunctualShadowResult; + shadowAtlases.cachedAreaShadowAtlas = data.shadowTextures.cachedAreaShadowResult; RenderSkyReflectionOverlay(debugParams, ctx.cmd, ctx.renderGraphPool.GetTempMaterialPropertyBlock(), ref x, ref y, overlaySize); RenderRayCountOverlay(debugParams, ctx.cmd, ref x, ref y, overlaySize); - RenderLightLoopDebugOverlay(debugParams, ctx.cmd, ref x, ref y, overlaySize, tileBuffer, lightListBuffer, perVoxelLightListBuffer, dispatchIndirectBuffer, ctx.resources.GetTexture(data.depthPyramidTexture)); + RenderLightLoopDebugOverlay(debugParams, ctx.cmd, ref x, ref y, overlaySize, data.tileList, data.lightList, data.perVoxelLightList, data.dispatchIndirect, data.depthPyramidTexture); RenderShadowsDebugOverlay(debugParams, shadowAtlases, ctx.cmd, ref x, ref y, overlaySize, ctx.renderGraphPool.GetTempMaterialPropertyBlock()); DecalSystem.instance.RenderDebugOverlay(debugParams.hdCamera, ctx.cmd, debugParams.debugDisplaySettings, ref x, ref y, overlaySize, debugParams.hdCamera.actualWidth); }); @@ -209,18 +197,16 @@ static void RenderLightVolumes(RenderGraph renderGraph, in DebugParameters debug (RenderLightVolumesPassData data, RenderGraphContext ctx) => { RenderTargetIdentifier[] mrt = ctx.renderGraphPool.GetTempArray(2); - var lightCountBuffer = ctx.resources.GetTexture(data.lightCountBuffer); - var colorAccumulationBuffer = ctx.resources.GetTexture(data.colorAccumulationBuffer); - mrt[0] = lightCountBuffer; - mrt[1] = colorAccumulationBuffer; + mrt[0] = data.lightCountBuffer; + mrt[1] = data.colorAccumulationBuffer; DebugLightVolumes.RenderLightVolumes( ctx.cmd, data.parameters, - mrt, lightCountBuffer, - colorAccumulationBuffer, - ctx.resources.GetTexture(data.debugLightVolumesTexture), - ctx.resources.GetTexture(data.depthBuffer), - ctx.resources.GetTexture(data.destination), + mrt, data.lightCountBuffer, + data.colorAccumulationBuffer, + data.debugLightVolumesTexture, + data.depthBuffer, + data.destination, ctx.renderGraphPool.GetTempMaterialPropertyBlock()); }); } @@ -310,8 +296,7 @@ TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cu builder.SetRenderFunc( (DebugViewMaterialData data, RenderGraphContext context) => { - var res = context.resources; - HDUtils.DrawFullScreen(context.cmd, data.debugGBufferMaterial, res.GetTexture(data.outputColor)); + HDUtils.DrawFullScreen(context.cmd, data.debugGBufferMaterial, data.outputColor); }); } } @@ -337,9 +322,8 @@ TextureHandle RenderDebugViewMaterial(RenderGraph renderGraph, CullingResults cu builder.SetRenderFunc( (DebugViewMaterialData data, RenderGraphContext context) => { - var res = context.resources; - DrawOpaqueRendererList(context, data.frameSettings, res.GetRendererList(data.opaqueRendererList)); - DrawTransparentRendererList(context, data.frameSettings, res.GetRendererList(data.transparentRendererList)); + DrawOpaqueRendererList(context, data.frameSettings, data.opaqueRendererList); + DrawTransparentRendererList(context, data.frameSettings, data.transparentRendererList); }); } } @@ -394,11 +378,10 @@ void PushFullScreenDebugTexture(RenderGraph renderGraph, TextureHandle input, in builder.SetRenderFunc( (PushFullScreenDebugPassData data, RenderGraphContext ctx) => { - var texture = ctx.resources.GetTexture(data.input); if (data.mipIndex != -1) - HDUtils.BlitCameraTexture(ctx.cmd, texture, ctx.resources.GetTexture(data.output), data.mipIndex); + HDUtils.BlitCameraTexture(ctx.cmd, data.input, data.output, data.mipIndex); else - HDUtils.BlitCameraTexture(ctx.cmd, texture, ctx.resources.GetTexture(data.output)); + HDUtils.BlitCameraTexture(ctx.cmd, data.input, data.output); }); m_DebugFullScreenTexture = passData.output; @@ -419,7 +402,7 @@ TextureHandle PushColorPickerDebugTexture(RenderGraph renderGraph, TextureHandle builder.SetRenderFunc( (PushFullScreenDebugPassData data, RenderGraphContext ctx) => { - HDUtils.BlitCameraTexture(ctx.cmd, ctx.resources.GetTexture(data.input), ctx.resources.GetTexture(data.output)); + HDUtils.BlitCameraTexture(ctx.cmd, data.input, data.output); }); return passData.output; 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 cdf56cd61f0..82fa896ae5b 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 @@ -68,28 +68,28 @@ static BuildGPULightListResources PrepareBuildGPULightListResources(RenderGraphC { var buildLightListResources = new BuildGPULightListResources(); - buildLightListResources.depthBuffer = context.resources.GetTexture(data.depthBuffer); - buildLightListResources.stencilTexture = context.resources.GetTexture(data.stencilTexture); + buildLightListResources.depthBuffer = data.depthBuffer; + buildLightListResources.stencilTexture = data.stencilTexture; if (data.buildGPULightListParameters.computeMaterialVariants && data.buildGPULightListParameters.enableFeatureVariants) { buildLightListResources.gBuffer = context.renderGraphPool.GetTempArray(data.gBufferCount); for (int i = 0; i < data.gBufferCount; ++i) - buildLightListResources.gBuffer[i] = context.resources.GetTexture(data.gBuffer[i]); + buildLightListResources.gBuffer[i] = data.gBuffer[i]; } - buildLightListResources.lightVolumeDataBuffer = context.resources.GetComputeBuffer(data.lightVolumeDataBuffer); - buildLightListResources.convexBoundsBuffer = context.resources.GetComputeBuffer(data.convexBoundsBuffer); - buildLightListResources.AABBBoundsBuffer = context.resources.GetComputeBuffer(data.AABBBoundsBuffer); - buildLightListResources.globalLightListAtomic = context.resources.GetComputeBuffer(data.globalLightListAtomic); + buildLightListResources.lightVolumeDataBuffer = data.lightVolumeDataBuffer; + buildLightListResources.convexBoundsBuffer = data.convexBoundsBuffer; + buildLightListResources.AABBBoundsBuffer = data.AABBBoundsBuffer; + buildLightListResources.globalLightListAtomic = data.globalLightListAtomic; - buildLightListResources.tileFeatureFlags = context.resources.GetComputeBuffer(data.output.tileFeatureFlags); - buildLightListResources.dispatchIndirectBuffer = context.resources.GetComputeBuffer(data.output.dispatchIndirectBuffer); - buildLightListResources.perVoxelOffset = context.resources.GetComputeBuffer(data.output.perVoxelOffset); - buildLightListResources.perTileLogBaseTweak = context.resources.GetComputeBuffer(data.output.perTileLogBaseTweak); - buildLightListResources.tileList = context.resources.GetComputeBuffer(data.output.tileList); - buildLightListResources.bigTileLightList = context.resources.GetComputeBuffer(data.output.bigTileLightList); - buildLightListResources.perVoxelLightLists = context.resources.GetComputeBuffer(data.output.perVoxelLightLists); - buildLightListResources.lightList = context.resources.GetComputeBuffer(data.output.lightList); + buildLightListResources.tileFeatureFlags = data.output.tileFeatureFlags; + buildLightListResources.dispatchIndirectBuffer = data.output.dispatchIndirectBuffer; + buildLightListResources.perVoxelOffset = data.output.perVoxelOffset; + buildLightListResources.perTileLogBaseTweak = data.output.perTileLogBaseTweak; + buildLightListResources.tileList = data.output.tileList; + buildLightListResources.bigTileLightList = data.output.bigTileLightList; + buildLightListResources.perVoxelLightLists = data.output.perVoxelLightLists; + buildLightListResources.lightList = data.output.lightList; return buildLightListResources; } @@ -321,33 +321,33 @@ LightingOutput RenderDeferredLighting( RenderGraph renderGraph, var resources = new DeferredLightingResources(); resources.colorBuffers = context.renderGraphPool.GetTempArray(2); - resources.colorBuffers[0] = context.resources.GetTexture(data.colorBuffer); - resources.colorBuffers[1] = context.resources.GetTexture(data.sssDiffuseLightingBuffer); - resources.depthStencilBuffer = context.resources.GetTexture(data.depthBuffer); - resources.depthTexture = context.resources.GetTexture(data.depthTexture); + resources.colorBuffers[0] = data.colorBuffer; + resources.colorBuffers[1] = data.sssDiffuseLightingBuffer; + resources.depthStencilBuffer = data.depthBuffer; + resources.depthTexture = data.depthTexture; - resources.lightListBuffer = context.resources.GetComputeBuffer(data.lightListBuffer); - resources.tileFeatureFlagsBuffer = context.resources.GetComputeBuffer(data.tileFeatureFlagsBuffer); - resources.tileListBuffer = context.resources.GetComputeBuffer(data.tileListBuffer); - resources.dispatchIndirectBuffer = context.resources.GetComputeBuffer(data.dispatchIndirectBuffer); + resources.lightListBuffer = data.lightListBuffer; + resources.tileFeatureFlagsBuffer = data.tileFeatureFlagsBuffer; + resources.tileListBuffer = data.tileListBuffer; + resources.dispatchIndirectBuffer = data.dispatchIndirectBuffer; // TODO RENDERGRAPH: try to find a better way to bind this. // Issue is that some GBuffers have several names (for example normal buffer is both NormalBuffer and GBuffer1) // So it's not possible to use auto binding via dependency to shaderTagID // Should probably get rid of auto binding and go explicit all the way (might need to wait for us to remove non rendergraph code path). for (int i = 0; i < data.gbufferCount; ++i) - context.cmd.SetGlobalTexture(HDShaderIDs._GBufferTexture[i], context.resources.GetTexture(data.gbuffer[i])); + context.cmd.SetGlobalTexture(HDShaderIDs._GBufferTexture[i], data.gbuffer[i]); if (data.lightLayersTextureIndex != -1) - context.cmd.SetGlobalTexture(HDShaderIDs._LightLayersTexture, context.resources.GetTexture(data.gbuffer[data.lightLayersTextureIndex])); + context.cmd.SetGlobalTexture(HDShaderIDs._LightLayersTexture, data.gbuffer[data.lightLayersTextureIndex]); else context.cmd.SetGlobalTexture(HDShaderIDs._LightLayersTexture, TextureXR.GetWhiteTexture()); // TODO RENDERGRAPH: Remove these SetGlobal and properly send these textures to the deferred passes and bind them directly to compute shaders. // This can wait that we remove the old code path. - context.cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, context.resources.GetTexture(data.lightingBuffers.ambientOcclusionBuffer)); - context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, context.resources.GetTexture(data.lightingBuffers.ssrLightingBuffer)); - context.cmd.SetGlobalTexture(HDShaderIDs._ContactShadowTexture, context.resources.GetTexture(data.lightingBuffers.contactShadowsBuffer)); + context.cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, data.lightingBuffers.ambientOcclusionBuffer); + context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, data.lightingBuffers.ssrLightingBuffer); + context.cmd.SetGlobalTexture(HDShaderIDs._ContactShadowTexture, data.lightingBuffers.contactShadowsBuffer); if (data.parameters.enableTile) { @@ -439,18 +439,17 @@ TextureHandle RenderSSR( RenderGraph renderGraph, builder.SetRenderFunc( (RenderSSRPassData data, RenderGraphContext context) => { - var res = context.resources; RenderSSR(data.parameters, - res.GetTexture(data.depthBuffer), - res.GetTexture(data.depthPyramid), - res.GetTexture(data.normalBuffer), - res.GetTexture(data.motionVectorsBuffer), - res.GetTexture(data.hitPointsTexture), - res.GetTexture(data.stencilBuffer), - res.GetTexture(data.clearCoatMask), - res.GetTexture(data.colorPyramid), - res.GetTexture(data.lightingTexture), - res.GetComputeBuffer(data.coarseStencilBuffer), + data.depthBuffer, + data.depthPyramid, + data.normalBuffer, + data.motionVectorsBuffer, + data.hitPointsTexture, + data.stencilBuffer, + data.clearCoatMask, + data.colorPyramid, + data.lightingTexture, + data.coarseStencilBuffer, context.cmd, context.renderContext); }); @@ -502,8 +501,7 @@ TextureHandle RenderContactShadows(RenderGraph renderGraph, HDCamera hdCamera, T builder.SetRenderFunc( (RenderContactShadowPassData data, RenderGraphContext context) => { - var res = context.resources; - RenderContactShadows(data.parameters, res.GetTexture(data.contactShadowsTexture), res.GetTexture(data.depthTexture), data.lightLoopLightData, res.GetComputeBuffer(data.lightList), context.cmd); + RenderContactShadows(data.parameters, data.contactShadowsTexture, data.depthTexture, data.lightLoopLightData, data.lightList, context.cmd); }); } @@ -547,10 +545,10 @@ TextureHandle VolumeVoxelizationPass( RenderGraph renderGraph, (VolumeVoxelizationPassData data, RenderGraphContext ctx) => { VolumeVoxelizationPass( data.parameters, - ctx.resources.GetTexture(data.densityBuffer), + data.densityBuffer, data.visibleVolumeBoundsBuffer, data.visibleVolumeDataBuffer, - ctx.resources.GetComputeBuffer(data.bigTileLightListBuffer), + data.bigTileLightListBuffer, ctx.cmd); }); @@ -607,21 +605,17 @@ TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, builder.SetRenderFunc( (VolumetricLightingPassData data, RenderGraphContext ctx) => { - RTHandle densityBufferRT = ctx.resources.GetTexture(data.densityBuffer); - RTHandle lightinBufferRT = ctx.resources.GetTexture(data.lightingBuffer); - RTHandle depthTextureRT = ctx.resources.GetTexture(data.depthTexture); - VolumetricLightingPass( data.parameters, - depthTextureRT, - densityBufferRT, - lightinBufferRT, - data.parameters.enableReprojection ? ctx.resources.GetTexture(data.historyBuffer) : null, - data.parameters.enableReprojection ? ctx.resources.GetTexture(data.feedbackBuffer) : null, - ctx.resources.GetComputeBuffer(data.bigTileLightListBuffer), + data.depthTexture, + data.densityBuffer, + data.lightingBuffer, + data.parameters.enableReprojection ? data.historyBuffer : (RTHandle)null, + data.parameters.enableReprojection ? data.feedbackBuffer : (RTHandle)null, + data.bigTileLightListBuffer, ctx.cmd); if (data.parameters.filterVolume) - FilterVolumetricLighting(data.parameters, densityBufferRT, lightinBufferRT, ctx.cmd); + FilterVolumetricLighting(data.parameters, data.densityBuffer, data.lightingBuffer, ctx.cmd); }); if (parameters.enableReprojection) 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 040fec11e4d..9a21b633110 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 @@ -43,11 +43,7 @@ TextureHandle RenderPostProcess( RenderGraph renderGraph, builder.SetRenderFunc( (AfterPostProcessPassData data, RenderGraphContext ctx) => { - RenderAfterPostProcess(data.parameters - , ctx.resources.GetRendererList(data.opaqueAfterPostprocessRL) - , ctx.resources.GetRendererList(data.transparentAfterPostprocessRL) - , ctx.renderContext, ctx.cmd); - + RenderAfterPostProcess(data.parameters, data.opaqueAfterPostprocessRL, data.transparentAfterPostprocessRL, ctx.renderContext, ctx.cmd); }); afterPostProcessBuffer = passData.afterPostProcessBuffer; 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 c149751da52..5a6d58332b7 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 @@ -313,22 +313,22 @@ bool RenderDepthPrepass(RenderGraph renderGraph, CullingResults cull, HDCamera h if (data.hasDepthDeferredPass && data.decalLayersEnabled) { deferredMrt = context.renderGraphPool.GetTempArray(1); - deferredMrt[0] = context.resources.GetTexture(data.decalBuffer); + deferredMrt[0] = data.decalBuffer; } var forwardMrt = context.renderGraphPool.GetTempArray((data.msaaEnabled ? 2 : 1) + (data.decalLayersEnabled ? 1 : 0)); if (data.msaaEnabled) { - forwardMrt[0] = context.resources.GetTexture(data.depthAsColorBuffer); - forwardMrt[1] = context.resources.GetTexture(data.normalBuffer); + forwardMrt[0] = data.depthAsColorBuffer; + forwardMrt[1] = data.normalBuffer; if (data.decalLayersEnabled) - forwardMrt[2] = context.resources.GetTexture(data.decalBuffer); + forwardMrt[2] = data.decalBuffer; } else { - forwardMrt[0] = context.resources.GetTexture(data.normalBuffer); + forwardMrt[0] = data.normalBuffer; if (data.decalLayersEnabled) - forwardMrt[1] = context.resources.GetTexture(data.decalBuffer); + forwardMrt[1] = data.decalBuffer; } bool useRayTracing = data.frameSettings.IsEnabled(FrameSettingsField.RayTracing); @@ -336,9 +336,9 @@ bool RenderDepthPrepass(RenderGraph renderGraph, CullingResults cull, HDCamera h RenderDepthPrepass(context.renderContext, context.cmd, data.frameSettings , deferredMrt , forwardMrt - , context.resources.GetTexture(data.depthBuffer) - , context.resources.GetRendererList(data.rendererListDepthDeferred) - , context.resources.GetRendererList(data.rendererListDepthForward) + , data.depthBuffer + , data.rendererListDepthDeferred + , data.rendererListDepthForward , data.hasDepthDeferredPass ); }); @@ -381,7 +381,7 @@ void RenderObjectsMotionVectors(RenderGraph renderGraph, CullingResults cull, HD // 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, context.resources.GetRendererList(data.rendererList)); + DrawOpaqueRendererList(context, data.frameSettings, data.rendererList); }); } } @@ -465,8 +465,8 @@ void SetupGBufferTargets(RenderGraph renderGraph, HDCamera hdCamera, GBufferPass static void BindDBufferGlobalData(in DBufferOutput dBufferOutput, in RenderGraphContext ctx) { for (int i = 0; i < dBufferOutput.dBufferCount; ++i) - ctx.cmd.SetGlobalTexture(HDShaderIDs._DBufferTexture[i], ctx.resources.GetTexture(dBufferOutput.mrt[i])); - ctx.cmd.SetGlobalBuffer(HDShaderIDs._DecalPropertyMaskBufferSRV, ctx.resources.GetComputeBuffer(dBufferOutput.decalPropertyMaskBuffer)); + ctx.cmd.SetGlobalTexture(HDShaderIDs._DBufferTexture[i], dBufferOutput.mrt[i]); + ctx.cmd.SetGlobalBuffer(HDShaderIDs._DecalPropertyMaskBufferSRV, dBufferOutput.decalPropertyMaskBuffer); } static void BindProbeVolumeGlobalData(in FrameSettings frameSettings, GBufferPassData data, in RenderGraphContext ctx) @@ -475,9 +475,9 @@ static void BindProbeVolumeGlobalData(in FrameSettings frameSettings, GBufferPas return; if (frameSettings.IsEnabled(FrameSettingsField.BigTilePrepass)) - ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vBigTileLightList, ctx.resources.GetComputeBuffer(data.probeVolumeBigTile)); - ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vProbeVolumesLayeredOffsetsBuffer, ctx.resources.GetComputeBuffer(data.probeVolumePerVoxelOffset)); - ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vProbeVolumesLightListGlobal, ctx.resources.GetComputeBuffer(data.probeVolumePerVoxelLightList)); + ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vBigTileLightList, data.probeVolumeBigTile); + ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vProbeVolumesLayeredOffsetsBuffer, data.probeVolumePerVoxelOffset); + ctx.cmd.SetGlobalBuffer(HDShaderIDs.g_vProbeVolumesLightListGlobal, data.probeVolumePerVoxelLightList); // int useDepthBuffer = 0; // cmd.SetGlobalInt(HDShaderIDs.g_isLogBaseBufferEnabled, useDepthBuffer); } @@ -517,7 +517,7 @@ void RenderGBuffer(RenderGraph renderGraph, TextureHandle sssBuffer, ref Prepass { BindProbeVolumeGlobalData(data.frameSettings, data, context); BindDBufferGlobalData(data.dBuffer, context); - DrawOpaqueRendererList(context, data.frameSettings, context.resources.GetRendererList(data.rendererList)); + DrawOpaqueRendererList(context, data.frameSettings, data.rendererList); }); } } @@ -577,10 +577,10 @@ void ResolvePrepassBuffers(RenderGraph renderGraph, HDCamera hdCamera, ref Prepa builder.SetRenderFunc( (ResolvePrepassData data, RenderGraphContext context) => { - data.depthResolveMaterial.SetTexture(HDShaderIDs._NormalTextureMS, context.resources.GetTexture(data.normalBufferMSAA)); - data.depthResolveMaterial.SetTexture(HDShaderIDs._DepthTextureMS, context.resources.GetTexture(data.depthAsColorBufferMSAA)); + data.depthResolveMaterial.SetTexture(HDShaderIDs._NormalTextureMS, data.normalBufferMSAA); + data.depthResolveMaterial.SetTexture(HDShaderIDs._DepthTextureMS, data.depthAsColorBufferMSAA); if (data.needMotionVectors) - data.depthResolveMaterial.SetTexture(HDShaderIDs._MotionVectorTextureMS, context.resources.GetTexture(data.motionVectorBufferMSAA)); + data.depthResolveMaterial.SetTexture(HDShaderIDs._MotionVectorTextureMS, data.motionVectorBufferMSAA); context.cmd.DrawProcedural(Matrix4x4.identity, data.depthResolveMaterial, data.depthResolvePassIndex, MeshTopology.Triangles, 3, 1); }); @@ -613,7 +613,6 @@ void CopyDepthBufferIfNeeded(RenderGraph renderGraph, HDCamera hdCamera, ref Pre builder.SetRenderFunc( (CopyDepthPassData data, RenderGraphContext context) => { - RenderGraphResourceRegistry resources = context.resources; // TODO: maybe we don't actually need the top MIP level? // That way we could avoid making the copy, and build the MIP hierarchy directly. // The downside is that our SSR tracing accuracy would decrease a little bit. @@ -622,7 +621,7 @@ void CopyDepthBufferIfNeeded(RenderGraph renderGraph, HDCamera hdCamera, ref Pre // TODO: reading the depth buffer with a compute shader will cause it to decompress in place. // On console, to preserve the depth test performance, we must NOT decompress the 'm_CameraDepthStencilBuffer' in place. // We should call decompressDepthSurfaceToCopy() and decompress it to 'm_CameraDepthBufferMipChain'. - data.GPUCopy.SampleCopyChannel_xyzw2x(context.cmd, resources.GetTexture(data.inputDepth), resources.GetTexture(data.outputDepth), new RectInt(0, 0, data.width, data.height)); + data.GPUCopy.SampleCopyChannel_xyzw2x(context.cmd, data.inputDepth, data.outputDepth, new RectInt(0, 0, data.width, data.height)); }); } @@ -651,14 +650,9 @@ void BuildCoarseStencilAndResolveIfNeeded(RenderGraph renderGraph, HDCamera hdCa builder.SetRenderFunc( (ResolveStencilPassData data, RenderGraphContext context) => { - var res = context.resources; - BuildCoarseStencilAndResolveIfNeeded(data.parameters, - res.GetTexture(data.inputDepth), - res.GetTexture(data.resolvedStencil), - res.GetComputeBuffer(data.coarseStencilBuffer), - context.cmd); - } - ); + BuildCoarseStencilAndResolveIfNeeded(data.parameters, data.inputDepth, data.resolvedStencil, data.coarseStencilBuffer, context.cmd); + }); + bool isMSAAEnabled = hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA); if (isMSAAEnabled) { @@ -771,8 +765,6 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec builder.SetRenderFunc( (RenderDBufferPassData data, RenderGraphContext context) => { - RenderGraphResourceRegistry resources = context.resources; - RenderTargetIdentifier[] rti = context.renderGraphPool.GetTempArray(data.dBufferCount); RTHandle[] rt = context.renderGraphPool.GetTempArray(data.dBufferCount); @@ -780,18 +772,18 @@ void RenderDBuffer(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle dec // This way we can directly use the UseColorBuffer API and set clear color directly at resource creation and not in the RenderDBuffer shared function. for (int i = 0; i < data.dBufferCount; ++i) { - rt[i] = resources.GetTexture(data.mrt[i]); + rt[i] = data.mrt[i]; rti[i] = rt[i]; } RenderDBuffer( data.parameters, rti, rt, - resources.GetTexture(data.depthStencilBuffer), - resources.GetTexture(data.depthTexture), - resources.GetRendererList(data.meshDecalsRendererList), - resources.GetComputeBuffer(data.propertyMaskBuffer), - resources.GetTexture(data.decalBuffer), + data.depthStencilBuffer, + data.depthTexture, + data.meshDecalsRendererList, + data.propertyMaskBuffer, + data.decalBuffer, context.renderContext, context.cmd); }); @@ -816,13 +808,9 @@ void DecalNormalPatch(RenderGraph renderGraph, HDCamera hdCamera, ref PrepassOut { RTHandle[] mrt = ctx.renderGraphPool.GetTempArray(data.dBuffer.dBufferCount); for (int i = 0; i < data.dBuffer.dBufferCount; ++i) - mrt[i] = ctx.resources.GetTexture(data.dBuffer.mrt[i]); + mrt[i] = data.dBuffer.mrt[i]; - DecalNormalPatch( data.parameters, - mrt, - ctx.resources.GetTexture(data.depthStencilBuffer), - ctx.resources.GetTexture(data.normalBuffer), - ctx.cmd); + DecalNormalPatch(data.parameters, mrt, data.depthStencilBuffer, data.normalBuffer, ctx.cmd); }); } } @@ -849,7 +837,7 @@ void GenerateDepthPyramid(RenderGraph renderGraph, HDCamera hdCamera, ref Prepas builder.SetRenderFunc( (GenerateDepthPyramidPassData data, RenderGraphContext context) => { - data.mipGenerator.RenderMinDepthPyramid(context.cmd, context.resources.GetTexture(data.depthTexture), data.mipInfo); + data.mipGenerator.RenderMinDepthPyramid(context.cmd, data.depthTexture, data.mipInfo); }); output.depthPyramidTexture = passData.depthTexture; @@ -888,8 +876,7 @@ void RenderCameraMotionVectors(RenderGraph renderGraph, HDCamera hdCamera, Textu builder.SetRenderFunc( (CameraMotionVectorsPassData data, RenderGraphContext context) => { - var res = context.resources; - HDUtils.DrawFullScreen(context.cmd, data.cameraMotionVectorsMaterial, res.GetTexture(data.motionVectorsBuffer), res.GetTexture(data.depthBuffer), null, 0); + HDUtils.DrawFullScreen(context.cmd, data.cameraMotionVectorsMaterial,data.motionVectorsBuffer, data.depthBuffer, null, 0); }); } } 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 44477a2df50..4cff68277ba 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 @@ -332,9 +332,7 @@ void BlitFinalCameraTexture(RenderGraph renderGraph, HDCamera hdCamera, TextureH builder.SetRenderFunc( (FinalBlitPassData data, RenderGraphContext context) => { - var sourceTexture = context.resources.GetTexture(data.source); - var destinationTexture = context.resources.GetTexture(data.destination); - BlitFinalCameraTexture(data.parameters, context.renderGraphPool.GetTempMaterialPropertyBlock(), sourceTexture, destinationTexture, context.cmd); + BlitFinalCameraTexture(data.parameters, context.renderGraphPool.GetTempMaterialPropertyBlock(), data.source, data.destination, context.cmd); }); } } @@ -374,7 +372,7 @@ void SetFinalTarget(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle de (SetFinalTargetPassData data, RenderGraphContext ctx) => { // We need to make sure the viewport is correctly set for the editor rendering. It might have been changed by debug overlay rendering just before. - ctx.cmd.SetRenderTarget(ctx.resources.GetTexture(data.finalTarget)); + ctx.cmd.SetRenderTarget(data.finalTarget); ctx.cmd.SetViewport(data.finalViewport); if (data.copyDepth) @@ -382,7 +380,7 @@ void SetFinalTarget(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle de using (new ProfilingScope(ctx.cmd, ProfilingSampler.Get(HDProfileId.CopyDepthInTargetTexture))) { var mpb = ctx.renderGraphPool.GetTempMaterialPropertyBlock(); - mpb.SetTexture(HDShaderIDs._InputDepth, ctx.resources.GetTexture(data.depthBuffer)); + mpb.SetTexture(HDShaderIDs._InputDepth, data.depthBuffer); // When we are Main Game View we need to flip the depth buffer ourselves as we are after postprocess / blit that have already flipped the screen mpb.SetInt("_FlipY", data.flipY ? 1 : 0); mpb.SetVector(HDShaderIDs._BlitScaleBias, new Vector4(1.0f, 1.0f, 0.0f, 0.0f)); @@ -488,17 +486,12 @@ void RenderForwardOpaque( RenderGraph renderGraph, // TODO RENDERGRAPH: replace with UseColorBuffer when removing old rendering (SetRenderTarget is called inside RenderForwardRendererList because of that). var mrt = context.renderGraphPool.GetTempArray(data.renderTargetCount); for (int i = 0; i < data.renderTargetCount; ++i) - mrt[i] = context.resources.GetTexture(data.renderTarget[i]); + mrt[i] = data.renderTarget[i]; if (data.dbuffer != null) BindDBufferGlobalData(data.dbuffer.Value, context); - RenderForwardRendererList(data.frameSettings, - context.resources.GetRendererList(data.rendererList), - mrt, - context.resources.GetTexture(data.depthBuffer), - context.resources.GetComputeBuffer(data.lightListBuffer), - true, context.renderContext, context.cmd); + RenderForwardRendererList(data.frameSettings, data.rendererList, mrt, data.depthBuffer, data.lightListBuffer, true, context.renderContext, context.cmd); }); } } @@ -567,23 +560,18 @@ void RenderForwardTransparent( RenderGraph renderGraph, // TODO: replace with UseColorBuffer when removing old rendering. var mrt = context.renderGraphPool.GetTempArray(data.renderTargetCount); for (int i = 0; i < data.renderTargetCount; ++i) - mrt[i] = context.resources.GetTexture(data.renderTarget[i]); + mrt[i] = data.renderTarget[i]; // Bind all global data/parameters for transparent forward pass context.cmd.SetGlobalInt(HDShaderIDs._ColorMaskTransparentVel, data.renderMotionVecForTransparent ? (int)ColorWriteMask.All : 0); if (data.decalsEnabled) DecalSystem.instance.SetAtlas(context.cmd); // for clustered decals - context.cmd.SetGlobalBuffer(HDShaderIDs.g_vLayeredOffsetsBuffer, context.resources.GetComputeBuffer(data.perVoxelOffset)); - context.cmd.SetGlobalBuffer(HDShaderIDs.g_logBaseBuffer, context.resources.GetComputeBuffer(data.perTileLogBaseTweak)); - context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, context.resources.GetTexture(data.ssrLlightingBuffer)); + context.cmd.SetGlobalBuffer(HDShaderIDs.g_vLayeredOffsetsBuffer, data.perVoxelOffset); + context.cmd.SetGlobalBuffer(HDShaderIDs.g_logBaseBuffer, data.perTileLogBaseTweak); + context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, data.ssrLlightingBuffer); - RenderForwardRendererList( data.frameSettings, - context.resources.GetRendererList(data.rendererList), - mrt, - context.resources.GetTexture(data.depthBuffer), - context.resources.GetComputeBuffer(data.lightListBuffer), - false, context.renderContext, context.cmd); + RenderForwardRendererList( data.frameSettings, data.rendererList, mrt, data.depthBuffer, data.lightListBuffer, false, context.renderContext, context.cmd); }); } } @@ -608,7 +596,7 @@ void RenderTransparentDepthPrepass(RenderGraph renderGraph, HDCamera hdCamera, i builder.SetRenderFunc( (ForwardPassData data, RenderGraphContext context) => { - DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, context.resources.GetRendererList(data.rendererList)); + DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, data.rendererList); }); } } @@ -629,7 +617,7 @@ void RenderTransparentDepthPostpass(RenderGraph renderGraph, HDCamera hdCamera, builder.SetRenderFunc( (ForwardPassData data, RenderGraphContext context) => { - DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, context.resources.GetRendererList(data.rendererList)); + DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, data.rendererList); }); } } @@ -699,7 +687,7 @@ TextureHandle RenderLowResTransparent(RenderGraph renderGraph, HDCamera hdCamera UpdateOffscreenRenderingConstants(ref data.globalCB, true, 2u); ConstantBuffer.PushGlobal(context.cmd, data.globalCB, HDShaderIDs._ShaderVariablesGlobal); - DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, context.resources.GetRendererList(data.rendererList)); + DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, data.rendererList); UpdateOffscreenRenderingConstants(ref data.globalCB, false, 1u); ConstantBuffer.PushGlobal(context.cmd, data.globalCB, HDShaderIDs._ShaderVariablesGlobal); @@ -739,9 +727,8 @@ void UpsampleTransparent(RenderGraph renderGraph, HDCamera hdCamera, TextureHand builder.SetRenderFunc( (UpsampleTransparentPassData data, RenderGraphContext context) => { - var res = context.resources; - data.upsampleMaterial.SetTexture(HDShaderIDs._LowResTransparent, res.GetTexture(data.lowResTransparentBuffer)); - data.upsampleMaterial.SetTexture(HDShaderIDs._LowResDepthTexture, res.GetTexture(data.downsampledDepthBuffer)); + data.upsampleMaterial.SetTexture(HDShaderIDs._LowResTransparent, data.lowResTransparentBuffer); + data.upsampleMaterial.SetTexture(HDShaderIDs._LowResDepthTexture, data.downsampledDepthBuffer); context.cmd.DrawProcedural(Matrix4x4.identity, data.upsampleMaterial, 0, MeshTopology.Triangles, 3, 1, null); }); } @@ -828,7 +815,7 @@ void RenderForwardEmissive( RenderGraph renderGraph, builder.SetRenderFunc( (RenderForwardEmissivePassData data, RenderGraphContext context) => { - HDUtils.DrawRendererList(context.renderContext, context.cmd, context.resources.GetRendererList(data.rendererList)); + HDUtils.DrawRendererList(context.renderContext, context.cmd, data.rendererList); if (data.enableDecals) DecalSystem.instance.RenderForwardEmissive(context.cmd); }); @@ -854,7 +841,7 @@ void RenderForwardError(RenderGraph renderGraph, builder.SetRenderFunc( (ForwardPassData data, RenderGraphContext context) => { - HDUtils.DrawRendererList(context.renderContext, context.cmd, context.resources.GetRendererList(data.rendererList)); + HDUtils.DrawRendererList(context.renderContext, context.cmd, data.rendererList); }); } } @@ -884,7 +871,7 @@ void SendGeometryGraphicsBuffers(RenderGraph renderGraph, TextureHandle normalBu builder.SetRenderFunc( (SendGeometryBuffersPassData data, RenderGraphContext ctx) => { - SendGeometryGraphicsBuffers(data.parameters, ctx.resources.GetTexture(data.normalBuffer), ctx.resources.GetTexture(data.depthBuffer), ctx.cmd); + SendGeometryGraphicsBuffers(data.parameters, data.normalBuffer, data.depthBuffer, ctx.cmd); }); } } @@ -929,7 +916,7 @@ void ClearStencilBuffer(RenderGraph renderGraph, TextureHandle colorBuffer, Text (ClearStencilPassData data, RenderGraphContext ctx) => { data.clearStencilMaterial.SetInt(HDShaderIDs._StencilMask, (int)StencilUsage.HDRPReservedBits); - HDUtils.DrawFullScreen(ctx.cmd, data.clearStencilMaterial, ctx.resources.GetTexture(data.colorBuffer), ctx.resources.GetTexture(data.depthBuffer)); + HDUtils.DrawFullScreen(ctx.cmd, data.clearStencilMaterial, data.colorBuffer, data.depthBuffer); }); } } @@ -967,11 +954,7 @@ void PreRenderSky(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colo builder.SetRenderFunc( (PreRenderSkyPassData data, RenderGraphContext context) => { - var depthBuffer = context.resources.GetTexture(data.depthStencilBuffer); - var destination = context.resources.GetTexture(data.colorBuffer); - var normalBuffer= context.resources.GetTexture(data.normalBuffer); - - data.skyManager.PreRenderSky(data.hdCamera, data.sunLight, destination, normalBuffer, depthBuffer, data.debugDisplaySettings, data.frameCount, context.cmd); + data.skyManager.PreRenderSky(data.hdCamera, data.sunLight, data.colorBuffer, data.normalBuffer, data.depthStencilBuffer, data.debugDisplaySettings, data.frameCount, context.cmd); }); } } @@ -1018,17 +1001,12 @@ void RenderSky(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colorBu // Necessary to perform dual-source (polychromatic alpha) blending which is not supported by Unity. // We load from the color buffer, perform blending manually, and store to the atmospheric scattering buffer. // Then we perform a copy from the atmospheric scattering buffer back to the color buffer. - var depthBuffer = context.resources.GetTexture(data.depthStencilBuffer); - var destination = context.resources.GetTexture(data.colorBuffer); - var intermediateBuffer = context.resources.GetTexture(data.intermediateBuffer); - var inputVolumetric = context.resources.GetTexture(data.volumetricLighting); - - data.skyManager.RenderSky(data.hdCamera, data.sunLight, destination, depthBuffer, data.debugDisplaySettings, data.frameCount, context.cmd); + data.skyManager.RenderSky(data.hdCamera, data.sunLight, data.colorBuffer, data.depthStencilBuffer, data.debugDisplaySettings, data.frameCount, context.cmd); if (Fog.IsFogEnabled(data.hdCamera) || Fog.IsPBRFogEnabled(data.hdCamera)) { var pixelCoordToViewDirWS = data.hdCamera.mainViewConstants.pixelCoordToViewDirWS; - data.skyManager.RenderOpaqueAtmosphericScattering(context.cmd, data.hdCamera, destination, inputVolumetric, intermediateBuffer, depthBuffer, pixelCoordToViewDirWS, data.hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); + data.skyManager.RenderOpaqueAtmosphericScattering(context.cmd, data.hdCamera, data.colorBuffer, data.volumetricLighting, data.intermediateBuffer, data.depthStencilBuffer, pixelCoordToViewDirWS, data.hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); } }); } @@ -1069,13 +1047,10 @@ void GenerateColorPyramid(RenderGraph renderGraph, HDCamera hdCamera, TextureHan (GenerateColorPyramidData data, RenderGraphContext context) => { Vector2Int pyramidSize = new Vector2Int(data.hdCamera.actualWidth, data.hdCamera.actualHeight); - var colorPyramid = context.resources.GetTexture(data.colorPyramid); - var inputTexture = context.resources.GetTexture(data.inputColor); - data.hdCamera.colorPyramidHistoryMipCount = data.mipGenerator.RenderColorGaussianPyramid(context.cmd, pyramidSize, inputTexture, colorPyramid); - + data.hdCamera.colorPyramidHistoryMipCount = data.mipGenerator.RenderColorGaussianPyramid(context.cmd, pyramidSize, data.inputColor, data.colorPyramid); // TODO RENDERGRAPH: We'd like to avoid SetGlobals like this but it's required by custom passes currently. // We will probably be able to remove those once we push custom passes fully to render graph. - context.cmd.SetGlobalTexture(HDShaderIDs._ColorPyramidTexture, colorPyramid); + context.cmd.SetGlobalTexture(HDShaderIDs._ColorPyramidTexture, data.colorPyramid); }); } @@ -1110,7 +1085,7 @@ TextureHandle AccumulateDistortion( RenderGraph renderGraph, builder.SetRenderFunc( (AccumulateDistortionPassData data, RenderGraphContext context) => { - DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, context.resources.GetRendererList(data.distortionRendererList)); + DrawTransparentRendererList(context.renderContext, context.cmd, data.frameSettings, data.distortionRendererList); }); return passData.distortionBuffer; @@ -1149,15 +1124,14 @@ void RenderDistortion( RenderGraph renderGraph, builder.SetRenderFunc( (RenderDistortionPassData data, RenderGraphContext context) => { - var res = context.resources; // TODO: Set stencil stuff via parameters rather than hard-coding it in shader. - data.applyDistortionMaterial.SetTexture(HDShaderIDs._DistortionTexture, res.GetTexture(data.distortionBuffer)); - data.applyDistortionMaterial.SetTexture(HDShaderIDs._ColorPyramidTexture, res.GetTexture(data.colorPyramidBuffer)); + data.applyDistortionMaterial.SetTexture(HDShaderIDs._DistortionTexture, data.distortionBuffer); + data.applyDistortionMaterial.SetTexture(HDShaderIDs._ColorPyramidTexture, data.colorPyramidBuffer); data.applyDistortionMaterial.SetVector(HDShaderIDs._Size, data.size); data.applyDistortionMaterial.SetInt(HDShaderIDs._StencilMask, (int)StencilUsage.DistortionVectors); data.applyDistortionMaterial.SetInt(HDShaderIDs._StencilRef, (int)StencilUsage.DistortionVectors); - HDUtils.DrawFullScreen(context.cmd, data.applyDistortionMaterial, res.GetTexture(data.colorBuffer), res.GetTexture(data.depthStencilBuffer), null, 0); + HDUtils.DrawFullScreen(context.cmd, data.applyDistortionMaterial, data.colorBuffer, data.depthStencilBuffer, null, 0); }); } } @@ -1232,9 +1206,8 @@ TextureHandle ResolveMSAAColor(RenderGraph renderGraph, HDCamera hdCamera, Textu builder.SetRenderFunc( (ResolveColorData data, RenderGraphContext context) => { - var res = context.resources; var mpb = context.renderGraphPool.GetTempMaterialPropertyBlock(); - mpb.SetTexture(HDShaderIDs._ColorTextureMS, res.GetTexture(data.input)); + mpb.SetTexture(HDShaderIDs._ColorTextureMS, data.input); context.cmd.DrawProcedural(Matrix4x4.identity, data.resolveMaterial, data.passIndex, MeshTopology.Triangles, 3, 1, mpb); }); @@ -1269,9 +1242,8 @@ TextureHandle ResolveMotionVector(RenderGraph renderGraph, HDCamera hdCamera, Te builder.SetRenderFunc( (ResolveMotionVectorData data, RenderGraphContext context) => { - var res = context.resources; var mpb = context.renderGraphPool.GetTempMaterialPropertyBlock(); - mpb.SetTexture(HDShaderIDs._MotionVectorTextureMS, res.GetTexture(data.input)); + mpb.SetTexture(HDShaderIDs._MotionVectorTextureMS, data.input); context.cmd.DrawProcedural(Matrix4x4.identity, data.resolveMaterial, data.passIndex, MeshTopology.Triangles, 3, 1, mpb); }); @@ -1309,7 +1281,7 @@ void RenderAccumulation(RenderGraph renderGraph, HDCamera hdCamera, TextureHandl builder.SetRenderFunc( (RenderAccumulationPassData data, RenderGraphContext ctx) => { - RenderAccumulation(data.parameters, ctx.resources.GetTexture(data.input), ctx.resources.GetTexture(data.output), ctx.resources.GetTexture(data.history), ctx.cmd); + RenderAccumulation(data.parameters, data.input, data.output, data.history, ctx.cmd); }); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs index 8c41d4e0f24..52d3f67d800 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.RenderGraphUtils.cs @@ -147,7 +147,7 @@ void RenderXROcclusionMeshes(RenderGraph renderGraph, HDCamera hdCamera, Texture builder.SetRenderFunc( (RenderOcclusionMeshesPassData data, RenderGraphContext ctx) => { - data.hdCamera.xr.RenderOcclusionMeshes(ctx.cmd, data.clearColor, ctx.resources.GetTexture(data.colorBuffer), ctx.resources.GetTexture(data.depthBuffer)); + data.hdCamera.xr.RenderOcclusionMeshes(ctx.cmd, data.clearColor, data.colorBuffer, data.depthBuffer); }); } } 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 9815274982a..23e9b85a1b6 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 @@ -64,13 +64,13 @@ void RenderSubsurfaceScattering(RenderGraph renderGraph, HDCamera hdCamera, Text (SubsurfaceScaterringPassData data, RenderGraphContext context) => { var resources = new SubsurfaceScatteringResources(); - resources.colorBuffer = context.resources.GetTexture(data.colorBuffer); - resources.diffuseBuffer = context.resources.GetTexture(data.diffuseBuffer); - resources.depthStencilBuffer = context.resources.GetTexture(data.depthStencilBuffer); - resources.depthTexture = context.resources.GetTexture(data.depthTexture); - resources.cameraFilteringBuffer = context.resources.GetTexture(data.cameraFilteringBuffer); - resources.sssBuffer = context.resources.GetTexture(data.sssBuffer); - resources.coarseStencilBuffer = context.resources.GetComputeBuffer(data.coarseStencilBuffer); + resources.colorBuffer = data.colorBuffer; + resources.diffuseBuffer = data.diffuseBuffer; + resources.depthStencilBuffer = data.depthStencilBuffer; + resources.depthTexture = data.depthTexture; + resources.cameraFilteringBuffer = data.cameraFilteringBuffer; + resources.sssBuffer = data.sssBuffer; + resources.coarseStencilBuffer = data.coarseStencilBuffer; RenderSubsurfaceScattering(data.parameters, resources, context.cmd); }); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/AOV/AOVRequestData.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/AOV/AOVRequestData.cs index ddb949175bd..5e36d58fc06 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/AOV/AOVRequestData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/AOV/AOVRequestData.cs @@ -215,7 +215,7 @@ List targets builder.SetRenderFunc( (PushCameraTexturePassData data, RenderGraphContext ctx) => { - HDUtils.BlitCameraTexture(ctx.cmd, ctx.resources.GetTexture(data.source), data.target); + HDUtils.BlitCameraTexture(ctx.cmd, data.source, data.target); }); } } @@ -312,7 +312,7 @@ List targets if (data.customPassSource != null) HDUtils.BlitCameraTexture(ctx.cmd, data.customPassSource, data.target); else - HDUtils.BlitCameraTexture(ctx.cmd, ctx.resources.GetTexture(data.source), data.target); + HDUtils.BlitCameraTexture(ctx.cmd, data.source, data.target); }); } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs index ee7019aa0df..7efc28f2a9b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/RenderPass/CustomPass/CustomPass.cs @@ -66,8 +66,6 @@ internal ProfilingSampler profilingSampler CustomPassVolume owner; SharedRTManager currentRTManager; HDCamera currentHDCamera; - // This is a bit dirty but necessary as users may call function that need it but they don't have the instance to pass on. - RenderGraphContext currentRenderGraphContext; MaterialPropertyBlock userMaterialPropertyBlock; @@ -259,7 +257,6 @@ internal void ExecuteInternal(RenderGraph renderGraph, HDCamera hdCamera, Cullin (ExecutePassData data, RenderGraphContext ctx) => { var customPass = data.customPass; - customPass.currentRenderGraphContext = ctx; if (!customPass.isSetup) { @@ -272,15 +269,15 @@ internal void ExecuteInternal(RenderGraph renderGraph, HDCamera hdCamera, Cullin customPass.SetCustomPassTarget(ctx.cmd); - var outputColorBuffer = ctx.resources.GetTexture(customPass.currentRenderTarget.colorBufferRG); + var outputColorBuffer = customPass.currentRenderTarget.colorBufferRG; // Create the custom pass context: CustomPassContext customPassCtx = new CustomPassContext( ctx.renderContext, ctx.cmd, data.hdCamera, data.cullingResult, outputColorBuffer, - ctx.resources.GetTexture(customPass.currentRenderTarget.depthBufferRG), - ctx.resources.GetTexture(customPass.currentRenderTarget.normalBufferRG), + customPass.currentRenderTarget.depthBufferRG, + customPass.currentRenderTarget.normalBufferRG, customPass.currentRenderTarget.customColorBuffer, customPass.currentRenderTarget.customDepthBuffer, ctx.renderGraphPool.GetTempMaterialPropertyBlock() @@ -345,8 +342,8 @@ void SetCustomPassTarget(CommandBuffer cmd) } else { - colorBuffer = (targetColorBuffer == TargetBuffer.Custom) ? currentRenderTarget.customColorBuffer.Value : currentRenderGraphContext.resources.GetTexture(currentRenderTarget.colorBufferRG); - depthBuffer = (targetDepthBuffer == TargetBuffer.Custom) ? currentRenderTarget.customDepthBuffer.Value : currentRenderGraphContext.resources.GetTexture(currentRenderTarget.depthBufferRG); + colorBuffer = (targetColorBuffer == TargetBuffer.Custom) ? currentRenderTarget.customColorBuffer.Value : currentRenderTarget.colorBufferRG; + depthBuffer = (targetDepthBuffer == TargetBuffer.Custom) ? currentRenderTarget.customDepthBuffer.Value : currentRenderTarget.depthBufferRG; } if (targetColorBuffer == TargetBuffer.None && targetDepthBuffer != TargetBuffer.None) @@ -416,8 +413,8 @@ protected void SetCameraRenderTarget(CommandBuffer cmd, bool bindDepth = true, C RTHandle colorBuffer, depthBuffer; if (currentRenderTarget.useRenderGraph) { - colorBuffer = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.colorBufferRG); - depthBuffer = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.depthBufferRG); + colorBuffer = currentRenderTarget.colorBufferRG; + depthBuffer = currentRenderTarget.depthBufferRG; } else { @@ -474,8 +471,8 @@ protected void ResolveMSAAColorBuffer(CommandBuffer cmd, HDCamera hdCamera) RTHandle input, output; if (currentRenderTarget.useRenderGraph) { - input = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.colorBufferRG); - output = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.nonMSAAColorBufferRG); + input = currentRenderTarget.colorBufferRG; + output = currentRenderTarget.nonMSAAColorBufferRG; } else { @@ -507,8 +504,8 @@ protected void GetCameraBuffers(out RTHandle colorBuffer, out RTHandle depthBuff bool msaa = IsMSAAEnabled(currentHDCamera); if (currentRenderTarget.useRenderGraph) { - colorBuffer = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.colorBufferRG); - depthBuffer = currentRenderGraphContext.resources.GetTexture(currentRenderTarget.depthBufferRG); + colorBuffer = currentRenderTarget.colorBufferRG; + depthBuffer = currentRenderTarget.depthBufferRG; } else { @@ -543,7 +540,7 @@ protected RTHandle GetNormalBuffer() throw new Exception("GetNormalBuffer can only be called inside the CustomPass.Execute function"); if (currentRenderTarget.useRenderGraph) - return currentRenderGraphContext.resources.GetTexture(currentRenderTarget.normalBufferRG); + return currentRenderTarget.normalBufferRG; else return currentRTManager.GetNormalBuffer(IsMSAAEnabled(currentHDCamera)); } From 17b195b023f78f0f673bafb78471845fd656856f Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Wed, 8 Jul 2020 19:44:32 +0200 Subject: [PATCH 15/35] Fix double sided unlit mode in the UI (#1203) --- .../ShaderGraph/SurfaceOptionPropertyBlock.cs | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) 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 bde3e02903f..6070ce58960 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 @@ -15,14 +15,14 @@ namespace UnityEditor.Rendering.HighDefinition.ShaderGraph class SurfaceOptionPropertyBlock : SubTargetPropertyBlock { [Flags] - // TODO: remove ? public enum Features { - None = 0, - All = ~0, + None = 0, + ShowDoubleSidedNormal = 1 << 0, + All = ~0, - Unlit = All, - Lit = All, + Unlit = All ^ ShowDoubleSidedNormal, // hide double sided normal for unlit + Lit = All, } class Styles @@ -85,7 +85,10 @@ protected override void CreatePropertyGUI() AddProperty(alphaToMaskText, () => builtinData.alphaToMask, (newValue) => builtinData.alphaToMask = newValue); // Misc - AddProperty(Styles.doubleSidedModeText, () => systemData.doubleSidedMode, (newValue) => systemData.doubleSidedMode = newValue); + if ((enabledFeatures & Features.ShowDoubleSidedNormal) != 0) + AddProperty(Styles.doubleSidedModeText, () => systemData.doubleSidedMode, (newValue) => systemData.doubleSidedMode = newValue); + else + AddProperty(doubleSidedEnableText, () => systemData.doubleSidedMode != DoubleSidedMode.Disabled, (newValue) => systemData.doubleSidedMode = newValue ? DoubleSidedMode.Enabled : DoubleSidedMode.Disabled); if (lightingData != null) AddProperty(Styles.fragmentNormalSpace, () => lightingData.normalDropOffSpace, (newValue) => lightingData.normalDropOffSpace = newValue); From 0ed3553d4bfa377e7eead71adc602ce048251a2e Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 8 Jul 2020 20:32:59 +0200 Subject: [PATCH 16/35] HDRP: Default indirect Lighting controller Layers to Everything to ease the migration --- .../Runtime/Lighting/IndirectLightingController.cs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/IndirectLightingController.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/IndirectLightingController.cs index 2710132d584..7d0af52abc8 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/IndirectLightingController.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/IndirectLightingController.cs @@ -13,12 +13,12 @@ public class IndirectLightingController : VolumeComponent /// Indirect diffuse lighting multiplier, between 0 and 1 public MinFloatParameter indirectDiffuseLightingMultiplier = new MinFloatParameter(1.0f, 0.0f); /// Controls which layer will be affected by the indirect diffuse lighting multiplier - public LightLayerEnumParameter indirectDiffuseLightingLayers = new LightLayerEnumParameter(LightLayerEnum.LightLayerDefault); + public LightLayerEnumParameter indirectDiffuseLightingLayers = new LightLayerEnumParameter(LightLayerEnum.Everything); // Default to everything to not have migration issue /// Reflection lighting multiplier, between 0 and 1 public MinFloatParameter reflectionLightingMultiplier = new MinFloatParameter(1.0f, 0.0f); /// Controls which layer will be affected by the reflection lighting multiplier - public LightLayerEnumParameter reflectionLightingLayers = new LightLayerEnumParameter(LightLayerEnum.LightLayerDefault); + public LightLayerEnumParameter reflectionLightingLayers = new LightLayerEnumParameter(LightLayerEnum.Everything); // Default to everything to not have migration issue [UnityEngine.Serialization.FormerlySerializedAs("indirectSpecularIntensity")] /// Reflection probe and Planar reflection intensity multiplier, between 0 and 1 From 1f5f2a9208f2691e83495e47866de676effb6ab8 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Thu, 9 Jul 2020 18:36:16 +0200 Subject: [PATCH 17/35] Update cas include paths (#1227) --- .../PostProcessing/Shaders/ContrastAdaptiveSharpen.compute | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ContrastAdaptiveSharpen.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ContrastAdaptiveSharpen.compute index a505189c9c6..2d64cd54246 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ContrastAdaptiveSharpen.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ContrastAdaptiveSharpen.compute @@ -7,7 +7,7 @@ #define A_GPU 1 #define A_HLSL 1 -#include "ffx_a.hlsl" +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ffx_a.hlsl" // two elements: // [0] = const0 // [1] = const1 @@ -42,7 +42,7 @@ void WritePix(AU2 gxy, AF4 casPix) _OutputTexture[COORD_TEXTURE2D_X(gxy)] = casPix; } -#include "ffx_cas.hlsl" +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/ffx_cas.hlsl" [numthreads(64, 1, 1)] From c745c9347124b0905b8a60a53274edaea3610432 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Thu, 9 Jul 2020 18:43:48 +0200 Subject: [PATCH 18/35] Hdrp/fix rt odd negative scale (#1180) * Fixed robustness issue with GetOddNegativeScale() in ray tracing. * Updated changelog. * Added fogbugz case id in changelog. --- .../ShaderLibrary/SpaceTransforms.hlsl | 5 ++++- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Raytracing/Shaders/RaytracingFragInputs.hlsl | 4 ++-- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl b/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl index c7cbe86d610..fcf51f82fa9 100644 --- a/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl +++ b/com.unity.render-pipelines.core/ShaderLibrary/SpaceTransforms.hlsl @@ -49,7 +49,10 @@ float3 GetCameraRelativePositionWS(float3 positionWS) real GetOddNegativeScale() { - return unity_WorldTransformParams.w; + // FIXME: We should be able to just return unity_WorldTransformParams.w, but it is not + // properly set at the moment, when doing ray-tracing; once this has been fixed in cpp, + // we can revert back to the former implementation. + return unity_WorldTransformParams.w >= 0.0 ? 1.0 : -1.0; } float3 TransformObjectToWorld(float3 positionOS) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c15c475ca09..d1c141710f6 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -723,6 +723,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed overused the atlas for Animated/Render Target Cookies (1259930). - Fixed sky asserts with XR multipass - Fixed for area light not updating baked light result when modifying with gizmo. +- Fixed robustness issue with GetOddNegativeScale() in ray tracing, which was impacting normal mapping (1261160). ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingFragInputs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingFragInputs.hlsl index 189b8fb48a4..a1835907d3d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingFragInputs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/RaytracingFragInputs.hlsl @@ -10,8 +10,8 @@ void BuildFragInputsFromIntersection(IntersectionVertex currentVertex, float3 in outFragInputs.color = currentVertex.color; float3 normalWS = normalize(mul(currentVertex.normalOS, (float3x3)WorldToObject3x4())); - float4 tangentWS = float4(normalize(mul(currentVertex.tangentOS.xyz, (float3x3)WorldToObject3x4())), currentVertex.tangentOS.w); - outFragInputs.tangentToWorld = BuildTangentToWorld(tangentWS, normalWS); + float3 tangentWS = normalize(mul(currentVertex.tangentOS.xyz, (float3x3)WorldToObject3x4())); + outFragInputs.tangentToWorld = CreateTangentToWorld(normalWS, tangentWS, sign(currentVertex.tangentOS.w)); outFragInputs.isFrontFace = dot(incidentDirection, outFragInputs.tangentToWorld[2]) < 0.0f; } \ No newline at end of file From bc3ee232e2517a0dca01b2a816eaf5d1d9c9b548 Mon Sep 17 00:00:00 2001 From: Remi Slysz <40034005+RSlysz@users.noreply.github.com> Date: Thu, 9 Jul 2020 23:15:24 +0200 Subject: [PATCH 19/35] Hdrp/fix hierarchicalbox gizmo symetry and homothety mode ensuring face faces outside (#1228) * Fix hierarchicalbox gizmo outside facingin symetry or homothety mode * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md * Update CHANGELOG.md Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.core/CHANGELOG.md | 1 + .../Editor/Gizmo/HierarchicalBox.cs | 99 ++++++++++++++++--- .../CHANGELOG.md | 1 + .../Volume/InfluenceVolumeUI.Handles.cs | 8 +- 4 files changed, 96 insertions(+), 13 deletions(-) diff --git a/com.unity.render-pipelines.core/CHANGELOG.md b/com.unity.render-pipelines.core/CHANGELOG.md index 407253eccea..c52d9f511f7 100644 --- a/com.unity.render-pipelines.core/CHANGELOG.md +++ b/com.unity.render-pipelines.core/CHANGELOG.md @@ -45,6 +45,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed null reference exception in LookDev when setting the SRP to one not implementing LookDev (case 1245086) - Fix LookDev's undo/redo on EnvironmentLibrary (case 1234725) - Fix a compil error on OpenGL ES2 in directional lightmap sampling shader code +- Fix hierarchicalbox gizmo outside facing check in symetry or homothety mode no longer move the center ### Changed - Restored usage of ENABLE_VR to fix compilation errors on some platforms. diff --git a/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalBox.cs b/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalBox.cs index be4761682b8..26b9250d279 100644 --- a/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalBox.cs +++ b/com.unity.render-pipelines.core/Editor/Gizmo/HierarchicalBox.cs @@ -244,9 +244,7 @@ public void DrawHandle() for (int i = 0, count = m_ControlIDs.Length; i < count; ++i) m_ControlIDs[i] = GUIUtility.GetControlID("HierarchicalBox".GetHashCode() + i, FocusType.Passive); - - EditorGUI.BeginChangeCheck(); - + var leftPosition = center + size.x * .5f * Vector3.left; var rightPosition = center + size.x * .5f * Vector3.right; var topPosition = center + size.y * .5f * Vector3.up; @@ -256,6 +254,8 @@ public void DrawHandle() var theChangedFace = NamedFace.None; + EditorGUI.BeginChangeCheck(); + EditorGUI.BeginChangeCheck(); Slider1D(m_ControlIDs[(int)NamedFace.Left], ref leftPosition, Vector3.left, EditorSnapSettings.scale, GetHandleColor(NamedFace.Left)); if (EditorGUI.EndChangeCheck()) @@ -338,6 +338,27 @@ public void DrawHandle() case NamedFace.Front: backPosition.z += delta; break; case NamedFace.Back: frontPosition.z -= delta; break; } + + //ensure that the box face are still facing outside + switch (theChangedFace) + { + case NamedFace.Left: + case NamedFace.Right: + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x = center.x; + break; + case NamedFace.Top: + case NamedFace.Bottom: + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y = center.y; + break; + case NamedFace.Front: + case NamedFace.Back: + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z = center.z; + break; + } + } if (useHomothety) @@ -367,21 +388,77 @@ public void DrawHandle() topPosition.y -= halfDelta; break; } + + //ensure that the box face are still facing outside + switch (theChangedFace) + { + case NamedFace.Left: + if (rightPosition.x < leftPosition.x) + leftPosition.x = rightPosition.x; + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y = center.y; + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z = center.z; + break; + case NamedFace.Right: + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x; + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y = center.y; + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z = center.z; + break; + case NamedFace.Top: + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y; + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x = center.x; + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z = center.z; + break; + case NamedFace.Bottom: + if (topPosition.y < bottomPosition.y) + bottomPosition.y = topPosition.y; + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x = center.x; + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z = center.z; + break; + case NamedFace.Front: + if (frontPosition.z < backPosition.z) + frontPosition.z = backPosition.z; + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x = center.x; + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y = center.y; + break; + case NamedFace.Back: + if (frontPosition.z < backPosition.z) + backPosition.z = frontPosition.z; + if (rightPosition.x < leftPosition.x) + rightPosition.x = leftPosition.x = center.x; + if (topPosition.y < bottomPosition.y) + topPosition.y = bottomPosition.y = center.y; + break; + } } var max = new Vector3(rightPosition.x, topPosition.y, frontPosition.z); var min = new Vector3(leftPosition.x, bottomPosition.y, backPosition.z); - //ensure that the box face are still facing outside - for (int axis = 0; axis < 3; ++axis) + if (!useSymetry && !useHomothety) { - if (min[axis] > max[axis]) + //ensure that the box face are still facing outside + for (int axis = 0; axis < 3; ++axis) { - // Control IDs in m_ControlIDs[0-3[ are for positive axes - if (GUIUtility.hotControl == m_ControlIDs[axis]) - max[axis] = min[axis]; - else - min[axis] = max[axis]; + if (min[axis] > max[axis]) + { + // Control IDs in m_ControlIDs[0-3[ are for positive axes + if (GUIUtility.hotControl == m_ControlIDs[axis]) + max[axis] = min[axis]; + else + min[axis] = max[axis]; + } } } diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index d1c141710f6..e79831586e8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -724,6 +724,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed sky asserts with XR multipass - Fixed for area light not updating baked light result when modifying with gizmo. - Fixed robustness issue with GetOddNegativeScale() in ray tracing, which was impacting normal mapping (1261160). +- Fixed regression where moving face of the probe gizmo was not moving its position anymore. ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Handles.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Handles.cs index 6591265fc2d..644e16383a4 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Handles.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Reflection/Volume/InfluenceVolumeUI.Handles.cs @@ -102,12 +102,12 @@ public static void DrawHandles_EditInfluenceNormal(SerializedInfluenceVolume ser break; } } - + static void DrawBoxHandle(SerializedInfluenceVolume serialized, Editor owner, Transform transform, HierarchicalBox box) { using (new Handles.DrawingScope(Matrix4x4.TRS(Vector3.zero, transform.rotation, Vector3.one))) { - box.center = Quaternion.Inverse(transform.rotation)*transform.position; + box.center = Quaternion.Inverse(transform.rotation) * transform.position; box.size = serialized.boxSize.vector3Value; EditorGUI.BeginChangeCheck(); @@ -115,6 +115,10 @@ static void DrawBoxHandle(SerializedInfluenceVolume serialized, Editor owner, Tr box.DrawHandle(); if (EditorGUI.EndChangeCheck()) { + var newPosition = transform.rotation * box.center; + Undo.RecordObject(transform, "Moving Influence"); + transform.position = newPosition; + // Clamp blend distances var blendPositive = serialized.boxBlendDistancePositive.vector3Value; var blendNegative = serialized.boxBlendDistanceNegative.vector3Value; From 5feb1bf28283dd680c02e360d8a95ed1ff00a9e4 Mon Sep 17 00:00:00 2001 From: Fabien Houlmann <44069206+fabien-unity@users.noreply.github.com> Date: Thu, 9 Jul 2020 17:22:43 -0400 Subject: [PATCH 20/35] fix XR single-pass macros in tessellation shaders (#1160) Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl | 3 --- 2 files changed, 1 insertion(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index e79831586e8..3d491d4abcc 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -725,6 +725,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed for area light not updating baked light result when modifying with gizmo. - Fixed robustness issue with GetOddNegativeScale() in ray tracing, which was impacting normal mapping (1261160). - Fixed regression where moving face of the probe gizmo was not moving its position anymore. +- Fixed XR single-pass macros in tessellation shaders. ### Changed - Improve MIP selection for decals on Transparents diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl index 61d5ddbcb91..0041ee55a83 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl @@ -45,8 +45,6 @@ struct PackedVaryingsToDS #ifdef VARYINGS_NEED_PASS PackedVaryingsPassToDS vpass; #endif - - UNITY_VERTEX_OUTPUT_STEREO }; PackedVaryingsToDS PackVaryingsToDS(VaryingsToDS input) @@ -57,7 +55,6 @@ PackedVaryingsToDS PackVaryingsToDS(VaryingsToDS input) output.vpass = PackVaryingsPassToDS(input.vpass); #endif - UNITY_INITIALIZE_VERTEX_OUTPUT_STEREO(output); return output; } From f0bc668a9a35c297d3fb6dca32f881ad85d74e9b Mon Sep 17 00:00:00 2001 From: JulienIgnace-Unity Date: Fri, 10 Jul 2020 14:49:59 +0200 Subject: [PATCH 21/35] Remove automatic setup of global texture from Render Graph (#1192) * Made conversion from render graph handles to actual resource implicit to reduce boiler plate code. * Post merge fixes * Added an exception when accessing resources while not executing render graph. * Removed auto binding of global texture and updated passes accordingly. * Post merge fix * Fixed shadow mask texture binding. * Fix wrong merge * Fixed fog with MSAA and render graph --- .../Runtime/RenderGraph/RenderGraph.cs | 24 ++--- .../Runtime/RenderGraph/RenderGraphBuilder.cs | 4 +- .../RenderGraphResourceRegistry.cs | 34 +------ .../OpaqueAtmosphericScattering.shader | 2 - .../AmbientOcclusion.RenderGraph.cs | 16 ++-- .../ScreenSpaceLighting/AmbientOcclusion.cs | 15 ++- .../Shadow/HDShadowManager.RenderGraph.cs | 4 +- .../HDRenderPipeline.LightLoop.cs | 29 ++++-- .../HDRenderPipeline.Prepass.cs | 20 ++-- .../HDRenderPipeline.RenderGraph.cs | 96 ++++++++++--------- .../RenderPipeline/HDRenderPipeline.cs | 8 +- .../Runtime/Sky/SkyManager.cs | 9 +- 12 files changed, 128 insertions(+), 133 deletions(-) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs index 0d05b85aff6..6cd96a853f2 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraph.cs @@ -54,7 +54,6 @@ class RenderGraphDebugParams public bool tagResourceNamesWithRG; public bool clearRenderTargetsAtCreation; public bool clearRenderTargetsAtRelease; - public bool unbindGlobalTextures; public bool logFrameInformation; public bool logResources; @@ -64,7 +63,6 @@ public void RegisterDebug() list.Add(new DebugUI.BoolField { displayName = "Tag Resources with RG", getter = () => tagResourceNamesWithRG, setter = value => tagResourceNamesWithRG = value }); list.Add(new DebugUI.BoolField { displayName = "Clear Render Targets at creation", getter = () => clearRenderTargetsAtCreation, setter = value => clearRenderTargetsAtCreation = value }); list.Add(new DebugUI.BoolField { displayName = "Clear Render Targets at release", getter = () => clearRenderTargetsAtRelease, setter = value => clearRenderTargetsAtRelease = value }); - list.Add(new DebugUI.BoolField { displayName = "Unbind Global Textures", getter = () => unbindGlobalTextures, setter = value => unbindGlobalTextures = value }); list.Add(new DebugUI.Button { displayName = "Log Frame Information", action = () => logFrameInformation = true }); list.Add(new DebugUI.Button { displayName = "Log Resources", action = () => logResources = true }); @@ -267,11 +265,10 @@ public void PurgeUnusedResources() /// Any pass writing to an imported texture will be considered having side effects and can't be automatically pruned. /// /// External RTHandle that needs to be imported. - /// Optional property that allows you to specify a Shader property name to use for automatic resource binding. /// A new TextureHandle. - public TextureHandle ImportTexture(RTHandle rt, int shaderProperty = 0) + public TextureHandle ImportTexture(RTHandle rt) { - return m_Resources.ImportTexture(rt, shaderProperty); + return m_Resources.ImportTexture(rt); } /// @@ -288,22 +285,20 @@ public TextureHandle ImportBackbuffer(RenderTargetIdentifier rt) /// Create a new Render Graph Texture resource. /// /// Texture descriptor. - /// Optional property that allows you to specify a Shader property name to use for automatic resource binding. /// A new TextureHandle. - public TextureHandle CreateTexture(in TextureDesc desc, int shaderProperty = 0) + public TextureHandle CreateTexture(in TextureDesc desc) { - return m_Resources.CreateTexture(desc, shaderProperty); + return m_Resources.CreateTexture(desc); } /// /// Create a new Render Graph Texture resource using the descriptor from another texture. /// /// Texture from which the descriptor should be used. - /// Optional property that allows you to specify a Shader property name to use for automatic resource binding. /// A new TextureHandle. - public TextureHandle CreateTexture(TextureHandle texture, int shaderProperty = 0) + public TextureHandle CreateTexture(TextureHandle texture) { - return m_Resources.CreateTexture(m_Resources.GetTextureResourceDesc(texture.handle), shaderProperty); + return m_Resources.CreateTexture(m_Resources.GetTextureResourceDesc(texture.handle)); } /// @@ -899,10 +894,6 @@ void PreRenderPassExecute(in CompiledPassInfo passInfo, RenderGraphContext rgCon // TODO RENDERGRAPH merge clear and setup here if possible RenderGraphPass pass = passInfo.pass; - // TODO RENDERGRAPH remove this when we do away with auto global texture setup - // (can't put it in the profiling scope otherwise it might be executed on compute queue which is not possible for global sets) - m_Resources.PreRenderPassSetGlobalTextures(rgContext, pass.resourceReadLists[(int)RenderGraphResourceType.Texture]); - foreach (var texture in passInfo.resourceCreateList[(int)RenderGraphResourceType.Texture]) m_Resources.CreateAndClearTexture(rgContext, texture); @@ -944,9 +935,6 @@ void PostRenderPassExecute(CommandBuffer mainCmd, ref CompiledPassInfo passInfo, rgContext.cmd = mainCmd; // Restore the main command buffer. } - if (m_DebugParameters.unbindGlobalTextures) - m_Resources.PostRenderPassUnbindGlobalTextures(rgContext, pass.resourceReadLists[(int)RenderGraphResourceType.Texture]); - m_RenderGraphPool.ReleaseAllTempAlloc(); foreach (var texture in passInfo.resourceReleaseList[(int)RenderGraphResourceType.Texture]) diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs index 4b93e5392ac..0633c1a92cd 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphBuilder.cs @@ -73,7 +73,7 @@ public TextureHandle WriteTexture(in TextureHandle input) /// A new transient TextureHandle. public TextureHandle CreateTransientTexture(in TextureDesc desc) { - var result = m_Resources.CreateTexture(desc, 0, m_RenderPass.index); + var result = m_Resources.CreateTexture(desc, m_RenderPass.index); m_RenderPass.AddTransientResource(result.handle); return result; } @@ -87,7 +87,7 @@ public TextureHandle CreateTransientTexture(in TextureDesc desc) public TextureHandle CreateTransientTexture(in TextureHandle texture) { var desc = m_Resources.GetTextureResourceDesc(texture.handle); - var result = m_Resources.CreateTexture(desc, 0, m_RenderPass.index); + var result = m_Resources.CreateTexture(desc, m_RenderPass.index); m_RenderPass.AddTransientResource(result.handle); return result; } diff --git a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs index 8847f3825d3..2de34972e8a 100644 --- a/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs +++ b/com.unity.render-pipelines.core/Runtime/RenderGraph/RenderGraphResourceRegistry.cs @@ -33,7 +33,6 @@ class IRenderGraphResource { public bool imported; public int cachedHash; - public int shaderProperty; public int transientPassIndex; public bool wasReleased; @@ -41,7 +40,6 @@ public virtual void Reset() { imported = false; cachedHash = -1; - shaderProperty = 0; transientPassIndex = -1; wasReleased = false; } @@ -209,12 +207,11 @@ internal int GetResourceTransientIndex(in ResourceHandle res) } // Texture Creation/Import APIs are internal because creation should only go through RenderGraph - internal TextureHandle ImportTexture(RTHandle rt, int shaderProperty = 0) + internal TextureHandle ImportTexture(RTHandle rt) { int newHandle = AddNewResource(m_Resources[(int)RenderGraphResourceType.Texture], out TextureResource texResource); texResource.resource = rt; texResource.imported = true; - texResource.shaderProperty = shaderProperty; return new TextureHandle(newHandle); } @@ -246,13 +243,12 @@ internal TextureHandle ImportBackbuffer(RenderTargetIdentifier rt) return result; } - internal TextureHandle CreateTexture(in TextureDesc desc, int shaderProperty = 0, int transientPassIndex = -1) + internal TextureHandle CreateTexture(in TextureDesc desc, int transientPassIndex = -1) { ValidateTextureDesc(desc); int newHandle = AddNewResource(m_Resources[(int)RenderGraphResourceType.Texture], out TextureResource texResource); texResource.desc = desc; - texResource.shaderProperty = shaderProperty; texResource.transientPassIndex = transientPassIndex; return new TextureHandle(newHandle); } @@ -408,32 +404,6 @@ internal void CreateComputeBuffer(RenderGraphContext rgContext, int index) } } - void SetGlobalTextures(RenderGraphContext rgContext, List textures, bool bindDummyTexture) - { - foreach (var resource in textures) - { - var resourceDesc = GetTextureResource(resource); - if (resourceDesc.shaderProperty != 0) - { - if (resourceDesc.resource != null) - { - rgContext.cmd.SetGlobalTexture(resourceDesc.shaderProperty, bindDummyTexture ? TextureXR.GetMagentaTexture() : resourceDesc.resource); - } - } - } - } - - - internal void PreRenderPassSetGlobalTextures(RenderGraphContext rgContext, List textures) - { - SetGlobalTextures(rgContext, textures, false); - } - - internal void PostRenderPassUnbindGlobalTextures(RenderGraphContext rgContext, List textures) - { - SetGlobalTextures(rgContext, textures, true); - } - internal void ReleaseTexture(RenderGraphContext rgContext, int index) { var resource = m_Resources[(int)RenderGraphResourceType.Texture][index] as TextureResource; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/OpaqueAtmosphericScattering.shader b/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/OpaqueAtmosphericScattering.shader index eb004e6f66f..28dd942da11 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/OpaqueAtmosphericScattering.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/AtmosphericScattering/OpaqueAtmosphericScattering.shader @@ -63,7 +63,6 @@ Shader "Hidden/HDRP/OpaqueAtmosphericScattering" float2 positionSS = input.positionCS.xy; float3 V = GetSkyViewDirWS(positionSS); float depth = LoadCameraDepth(positionSS); - float3 surfColor = LOAD_TEXTURE2D_X(_ColorTexture, (int2)positionSS).rgb; float3 volColor, volOpacity; AtmosphericScatteringCompute(input, V, depth, volColor, volOpacity); @@ -77,7 +76,6 @@ Shader "Hidden/HDRP/OpaqueAtmosphericScattering" float2 positionSS = input.positionCS.xy; float3 V = GetSkyViewDirWS(positionSS); float depth = LOAD_TEXTURE2D_X_MSAA(_DepthTextureMS, (int2)positionSS, sampleIndex).x; - float3 surfColor = LOAD_TEXTURE2D_X_MSAA(_ColorTextureMS, (int2)positionSS, sampleIndex).rgb; float3 volColor, volOpacity; AtmosphericScatteringCompute(input, V, depth, volColor, volOpacity); 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 51dc68f4f0f..31a19c957b1 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 @@ -7,7 +7,7 @@ partial class AmbientOcclusionSystem { TextureHandle CreateAmbientOcclusionTexture(RenderGraph renderGraph) { - return renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) { enableRandomWrite = true, colorFormat = GraphicsFormat.R8_UNorm, name = "Ambient Occlusion" }, HDShaderIDs._AmbientOcclusionTexture); + return renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) { enableRandomWrite = true, colorFormat = GraphicsFormat.R8_UNorm, name = "Ambient Occlusion" }); } public TextureHandle Render(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle depthPyramid, TextureHandle normalBuffer, TextureHandle motionVectors, int frameCount, in HDUtils.PackedMipChainInfo depthMipInfo) @@ -33,12 +33,12 @@ public TextureHandle Render(RenderGraph renderGraph, HDCamera hdCamera, TextureH var aoParameters = PrepareRenderAOParameters(hdCamera, historySize * rtScaleForHistory, frameCount, depthMipInfo); var packedData = RenderAO(renderGraph, aoParameters, depthPyramid, normalBuffer); - result = DenoiseAO(renderGraph, aoParameters, motionVectors, packedData, currentHistory, outputHistory); + result = DenoiseAO(renderGraph, aoParameters, depthPyramid, motionVectors, packedData, currentHistory, outputHistory); } } else { - result = renderGraph.ImportTexture(TextureXR.GetBlackTexture(), HDShaderIDs._AmbientOcclusionTexture); + result = renderGraph.ImportTexture(TextureXR.GetBlackTexture()); } return result; } @@ -88,6 +88,7 @@ class DenoiseAOPassData TextureHandle DenoiseAO( RenderGraph renderGraph, in RenderAOParameters parameters, + TextureHandle depthTexture, TextureHandle motionVectors, TextureHandle aoPackedData, TextureHandle currentHistory, @@ -129,6 +130,7 @@ TextureHandle DenoiseAO( RenderGraph renderGraph, data.packedDataBlurred, data.currentHistory, data.outputHistory, + data.motionVectors, data.denoiseOutput, ctx.cmd); }); @@ -137,17 +139,18 @@ TextureHandle DenoiseAO( RenderGraph renderGraph, return passData.denoiseOutput; } - return UpsampleAO(renderGraph, parameters, denoiseOutput); + return UpsampleAO(renderGraph, parameters, denoiseOutput, depthTexture); } class UpsampleAOPassData { public RenderAOParameters parameters; + public TextureHandle depthTexture; public TextureHandle input; public TextureHandle output; } - TextureHandle UpsampleAO(RenderGraph renderGraph, in RenderAOParameters parameters, TextureHandle input) + TextureHandle UpsampleAO(RenderGraph renderGraph, in RenderAOParameters parameters, TextureHandle input, TextureHandle depthTexture) { using (var builder = renderGraph.AddRenderPass("Upsample GTAO", out var passData, ProfilingSampler.Get(HDProfileId.UpSampleSSAO))) { @@ -155,12 +158,13 @@ TextureHandle UpsampleAO(RenderGraph renderGraph, in RenderAOParameters paramete passData.parameters = parameters; passData.input = builder.ReadTexture(input); + passData.depthTexture = builder.ReadTexture(depthTexture); passData.output = builder.WriteTexture(CreateAmbientOcclusionTexture(renderGraph)); builder.SetRenderFunc( (UpsampleAOPassData data, RenderGraphContext ctx) => { - UpsampleAO(data.parameters, data.input, data.output, ctx.cmd); + UpsampleAO(data.parameters, data.depthTexture, data.input, data.output, ctx.cmd); }); return passData.output; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs index c0f3f1cca03..8e8a6cd763f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/AmbientOcclusion.cs @@ -299,7 +299,7 @@ internal void InitRaytracing(HDRenderPipeline renderPipeline) internal bool IsActive(HDCamera camera, AmbientOcclusion settings) => camera.frameSettings.IsEnabled(FrameSettingsField.SSAO) && settings.intensity.value > 0f; - internal void Render(CommandBuffer cmd, HDCamera camera, ScriptableRenderContext renderContext, RTHandle depthTexture, RTHandle normalBuffer, in ShaderVariablesRaytracing globalRTCB, int frameCount) + internal void Render(CommandBuffer cmd, HDCamera camera, ScriptableRenderContext renderContext, RTHandle depthTexture, RTHandle normalBuffer, RTHandle motionVectors, in ShaderVariablesRaytracing globalRTCB, int frameCount) { var settings = camera.volumeStack.GetComponent(); @@ -314,7 +314,7 @@ internal void Render(CommandBuffer cmd, HDCamera camera, ScriptableRenderContext m_RaytracingAmbientOcclusion.RenderAO(camera, cmd, m_AmbientOcclusionTex, globalRTCB, renderContext, frameCount); else { - Dispatch(cmd, camera, depthTexture, normalBuffer, frameCount); + Dispatch(cmd, camera, depthTexture, normalBuffer, motionVectors, frameCount); PostDispatchWork(cmd, camera); } } @@ -516,6 +516,7 @@ static void DenoiseAO( in RenderAOParameters parameters, RTHandle packedDataBlurredTex, RTHandle packedHistoryTex, RTHandle packedHistoryOutputTex, + RTHandle motionVectors, RTHandle aoOutputTex, CommandBuffer cmd) { @@ -560,12 +561,14 @@ static void DenoiseAO( in RenderAOParameters parameters, cmd.SetComputeTextureParam(blurCS, parameters.denoiseKernelTemporal, HDShaderIDs._AOPackedBlurred, packedDataBlurredTex); cmd.SetComputeTextureParam(blurCS, parameters.denoiseKernelTemporal, HDShaderIDs._AOPackedHistory, packedHistoryTex); cmd.SetComputeTextureParam(blurCS, parameters.denoiseKernelTemporal, HDShaderIDs._AOOutputHistory, packedHistoryOutputTex); + cmd.SetComputeTextureParam(blurCS, parameters.denoiseKernelTemporal, HDShaderIDs._CameraMotionVectorsTexture, motionVectors); cmd.SetComputeTextureParam(blurCS, parameters.denoiseKernelTemporal, HDShaderIDs._OcclusionTexture, aoOutputTex); cmd.DispatchCompute(blurCS, parameters.denoiseKernelTemporal, threadGroupX, threadGroupY, parameters.viewCount); } } static void UpsampleAO( in RenderAOParameters parameters, + RTHandle depthTexture, RTHandle input, RTHandle output, CommandBuffer cmd) @@ -578,6 +581,7 @@ static void UpsampleAO( in RenderAOParameters parameters, { cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAndBlurKernel, HDShaderIDs._AOPackedData, input); cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAndBlurKernel, HDShaderIDs._OcclusionTexture, output); + cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAndBlurKernel, HDShaderIDs._CameraDepthTexture, depthTexture); const int groupSizeX = 8; const int groupSizeY = 8; @@ -590,6 +594,7 @@ static void UpsampleAO( in RenderAOParameters parameters, { cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAOKernel, HDShaderIDs._AOPackedData, input); cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAOKernel, HDShaderIDs._OcclusionTexture, output); + cmd.SetComputeTextureParam(parameters.upsampleAndBlurAOCS, parameters.upsampleAOKernel, HDShaderIDs._CameraDepthTexture, depthTexture); const int groupSizeX = 8; const int groupSizeY = 8; @@ -599,7 +604,7 @@ static void UpsampleAO( in RenderAOParameters parameters, } } - internal void Dispatch(CommandBuffer cmd, HDCamera camera, RTHandle depthTexture, RTHandle normalBuffer, int frameCount) + internal void Dispatch(CommandBuffer cmd, HDCamera camera, RTHandle depthTexture, RTHandle normalBuffer, RTHandle motionVectors, int frameCount) { var settings = camera.volumeStack.GetComponent(); if (IsActive(camera, settings)) @@ -625,14 +630,14 @@ internal void Dispatch(CommandBuffer cmd, HDCamera camera, RTHandle depthTexture using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.DenoiseSSAO))) { var output = m_RunningFullRes ? m_AmbientOcclusionTex : m_FinalHalfRes; - DenoiseAO(aoParameters, m_PackedDataTex, m_PackedDataBlurred, currentHistory, historyOutput, output, cmd); + DenoiseAO(aoParameters, m_PackedDataTex, m_PackedDataBlurred, currentHistory, historyOutput, motionVectors, output, cmd); } if (!m_RunningFullRes) { using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.UpSampleSSAO))) { - UpsampleAO(aoParameters, settings.temporalAccumulation.value ? m_FinalHalfRes : m_PackedDataTex, m_AmbientOcclusionTex, cmd); + UpsampleAO(aoParameters, depthTexture, settings.temporalAccumulation.value ? m_FinalHalfRes : m_PackedDataTex, m_AmbientOcclusionTex, cmd); } } } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs index c0ae47a28b5..c22bc4b2499 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/HDShadowManager.RenderGraph.cs @@ -100,10 +100,10 @@ class RenderShadowsPassData public ShadowDrawingSettings shadowDrawSettings; } - TextureHandle AllocateMomentAtlas(RenderGraph renderGraph, string name, int shaderID = 0) + TextureHandle AllocateMomentAtlas(RenderGraph renderGraph, string name) { return renderGraph.CreateTexture(new TextureDesc(width / 2, height / 2) - { colorFormat = GraphicsFormat.R32G32_SFloat, useMipMap = true, autoGenerateMips = false, name = name, enableRandomWrite = true }, shaderID); + { colorFormat = GraphicsFormat.R32G32_SFloat, useMipMap = true, autoGenerateMips = false, name = name, enableRandomWrite = true }); } internal TextureHandle RenderShadows(RenderGraph renderGraph, CullingResults cullResults, in ShaderVariablesGlobal globalCB, FrameSettings frameSettings, string shadowPassName) 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 82fa896ae5b..a0ea0620acb 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 @@ -10,8 +10,11 @@ public partial class HDRenderPipeline { struct LightingBuffers { + // TODO RENDERGRAPH: Those two buffers aren't really lighting buffers but only used for SSS + // We should probably move them out of here. public TextureHandle sssBuffer; public TextureHandle diffuseLightingBuffer; + public TextureHandle ambientOcclusionBuffer; public TextureHandle ssrLightingBuffer; public TextureHandle contactShadowsBuffer; @@ -28,6 +31,13 @@ static LightingBuffers ReadLightingBuffers(in LightingBuffers buffers, RenderGra return result; } + static void BindGlobalLightingBuffers(in LightingBuffers buffers, CommandBuffer cmd) + { + cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, buffers.ambientOcclusionBuffer); + cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, buffers.ssrLightingBuffer); + cmd.SetGlobalTexture(HDShaderIDs._ContactShadowTexture, buffers.contactShadowsBuffer); + } + class BuildGPULightListPassData { public BuildGPULightListParameters buildGPULightListParameters; @@ -251,6 +261,7 @@ class DeferredLightingPassData public int gbufferCount; public int lightLayersTextureIndex; + public int shadowMaskTextureIndex; public TextureHandle[] gbuffer = new TextureHandle[8]; public ComputeBufferHandle lightListBuffer; @@ -301,6 +312,7 @@ LightingOutput RenderDeferredLighting( RenderGraph renderGraph, passData.lightingBuffers = ReadLightingBuffers(lightingBuffers, builder); passData.lightLayersTextureIndex = gbuffer.lightLayersTextureIndex; + passData.shadowMaskTextureIndex = gbuffer.shadowMaskTextureIndex; passData.gbufferCount = gbuffer.gBufferCount; for (int i = 0; i < gbuffer.gBufferCount; ++i) passData.gbuffer[i] = builder.ReadTexture(gbuffer.mrt[i]); @@ -343,11 +355,14 @@ LightingOutput RenderDeferredLighting( RenderGraph renderGraph, else context.cmd.SetGlobalTexture(HDShaderIDs._LightLayersTexture, TextureXR.GetWhiteTexture()); + if (data.shadowMaskTextureIndex != -1) + context.cmd.SetGlobalTexture(HDShaderIDs._ShadowMaskTexture, data.gbuffer[data.shadowMaskTextureIndex]); + else + context.cmd.SetGlobalTexture(HDShaderIDs._ShadowMaskTexture, TextureXR.GetWhiteTexture()); + // TODO RENDERGRAPH: Remove these SetGlobal and properly send these textures to the deferred passes and bind them directly to compute shaders. // This can wait that we remove the old code path. - context.cmd.SetGlobalTexture(HDShaderIDs._AmbientOcclusionTexture, data.lightingBuffers.ambientOcclusionBuffer); - context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, data.lightingBuffers.ssrLightingBuffer); - context.cmd.SetGlobalTexture(HDShaderIDs._ContactShadowTexture, data.lightingBuffers.contactShadowsBuffer); + BindGlobalLightingBuffers(data.lightingBuffers, context.cmd); if (data.parameters.enableTile) { @@ -432,7 +447,7 @@ TextureHandle RenderSSR( RenderGraph renderGraph, passData.hitPointsTexture = builder.CreateTransientTexture(new TextureDesc(Vector2.one, true, true) { colorFormat = GraphicsFormat.R16G16_UNorm, clearBuffer = true, clearColor = Color.clear, enableRandomWrite = true, name = "SSR_Hit_Point_Texture" }); passData.lightingTexture = builder.WriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = GraphicsFormat.R16G16B16A16_SFloat, clearBuffer = true, clearColor = Color.clear, enableRandomWrite = true, name = "SSR_Lighting_Texture" }, HDShaderIDs._SsrLightingTexture)); + { colorFormat = GraphicsFormat.R16G16B16A16_SFloat, clearBuffer = true, clearColor = Color.clear, enableRandomWrite = true, name = "SSR_Lighting_Texture" })); //passData.hitPointsTexture = builder.WriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) // { colorFormat = GraphicsFormat.ARGBFloat, clearBuffer = true, clearColor = Color.clear, enableRandomWrite = true, name = "SSR_Debug_Texture" })); @@ -479,7 +494,7 @@ class RenderContactShadowPassData TextureHandle RenderContactShadows(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle depthTexture, in BuildGPULightListOutput lightLists, int firstMipOffsetY) { if (!WillRenderContactShadow()) - return renderGraph.ImportTexture(TextureXR.GetClearTexture(), HDShaderIDs._ContactShadowTexture); + return renderGraph.defaultResources.clearTextureXR; TextureHandle result; using (var builder = renderGraph.AddRenderPass("Contact Shadows", out var passData)) @@ -494,7 +509,7 @@ TextureHandle RenderContactShadows(RenderGraph renderGraph, HDCamera hdCamera, T passData.lightList = builder.ReadComputeBuffer(lightLists.lightList); passData.depthTexture = builder.ReadTexture(depthTexture); passData.contactShadowsTexture = builder.WriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = GraphicsFormat.R32_UInt, enableRandomWrite = true, clearBuffer = clearBuffer, clearColor = Color.clear, name = "ContactShadowsBuffer" }, HDShaderIDs._ContactShadowTexture)); + { colorFormat = GraphicsFormat.R32_UInt, enableRandomWrite = true, clearBuffer = clearBuffer, clearColor = Color.clear, name = "ContactShadowsBuffer" })); result = passData.contactShadowsTexture; @@ -589,7 +604,7 @@ TextureHandle VolumetricLightingPass(RenderGraph renderGraph, HDCamera hdCamera, Vector3Int viewportSize = ComputeVolumetricViewportSize(hdCamera, ref tileSize); // TODO RENDERGRAPH: Auto-scale of 3D RTs is not supported yet so we need to find a better solution for this. Or keep it as is? - passData.lightingBuffer = builder.WriteTexture(renderGraph.ImportTexture(m_LightingBuffer, HDShaderIDs._VBufferLighting)); + passData.lightingBuffer = builder.WriteTexture(renderGraph.ImportTexture(m_LightingBuffer)); if (passData.parameters.enableReprojection) { 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 5a6d58332b7..402c2be2dbf 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 @@ -97,7 +97,7 @@ TextureHandle CreateNormalBuffer(RenderGraph renderGraph, bool msaa) { TextureDesc normalDesc = new TextureDesc(Vector2.one, true, true) { colorFormat = GraphicsFormat.R8G8B8A8_UNorm, clearBuffer = NeedClearGBuffer(), clearColor = Color.black, bindTextureMS = msaa, enableMSAA = msaa, enableRandomWrite = !msaa, name = msaa ? "NormalBufferMSAA" : "NormalBuffer" }; - return renderGraph.CreateTexture(normalDesc, msaa ? HDShaderIDs._NormalTextureMS : HDShaderIDs._NormalBufferTexture); + return renderGraph.CreateTexture(normalDesc); } TextureHandle CreateDecalPrepassBuffer(RenderGraph renderGraph, bool msaa) @@ -111,7 +111,7 @@ TextureHandle CreateMotionVectorBuffer(RenderGraph renderGraph, bool msaa, bool { TextureDesc motionVectorDesc = new TextureDesc(Vector2.one, true, true) { colorFormat = Builtin.GetMotionVectorFormat(), bindTextureMS = msaa, enableMSAA = msaa, clearBuffer = clear, clearColor = Color.clear, name = msaa ? "Motion Vectors MSAA" : "Motion Vectors" }; - return renderGraph.CreateTexture(motionVectorDesc, HDShaderIDs._CameraMotionVectorsTexture); + return renderGraph.CreateTexture(motionVectorDesc); } // TODO RENDERGRAPH: in someplaces we auto bind and in others we have to generate MRT because of discrepancy with non render graph path. @@ -288,7 +288,7 @@ bool RenderDepthPrepass(RenderGraph renderGraph, CullingResults cull, HDCamera h if (msaa) { passData.depthAsColorBuffer = builder.WriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = GraphicsFormat.R32_SFloat, clearBuffer = true, clearColor = Color.black, bindTextureMS = true, enableMSAA = true, name = "DepthAsColorMSAA" }, HDShaderIDs._DepthTextureMS)); + { colorFormat = GraphicsFormat.R32_SFloat, clearBuffer = true, clearColor = Color.black, bindTextureMS = true, enableMSAA = true, name = "DepthAsColorMSAA" })); } if (passData.hasDepthDeferredPass) @@ -404,6 +404,7 @@ struct GBufferOutput public TextureHandle[] mrt; public int gBufferCount; public int lightLayersTextureIndex; + public int shadowMaskTextureIndex; } void SetupGBufferTargets(RenderGraph renderGraph, HDCamera hdCamera, GBufferPassData passData, TextureHandle sssBuffer, ref PrepassOutput prepassOutput, FrameSettings frameSettings, RenderGraphBuilder builder) @@ -430,27 +431,28 @@ void SetupGBufferTargets(RenderGraph renderGraph, HDCamera hdCamera, GBufferPass #if UNITY_2020_2_OR_NEWER , fastMemoryDesc = gbufferFastMemDesc #endif - }, HDShaderIDs._GBufferTexture[2]), 2); + }), 2); passData.gbufferRT[3] = builder.UseColorBuffer(renderGraph.CreateTexture( new TextureDesc(Vector2.one, true, true) { colorFormat = Builtin.GetLightingBufferFormat(), clearBuffer = clearGBuffer, clearColor = Color.clear, name = "GBuffer3" #if UNITY_2020_2_OR_NEWER , fastMemoryDesc = gbufferFastMemDesc #endif - }, HDShaderIDs._GBufferTexture[3]), 3); + }), 3); prepassOutput.gbuffer.lightLayersTextureIndex = -1; + prepassOutput.gbuffer.shadowMaskTextureIndex = -1; int currentIndex = 4; if (lightLayers) { passData.gbufferRT[currentIndex] = builder.UseColorBuffer(renderGraph.CreateTexture( - new TextureDesc(Vector2.one, true, true) { colorFormat = GraphicsFormat.R8G8B8A8_UNorm, clearBuffer = clearGBuffer, clearColor = Color.clear, name = "LightLayers" }, HDShaderIDs._LightLayersTexture), currentIndex); + new TextureDesc(Vector2.one, true, true) { colorFormat = GraphicsFormat.R8G8B8A8_UNorm, clearBuffer = clearGBuffer, clearColor = Color.clear, name = "LightLayers" }), currentIndex); prepassOutput.gbuffer.lightLayersTextureIndex = currentIndex++; } if (shadowMasks) { passData.gbufferRT[currentIndex] = builder.UseColorBuffer(renderGraph.CreateTexture( - new TextureDesc(Vector2.one, true, true) { colorFormat = Builtin.GetShadowMaskBufferFormat(), clearBuffer = clearGBuffer, clearColor = Color.clear, name = "ShadowMasks" }, HDShaderIDs._ShadowMaskTexture), currentIndex); - currentIndex++; + new TextureDesc(Vector2.one, true, true) { colorFormat = Builtin.GetShadowMaskBufferFormat(), clearBuffer = clearGBuffer, clearColor = Color.clear, name = "ShadowMasks" }), currentIndex); + prepassOutput.gbuffer.shadowMaskTextureIndex = currentIndex++; } prepassOutput.gbuffer.gBufferCount = currentIndex; @@ -603,7 +605,7 @@ void CopyDepthBufferIfNeeded(RenderGraph renderGraph, HDCamera hdCamera, ref Pre using (var builder = renderGraph.AddRenderPass("Copy depth buffer", out var passData, ProfilingSampler.Get(HDProfileId.CopyDepthBuffer))) { passData.inputDepth = builder.ReadTexture(output.resolvedDepthBuffer); - passData.outputDepth = builder.WriteTexture(renderGraph.CreateTexture(m_DepthPyramidDesc, HDShaderIDs._CameraDepthTexture)); + passData.outputDepth = builder.WriteTexture(renderGraph.CreateTexture(m_DepthPyramidDesc)); passData.GPUCopy = m_GPUCopy; passData.width = hdCamera.actualWidth; passData.height = hdCamera.actualHeight; 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 4cff68277ba..3fca931cd83 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 @@ -34,7 +34,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, TextureHandle backBuffer = m_RenderGraph.ImportBackbuffer(target.id); TextureHandle colorBuffer = CreateColorBuffer(m_RenderGraph, hdCamera, msaa); m_NonMSAAColorBuffer = CreateColorBuffer(m_RenderGraph, hdCamera, false); - TextureHandle currentColorPyramid = m_RenderGraph.ImportTexture(hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.ColorBufferMipChain), HDShaderIDs._ColorPyramidTexture); + TextureHandle currentColorPyramid = m_RenderGraph.ImportTexture(hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.ColorBufferMipChain)); LightingBuffers lightingBuffers = new LightingBuffers(); lightingBuffers.diffuseLightingBuffer = CreateDiffuseLightingBuffer(m_RenderGraph, msaa); @@ -168,7 +168,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, RenderForwardEmissive(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, cullingResults); - RenderSky(m_RenderGraph, hdCamera, colorBuffer, volumetricLighting, prepassOutput.depthBuffer, prepassOutput.depthPyramidTexture); + RenderSky(m_RenderGraph, hdCamera, colorBuffer, volumetricLighting, prepassOutput.depthBuffer, msaa ? prepassOutput.depthAsColor : prepassOutput.depthPyramidTexture); // Send all the geometry graphics buffer to client systems if required (must be done after the pyramid and before the transparent depth pre-pass) SendGeometryGraphicsBuffers(m_RenderGraph, prepassOutput.normalBuffer, prepassOutput.depthPyramidTexture, hdCamera); @@ -179,7 +179,7 @@ void ExecuteWithRenderGraph( RenderRequest renderRequest, // No need for old stencil values here since from transparent on different features are tagged ClearStencilBuffer(m_RenderGraph, colorBuffer, prepassOutput.depthBuffer); - colorBuffer = RenderTransparency(m_RenderGraph, hdCamera, colorBuffer, currentColorPyramid, gpuLightListOutput, ref prepassOutput, shadowResult, cullingResults, customPassCullingResults, aovRequest, aovBuffers); + colorBuffer = RenderTransparency(m_RenderGraph, hdCamera, colorBuffer, currentColorPyramid, volumetricLighting, gpuLightListOutput, ref prepassOutput, shadowResult, cullingResults, customPassCullingResults, aovRequest, aovBuffers); if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.TransparentsWriteMotionVector)) { @@ -397,26 +397,36 @@ class ForwardPassData public TextureHandle[] renderTarget = new TextureHandle[3]; public int renderTargetCount; public TextureHandle depthBuffer; - public TextureHandle ssrLlightingBuffer; public ComputeBufferHandle lightListBuffer; public ComputeBufferHandle perVoxelOffset; public ComputeBufferHandle perTileLogBaseTweak; public FrameSettings frameSettings; - public bool decalsEnabled; - public bool renderMotionVecForTransparent; - public DBufferOutput? dbuffer; } - void PrepareForwardPassData(RenderGraph renderGraph, - RenderGraphBuilder builder, - ForwardPassData data, - bool opaque, - FrameSettings frameSettings, - RendererListDesc rendererListDesc, - in BuildGPULightListOutput lightLists, - TextureHandle depthBuffer, - ShadowResult shadowResult, - DBufferOutput? dbuffer = null) + class ForwardOpaquePassData : ForwardPassData + { + public DBufferOutput dbuffer; + public LightingBuffers lightingBuffers; + } + + class ForwardTransparentPassData : ForwardPassData + { + public bool decalsEnabled; + public bool renderMotionVecForTransparent; + public TextureHandle transparentSSRLighting; + public TextureHandle volumetricLighting; + + } + + void PrepareCommonForwardPassData( RenderGraph renderGraph, + RenderGraphBuilder builder, + ForwardPassData data, + bool opaque, + FrameSettings frameSettings, + RendererListDesc rendererListDesc, + in BuildGPULightListOutput lightLists, + TextureHandle depthBuffer, + ShadowResult shadowResult) { bool useFptl = frameSettings.IsEnabled(FrameSettingsField.FPTLForForwardOpaque) && opaque; @@ -430,14 +440,8 @@ void PrepareForwardPassData(RenderGraph renderGraph, } data.depthBuffer = builder.UseDepthBuffer(depthBuffer, DepthAccess.ReadWrite); data.rendererList = builder.UseRendererList(renderGraph.CreateRendererList(rendererListDesc)); - // enable d-buffer flag value is being interpreted more like enable decals in general now that we have clustered - // decal datas count is 0 if no decals affect transparency - data.decalsEnabled = (frameSettings.IsEnabled(FrameSettingsField.Decals)) && (DecalSystem.m_DecalDatasCount > 0); - data.renderMotionVecForTransparent = NeedMotionVectorForTransparent(frameSettings); HDShadowManager.ReadShadowResult(shadowResult, builder); - if (dbuffer != null) - data.dbuffer = ReadDBuffer(dbuffer.Value, builder); } // Guidelines: In deferred by default there is no opaque in forward. However it is possible to force an opaque material to render in forward @@ -458,11 +462,11 @@ void RenderForwardOpaque( RenderGraph renderGraph, { bool debugDisplay = m_CurrentDebugDisplaySettings.IsDebugDisplayEnabled(); - using (var builder = renderGraph.AddRenderPass( debugDisplay ? "Forward Opaque Debug" : "Forward Opaque", + using (var builder = renderGraph.AddRenderPass( debugDisplay ? "Forward Opaque Debug" : "Forward Opaque", out var passData, debugDisplay ? ProfilingSampler.Get(HDProfileId.ForwardOpaqueDebug) : ProfilingSampler.Get(HDProfileId.ForwardOpaque))) { - PrepareForwardPassData(renderGraph, builder, passData, true, hdCamera.frameSettings, PrepareForwardOpaqueRendererList(cullResults, hdCamera), lightLists, depthBuffer, shadowResult, dbuffer); + PrepareCommonForwardPassData(renderGraph, builder, passData, true, hdCamera.frameSettings, PrepareForwardOpaqueRendererList(cullResults, hdCamera), lightLists, depthBuffer, shadowResult); // In case of forward SSS we will bind all the required target. It is up to the shader to write into it or not. if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.SubsurfaceScattering)) @@ -478,18 +482,19 @@ void RenderForwardOpaque( RenderGraph renderGraph, passData.renderTargetCount = 1; } - ReadLightingBuffers(lightingBuffers, builder); + passData.dbuffer = ReadDBuffer(dbuffer, builder); + passData.lightingBuffers = ReadLightingBuffers(lightingBuffers, builder); builder.SetRenderFunc( - (ForwardPassData data, RenderGraphContext context) => + (ForwardOpaquePassData data, RenderGraphContext context) => { // TODO RENDERGRAPH: replace with UseColorBuffer when removing old rendering (SetRenderTarget is called inside RenderForwardRendererList because of that). var mrt = context.renderGraphPool.GetTempArray(data.renderTargetCount); for (int i = 0; i < data.renderTargetCount; ++i) mrt[i] = data.renderTarget[i]; - if (data.dbuffer != null) - BindDBufferGlobalData(data.dbuffer.Value, context); + BindDBufferGlobalData(data.dbuffer, context); + BindGlobalLightingBuffers(data.lightingBuffers, context.cmd); RenderForwardRendererList(data.frameSettings, data.rendererList, mrt, data.depthBuffer, data.lightListBuffer, true, context.renderContext, context.cmd); }); @@ -501,6 +506,7 @@ void RenderForwardTransparent( RenderGraph renderGraph, TextureHandle colorBuffer, TextureHandle motionVectorBuffer, TextureHandle depthBuffer, + TextureHandle volumetricLighting, TextureHandle ssrLighting, TextureHandle? colorPyramid, in BuildGPULightListOutput lightLists, @@ -526,18 +532,20 @@ void RenderForwardTransparent( RenderGraph renderGraph, profilingId = preRefractionPass ? HDProfileId.ForwardPreRefraction : HDProfileId.ForwardTransparent; } - using (var builder = renderGraph.AddRenderPass(passName, out var passData, ProfilingSampler.Get(profilingId))) + using (var builder = renderGraph.AddRenderPass(passName, out var passData, ProfilingSampler.Get(profilingId))) { - PrepareForwardPassData(renderGraph, builder, passData, false, hdCamera.frameSettings, PrepareForwardTransparentRendererList(cullResults, hdCamera, preRefractionPass), lightLists, depthBuffer, shadowResult); - - passData.ssrLlightingBuffer = builder.ReadTexture(ssrLighting); - - bool renderMotionVecForTransparent = NeedMotionVectorForTransparent(hdCamera.frameSettings); + PrepareCommonForwardPassData(renderGraph, builder, passData, false, hdCamera.frameSettings, PrepareForwardTransparentRendererList(cullResults, hdCamera, preRefractionPass), lightLists, depthBuffer, shadowResult); + // enable d-buffer flag value is being interpreted more like enable decals in general now that we have clustered + // decal datas count is 0 if no decals affect transparency + passData.decalsEnabled = (hdCamera.frameSettings.IsEnabled(FrameSettingsField.Decals)) && (DecalSystem.m_DecalDatasCount > 0); + passData.renderMotionVecForTransparent = NeedMotionVectorForTransparent(hdCamera.frameSettings); + passData.volumetricLighting = builder.ReadTexture(volumetricLighting); + passData.transparentSSRLighting = builder.ReadTexture(ssrLighting); passData.renderTargetCount = 2; passData.renderTarget[0] = builder.WriteTexture(colorBuffer); - if (renderMotionVecForTransparent) + if (passData.renderMotionVecForTransparent) { passData.renderTarget[1] = builder.WriteTexture(motionVectorBuffer); } @@ -555,7 +563,7 @@ void RenderForwardTransparent( RenderGraph renderGraph, } builder.SetRenderFunc( - (ForwardPassData data, RenderGraphContext context) => + (ForwardTransparentPassData data, RenderGraphContext context) => { // TODO: replace with UseColorBuffer when removing old rendering. var mrt = context.renderGraphPool.GetTempArray(data.renderTargetCount); @@ -569,7 +577,8 @@ void RenderForwardTransparent( RenderGraph renderGraph, context.cmd.SetGlobalBuffer(HDShaderIDs.g_vLayeredOffsetsBuffer, data.perVoxelOffset); context.cmd.SetGlobalBuffer(HDShaderIDs.g_logBaseBuffer, data.perTileLogBaseTweak); - context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, data.ssrLlightingBuffer); + context.cmd.SetGlobalTexture(HDShaderIDs._SsrLightingTexture, data.transparentSSRLighting); + context.cmd.SetGlobalTexture(HDShaderIDs._VBufferLighting, data.volumetricLighting); RenderForwardRendererList( data.frameSettings, data.rendererList, mrt, data.depthBuffer, data.lightListBuffer, false, context.renderContext, context.cmd); }); @@ -738,6 +747,7 @@ TextureHandle RenderTransparency( RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colorBuffer, TextureHandle currentColorPyramid, + TextureHandle volumetricLighting, in BuildGPULightListOutput lightLists, ref PrepassOutput prepassOutput, ShadowResult shadowResult, @@ -760,7 +770,7 @@ TextureHandle RenderTransparency( RenderGraph renderGraph, RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, prepassOutput.normalBuffer, customPassCullingResults, CustomPassInjectionPoint.BeforePreRefraction, aovRequest, aovBuffers); // Render pre-refraction objects - RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, prepassOutput.motionVectorsBuffer, prepassOutput.depthBuffer, ssrLightingBuffer, null, lightLists, shadowResult, cullingResults, true); + RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, prepassOutput.motionVectorsBuffer, prepassOutput.depthBuffer, volumetricLighting, ssrLightingBuffer, null, lightLists, shadowResult, cullingResults, true); if (hdCamera.frameSettings.IsEnabled(FrameSettingsField.Refraction)) { @@ -772,7 +782,7 @@ TextureHandle RenderTransparency( RenderGraph renderGraph, RenderCustomPass(m_RenderGraph, hdCamera, colorBuffer, prepassOutput.depthBuffer, prepassOutput.normalBuffer, customPassCullingResults, CustomPassInjectionPoint.BeforeTransparent, aovRequest, aovBuffers); // Render all type of transparent forward (unlit, lit, complex (hair...)) to keep the sorting between transparent objects. - RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, prepassOutput.motionVectorsBuffer, prepassOutput.depthBuffer, ssrLightingBuffer, currentColorPyramid, lightLists, shadowResult, cullingResults, false); + RenderForwardTransparent(renderGraph, hdCamera, colorBuffer, prepassOutput.motionVectorsBuffer, prepassOutput.depthBuffer, volumetricLighting, ssrLightingBuffer, currentColorPyramid, lightLists, shadowResult, cullingResults, false); colorBuffer = ResolveMSAAColor(renderGraph, hdCamera, colorBuffer, m_NonMSAAColorBuffer); @@ -966,6 +976,7 @@ class RenderSkyPassData public HDCamera hdCamera; public TextureHandle volumetricLighting; public TextureHandle colorBuffer; + public TextureHandle depthTexture; public TextureHandle depthStencilBuffer; public TextureHandle intermediateBuffer; public DebugDisplaySettings debugDisplaySettings; @@ -987,14 +998,13 @@ void RenderSky(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colorBu passData.hdCamera = hdCamera; passData.volumetricLighting = builder.ReadTexture(volumetricLighting); passData.colorBuffer = builder.WriteTexture(colorBuffer); + passData.depthTexture = builder.WriteTexture(depthTexture); passData.depthStencilBuffer = builder.WriteTexture(depthStencilBuffer); passData.intermediateBuffer = builder.CreateTransientTexture(colorBuffer); passData.debugDisplaySettings = m_CurrentDebugDisplaySettings; passData.skyManager = m_SkyManager; passData.frameCount = m_FrameCount; - builder.ReadTexture(depthTexture); - builder.SetRenderFunc( (RenderSkyPassData data, RenderGraphContext context) => { @@ -1006,7 +1016,7 @@ void RenderSky(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle colorBu if (Fog.IsFogEnabled(data.hdCamera) || Fog.IsPBRFogEnabled(data.hdCamera)) { var pixelCoordToViewDirWS = data.hdCamera.mainViewConstants.pixelCoordToViewDirWS; - data.skyManager.RenderOpaqueAtmosphericScattering(context.cmd, data.hdCamera, data.colorBuffer, data.volumetricLighting, data.intermediateBuffer, data.depthStencilBuffer, pixelCoordToViewDirWS, data.hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); + data.skyManager.RenderOpaqueAtmosphericScattering(context.cmd, data.hdCamera, data.colorBuffer, data.depthTexture, data.volumetricLighting, data.intermediateBuffer, data.depthStencilBuffer, pixelCoordToViewDirWS, data.hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); } }); } 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 1bf6d41933b..fc95a564c36 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -2625,12 +2625,13 @@ void Callback(CommandBuffer c, HDGPUAsyncTaskParams a) { var depthTexture = m_SharedRTManager.GetDepthTexture(); var normalBuffer = m_SharedRTManager.GetNormalBuffer(); + var motionVectors = m_SharedRTManager.GetMotionVectorsBuffer(); SSAOTask.Start(cmd, asyncParams, AsyncSSAODispatch, !haveAsyncTaskWithShadows); haveAsyncTaskWithShadows = true; void AsyncSSAODispatch(CommandBuffer c, HDGPUAsyncTaskParams a) - => m_AmbientOcclusionSystem.Dispatch(c, a.hdCamera, depthTexture, normalBuffer, a.frameCount); + => m_AmbientOcclusionSystem.Dispatch(c, a.hdCamera, depthTexture, normalBuffer, motionVectors, a.frameCount); } using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.RenderShadowMaps))) @@ -2694,7 +2695,7 @@ void Callback(CommandBuffer c, HDCamera cam) } if (!hdCamera.frameSettings.SSAORunsAsync()) - m_AmbientOcclusionSystem.Render(cmd, hdCamera, renderContext, m_SharedRTManager.GetDepthTexture(), m_SharedRTManager.GetNormalBuffer(), m_ShaderVariablesRayTracingCB, m_FrameCount); + m_AmbientOcclusionSystem.Render(cmd, hdCamera, renderContext, m_SharedRTManager.GetDepthTexture(), m_SharedRTManager.GetNormalBuffer(), m_SharedRTManager.GetMotionVectorsBuffer(), m_ShaderVariablesRayTracingCB, m_FrameCount); // Run the contact shadows here as they need the light list HDUtils.CheckRTCreated(m_ContactShadowBuffer); @@ -4123,7 +4124,7 @@ void RenderSky(HDCamera hdCamera, CommandBuffer cmd) if (Fog.IsFogEnabled(hdCamera) || Fog.IsPBRFogEnabled(hdCamera)) { var pixelCoordToViewDirWS = hdCamera.mainViewConstants.pixelCoordToViewDirWS; - m_SkyManager.RenderOpaqueAtmosphericScattering(cmd, hdCamera, colorBuffer, m_LightingBuffer, intermediateBuffer, depthBuffer, pixelCoordToViewDirWS, hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); + m_SkyManager.RenderOpaqueAtmosphericScattering(cmd, hdCamera, colorBuffer, m_SharedRTManager.GetDepthTexture(msaaEnabled), m_LightingBuffer, intermediateBuffer, depthBuffer, pixelCoordToViewDirWS, hdCamera.frameSettings.IsEnabled(FrameSettingsField.MSAA)); } } @@ -4633,6 +4634,7 @@ static void RenderSSR( in RenderSSRParameters parameters, cmd.SetComputeTextureParam(cs, parameters.reprojectionKernel, HDShaderIDs._ColorPyramidTexture, previousColorPyramid); cmd.SetComputeTextureParam(cs, parameters.reprojectionKernel, HDShaderIDs._SsrClearCoatMaskTexture, clearCoatMask); cmd.SetComputeTextureParam(cs, parameters.reprojectionKernel, HDShaderIDs._CameraMotionVectorsTexture, motionVectorsBuffer); + cmd.SetComputeTextureParam(cs, parameters.reprojectionKernel, HDShaderIDs._NormalBufferTexture, normalBuffer); ConstantBuffer.Push(cmd, parameters.cb, cs, HDShaderIDs._ShaderVariablesScreenSpaceReflection); 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 a68ed110d27..fd153c0fb7e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -932,6 +932,7 @@ public void RenderSky(HDCamera hdCamera, Light sunLight, RTHandle colorBuffer, R public void RenderOpaqueAtmosphericScattering(CommandBuffer cmd, HDCamera hdCamera, RTHandle colorBuffer, + RTHandle depthTexture, RTHandle volumetricLighting, RTHandle intermediateBuffer, RTHandle depthBuffer, @@ -940,16 +941,16 @@ public void RenderOpaqueAtmosphericScattering(CommandBuffer cmd, HDCamera hdCame using (new ProfilingScope(m_BuiltinParameters.commandBuffer, ProfilingSampler.Get(HDProfileId.OpaqueAtmosphericScattering))) { m_OpaqueAtmScatteringBlock.SetMatrix(HDShaderIDs._PixelCoordToViewDirWS, pixelCoordToViewDirWS); - if (isMSAA) - m_OpaqueAtmScatteringBlock.SetTexture(HDShaderIDs._ColorTextureMS, colorBuffer); - else - m_OpaqueAtmScatteringBlock.SetTexture(HDShaderIDs._ColorTexture, colorBuffer); + m_OpaqueAtmScatteringBlock.SetTexture(isMSAA ? HDShaderIDs._DepthTextureMS : HDShaderIDs._CameraDepthTexture, depthTexture); + // The texture can be null when volumetrics are disabled. if (volumetricLighting != null) m_OpaqueAtmScatteringBlock.SetTexture(HDShaderIDs._VBufferLighting, volumetricLighting); if (Fog.IsPBRFogEnabled(hdCamera)) { + m_OpaqueAtmScatteringBlock.SetTexture(isMSAA? HDShaderIDs._ColorTextureMS : HDShaderIDs._ColorTexture, colorBuffer); + // Color -> Intermediate. HDUtils.DrawFullScreen(cmd, m_OpaqueAtmScatteringMaterial, intermediateBuffer, depthBuffer, m_OpaqueAtmScatteringBlock, isMSAA ? 3 : 2); // Intermediate -> Color. From e0b6ffc73edd5a4471220d74266f3c727b13a719 Mon Sep 17 00:00:00 2001 From: skhiat <55133890+skhiat@users.noreply.github.com> Date: Fri, 10 Jul 2020 15:50:46 +0200 Subject: [PATCH 22/35] Hdrp/atlas cube modif (#1235) * Remove the usage of Point Cube Size parameter. * Add change log --- .../CHANGELOG.md | 1 + .../RenderPipeline/HDRenderPipelineUI.Skin.cs | 3 +++ .../RenderPipeline/HDRenderPipelineUI.cs | 3 +++ .../SerializedGlobalLightLoopSettings.cs | 6 +++++ .../Runtime/Lighting/LightCookieManager.cs | 24 ++++++++++++++++--- .../LightLoop/GlobalLightLoopSettings.cs | 3 +++ 6 files changed, 37 insertions(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 3d491d4abcc..996b1d5d1fc 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -886,6 +886,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - PBR Sky now doesn't go black when going below sea level, but it instead freezes calculation as if on the horizon. - Fixed an issue with quality setting foldouts not opening when clicking on them (1253088). - Shutter speed can now be changed by dragging the mouse over the UI label (case 1245007). +- Remove the 'Point Cube Size' for cookie, use the Cubemap size directly. ## [7.1.1] - 2019-09-05 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 50418520794..5cbdefb0ea0 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 @@ -138,7 +138,10 @@ public class GeneralSection public static readonly GUIContent cookieSizeContent = EditorGUIUtility.TrTextContent("Cookie Size", "Specifies the maximum size for the individual 2D cookies that HDRP uses for Directional and Spot Lights."); public static readonly GUIContent cookieTextureArraySizeContent = EditorGUIUtility.TrTextContent("Texture Array Size", "Sets the maximum Texture Array size for the 2D cookies HDRP uses for Directional and Spot Lights. Higher values allow HDRP to use more cookies concurrently on screen."); +#if UNITY_2020_1_OR_NEWER +#else 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."); 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 d6cc7c9766b..f5f7250977e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -242,7 +242,10 @@ static void Drawer_SectionCookies(SerializedHDRenderPipelineAsset serialized, Ed if (EditorGUI.EndChangeCheck()) serialized.renderPipelineSettings.lightLoopSettings.cookieAtlasLastValidMip.intValue = Mathf.Clamp(serialized.renderPipelineSettings.lightLoopSettings.cookieAtlasLastValidMip.intValue, 0, Texture2DAtlas.maxMipLevelPadding); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.lightLoopSettings.cookieFormat, Styles.cookieAtlasFormatContent); +#if UNITY_2020_1_OR_NEWER +#else EditorGUILayout.PropertyField(serialized.renderPipelineSettings.lightLoopSettings.pointCookieSize, Styles.pointCoockieSizeContent); +#endif EditorGUI.BeginChangeCheck(); } diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs index 344000baf94..28ac5734030 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedGlobalLightLoopSettings.cs @@ -10,7 +10,10 @@ class SerializedGlobalLightLoopSettings public SerializedProperty cookieAtlasSize; public SerializedProperty cookieFormat; public SerializedProperty cookieAtlasLastValidMip; +#if UNITY_2020_1_OR_NEWER +#else public SerializedProperty pointCookieSize; +#endif public SerializedProperty reflectionProbeCacheSize; public SerializedProperty reflectionCubemapSize; public SerializedProperty reflectionCacheCompressed; @@ -32,7 +35,10 @@ public SerializedGlobalLightLoopSettings(SerializedProperty root) cookieAtlasSize = root.Find((GlobalLightLoopSettings s) => s.cookieAtlasSize); cookieFormat = root.Find((GlobalLightLoopSettings s) => s.cookieFormat); cookieAtlasLastValidMip = root.Find((GlobalLightLoopSettings s) => s.cookieAtlasLastValidMip); +#if UNITY_2020_1_OR_NEWER +#else pointCookieSize = root.Find((GlobalLightLoopSettings s) => s.pointCookieSize); +#endif reflectionProbeCacheSize = root.Find((GlobalLightLoopSettings s) => s.reflectionProbeCacheSize); reflectionCubemapSize = root.Find((GlobalLightLoopSettings s) => s.reflectionCubemapSize); 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 5832815bcf2..6ec4c4c7bb4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightCookieManager.cs @@ -36,7 +36,10 @@ class LightCookieManager // Structure for cookies used by directional and spotlights PowerOfTwoTextureAtlas m_CookieAtlas; +#if UNITY_2020_1_OR_NEWER +#else int m_CookieCubeResolution; +#endif // During the light loop, when reserving space for the cookies (first part of the light loop) the atlas // can run out of space, in this case, we set to true this flag which will trigger a re-layouting of the @@ -64,7 +67,10 @@ public LightCookieManager(HDRenderPipelineAsset hdAsset, int maxCacheSize) m_CookieAtlas = new PowerOfTwoTextureAtlas(cookieAtlasSize, gLightLoopSettings.cookieAtlasLastValidMip, cookieFormat, name: "Cookie Atlas (Punctual Lights)", useMipMap: true); +#if UNITY_2020_1_OR_NEWER +#else m_CookieCubeResolution = (int)gLightLoopSettings.pointCookieSize; +#endif } public void NewFrame() @@ -303,7 +309,11 @@ public Vector4 FetchAreaCookie(CommandBuffer cmd, Texture cookie, Texture ies) if (width < k_MinCookieSize || height < k_MinCookieSize) return Vector4.zero; - int projectionSize = 2*(int)Mathf.Max((float)m_CookieCubeResolution, Mathf.Max((float)cookie.width, (float)ies.width)); +#if UNITY_2020_1_OR_NEWER + int projectionSize = 2 * (int)Mathf.Max((float)cookie.width, (float)ies.width); +#else + int projectionSize = 2 * (int)Mathf.Max((float)m_CookieCubeResolution, Mathf.Max((float)cookie.width, (float)ies.width)); +#endif if (!m_CookieAtlas.IsCached(out var scaleBias, cookie, ies) && !m_NoMoreSpace) Debug.LogError($"Area Light cookie texture {cookie} & {ies} can't be fetched without having reserved. You can try to increase the cookie atlas resolution in the HDRP settings."); @@ -386,7 +396,11 @@ public Vector4 FetchCubeCookie(CommandBuffer cmd, Texture cookie) Debug.Assert(cookie != null); Debug.Assert(cookie.dimension == TextureDimension.Cube); - int projectionSize = 2*(int)Mathf.Max((float)m_CookieCubeResolution, (float)cookie.width); +#if UNITY_2020_1_OR_NEWER + int projectionSize = 2 * cookie.width; +#else + int projectionSize = 2 * (int)Mathf.Max((float)m_CookieCubeResolution, (float)cookie.width); +#endif if (projectionSize < k_MinCookieSize) return Vector4.zero; @@ -411,7 +425,11 @@ public Vector4 FetchCubeCookie(CommandBuffer cmd, Texture cookie, Texture ies) Debug.Assert(cookie.dimension == TextureDimension.Cube); Debug.Assert(ies.dimension == TextureDimension.Cube); - int projectionSize = 2*(int)Mathf.Max((float)m_CookieCubeResolution, (float)cookie.width); +#if UNITY_2020_1_OR_NEWER + int projectionSize = 2 * cookie.width; +#else + int projectionSize = 2 * (int)Mathf.Max((float)m_CookieCubeResolution, (float)cookie.width); +#endif if (projectionSize < k_MinCookieSize) return Vector4.zero; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs index 39522c8fa87..a644fae0248 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/GlobalLightLoopSettings.cs @@ -141,8 +141,11 @@ public struct GlobalLightLoopSettings public CookieAtlasResolution cookieAtlasSize; /// Cookie atlas graphics format. public CookieAtlasGraphicsFormat cookieFormat; +#if UNITY_2020_1_OR_NEWER +#else /// Cookie atlas resolution for point lights. public CubeCookieResolution pointCookieSize; +#endif /// Last valid mip for cookie atlas. public int cookieAtlasLastValidMip; // We keep this property for the migration code (we need to know how many cookies we could have before). From 19abaa0183f72e55997f726d5f4e0e46d154e383 Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Fri, 10 Jul 2020 16:38:36 +0200 Subject: [PATCH 23/35] Hdrp/pt sss diff mix (#1224) * Fixed robustness issue with GetOddNegativeScale() in ray tracing. * Updated changelog. * Added fogbugz case id in changelog. * Mofified way diffuse and SSS are mixed in path tracing. * Fixed issue with spec balance. * Updated Changelog. * Updated ref image for test 5007. --- .../5007_PathTracing_Materials_SG_Lit.png | 4 ++-- .../CHANGELOG.md | 1 + .../Runtime/Material/Lit/LitPathTracing.hlsl | 24 +++++++++---------- .../PathTracing/Shaders/PathTracingBSDF.hlsl | 24 +++++++++++++++---- 4 files changed, 33 insertions(+), 20 deletions(-) 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 3ab8e3d69dc..2f222184692 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:c5b765dace74f6bdd1005f95800e3f7680f3c8c3b6f50936da14f2c5d41f146d -size 509269 +oid sha256:111ddeed9399678e4d5816f4a49ff792d79b121b9e6abe7f17e47c37e3e8c0d1 +size 512669 diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 996b1d5d1fc..0a8ea9c7ea8 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -726,6 +726,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed robustness issue with GetOddNegativeScale() in ray tracing, which was impacting normal mapping (1261160). - Fixed regression where moving face of the probe gizmo was not moving its position anymore. - Fixed XR single-pass macros in tessellation shaders. +- Fixed path-traced subsurface scattering mixing with diffuse and specular BRDFs (1250601). ### Changed - Improve MIP selection for decals on Transparents 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 b10668cf278..3ec50c5253f 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 @@ -118,7 +118,7 @@ bool CreateMaterialData(PathIntersection pathIntersection, BuiltinData builtinDa // Otherwise, we just compute BSDFs as usual mtlData.subsurfaceWeightFactor = 1.0 - subsurfaceWeight; - mtlData.bsdfWeight[0] -= subsurfaceWeight; + mtlData.bsdfWeight[0] = max(mtlData.bsdfWeight[0] - subsurfaceWeight, BSDF_WEIGHT_EPSILON); mtlData.bsdfWeight /= mtlData.subsurfaceWeightFactor; sample -= subsurfaceWeight; @@ -147,8 +147,7 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD if (!BRDF::SampleLambert(mtlData, inputSample, sampleDir, result.diffValue, result.diffPdf)) return false; - result.diffValue *= mtlData.bsdfData.ambientOcclusion * mtlData.bsdfData.subsurfaceMask * (1.0 - mtlData.bsdfData.transmittanceMask); - result.diffPdf *= mtlData.subsurfaceWeightFactor; + result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.transmittanceMask); return true; } @@ -175,7 +174,7 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD result.specPdf += mtlData.bsdfWeight[1] * pdf; } - result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.subsurfaceMask) * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); + result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); if (mtlData.bsdfWeight[2] > BSDF_WEIGHT_EPSILON) { @@ -196,7 +195,7 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) { BRDF::EvaluateDiffuse(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.subsurfaceMask) * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); + result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); result.diffPdf *= mtlData.bsdfWeight[0]; } @@ -226,7 +225,7 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) { BRDF::EvaluateDiffuse(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.subsurfaceMask) * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); + result.diffValue *= mtlData.bsdfData.ambientOcclusion * (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); result.diffPdf *= mtlData.bsdfWeight[0]; } } @@ -248,8 +247,8 @@ bool SampleMaterial(MaterialData mtlData, float3 inputSample, out float3 sampleD #endif #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING - result.diffPdf *= mtlData.subsurfaceWeightFactor; - result.specPdf *= mtlData.subsurfaceWeightFactor; + // We compensate for the fact that there is no spec when computing SSS + result.specValue /= mtlData.subsurfaceWeightFactor; #endif } else // Below @@ -295,8 +294,7 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult if (mtlData.isSubsurface) { BRDF::EvaluateLambert(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffValue *= mtlData.bsdfData.subsurfaceMask * (1.0 - mtlData.bsdfData.transmittanceMask); // AO purposedly ignored here - result.diffPdf *= mtlData.subsurfaceWeightFactor; + result.diffValue *= 1.0 - mtlData.bsdfData.transmittanceMask; // AO purposedly ignored here return; } @@ -319,7 +317,7 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult if (mtlData.bsdfWeight[0] > BSDF_WEIGHT_EPSILON) { BRDF::EvaluateDiffuse(mtlData, sampleDir, result.diffValue, result.diffPdf); - result.diffValue *= (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - mtlData.bsdfData.subsurfaceMask) * (1.0 - fresnelClearCoat); // AO purposedly ignored here + result.diffValue *= (1.0 - mtlData.bsdfData.transmittanceMask) * (1.0 - fresnelClearCoat); // AO purposedly ignored here result.diffPdf *= mtlData.bsdfWeight[0]; } @@ -331,8 +329,8 @@ void EvaluateMaterial(MaterialData mtlData, float3 sampleDir, out MaterialResult } #ifdef _MATERIAL_FEATURE_SUBSURFACE_SCATTERING - result.diffPdf *= mtlData.subsurfaceWeightFactor; - result.specPdf *= mtlData.subsurfaceWeightFactor; + // We compensate for the fact that there is no spec when computing SSS + result.specValue /= mtlData.subsurfaceWeightFactor; #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 526b983bb9f..a56b52c75bb 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 @@ -478,7 +478,7 @@ bool RandomWalk(float3 position, float3 normal, float3 diffuseColor, float3 mean // Evaluate the length of our steps rayDesc.TMax = -log(1.0 - distSample) / sigmaT[channelIdx]; - // Sample our next sepath segment direction + // Sample our next path segment direction rayDesc.Direction = walkIdx ? SampleSphereUniform(dirSample0, dirSample1) : SampleHemisphereCosine(dirSample0, dirSample1, -normal); @@ -489,7 +489,7 @@ bool RandomWalk(float3 position, float3 normal, float3 diffuseColor, float3 mean TraceRay(_RaytracingAccelerationStructure, RAY_FLAG_FORCE_OPAQUE | RAY_FLAG_CULL_FRONT_FACING_TRIANGLES, RAYTRACINGRENDERERFLAG_PATH_TRACING, 0, 1, 1, rayDesc, intersection); - // Define if we did a hit + // Check if we hit something hit = intersection.t > 0.0; // How much did the ray travel? @@ -513,10 +513,24 @@ bool RandomWalk(float3 position, float3 normal, float3 diffuseColor, float3 mean while (!hit && walkIdx < MAX_WALK_STEPS); // Set the exit intersection position and normal - result.exitPosition = rayDesc.Origin; - result.exitNormal = intersection.value; + if (!hit) + { + result.exitPosition = position; + result.exitNormal = normal; + result.throughput = diffuseColor; + + // By not returning false here, we default to a diffuse BRDF when an intersection is not found; + // this is physically wrong, but may prove more convenient for a user, as results will look + // like diffuse instead of getting slightly darker when the mean free path becomes shorter. + //return false; + } + else + { + result.exitPosition = rayDesc.Origin; + result.exitNormal = intersection.value; + } - return hit; + return true; } } // namespace SSS From 0bba55a4e866b9a5b302e650a0507bfb101034f9 Mon Sep 17 00:00:00 2001 From: Adrien de Tocqueville Date: Fri, 10 Jul 2020 17:34:07 +0000 Subject: [PATCH 24/35] Change Cloud Layer API (#1237) * Change cloud layer API * fix line endings * Change default value --- .../Documentation~/Override-Cloud-Layer.md | 4 +- .../Shader/DefaultCloudLayerShader.shader | 2 + .../Texture/DefaultCloudLayer.asset | 2 +- .../Runtime/Sky/CloudLayer/CloudLayer.cs | 38 ++----------- .../Runtime/Sky/CloudLayer/CloudLayer.hlsl | 56 +++++++++++-------- .../Runtime/Sky/SkyManager.cs | 2 +- .../Runtime/Sky/SkyRenderer.cs | 2 +- 7 files changed, 45 insertions(+), 61 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Cloud-Layer.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Cloud-Layer.md index da9ca42aa1a..a49e92dfa5b 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Cloud-Layer.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Cloud-Layer.md @@ -26,8 +26,8 @@ This example Cloud Map is a read-only **CustomRenderTexture**. This means that, ## Customizing the Cloud Map -The Cloud Map is a 2D texture in LatLong layout (sometimes called Cylindrical or Equirectangular) that contains cloud color in the RGB channel and cloud coverage in the alpha channel. -If **Upper Hemisphere Only** is checked, the map is interpreted as being the upper half of a LatLong texture. +The Cloud Map is a 2D texture in LatLong layout (sometimes called Cylindrical or Equirectangular) that contains cloud opacity in the red channel. +If **Upper Hemisphere Only** is checked, the map is interpreted as being the upper half of a LatLong texture. It means that it will only conver the sky above the horizon. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Shader/DefaultCloudLayerShader.shader b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Shader/DefaultCloudLayerShader.shader index e6ebbeaa8c8..9d27c22d649 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Shader/DefaultCloudLayerShader.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Shader/DefaultCloudLayerShader.shader @@ -18,6 +18,8 @@ Shader "Hidden/DefaultCloudLayer" Pass { + Name "Cloud Map" + CGPROGRAM #include "UnityCustomRenderTexture.cginc" diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Texture/DefaultCloudLayer.asset b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Texture/DefaultCloudLayer.asset index 86fa47e3ea5..90c07aa77cd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Texture/DefaultCloudLayer.asset +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipelineResources/Texture/DefaultCloudLayer.asset @@ -19,7 +19,7 @@ CustomRenderTexture: m_AntiAliasing: 1 m_MipCount: -1 m_DepthFormat: 0 - m_ColorFormat: 8 + m_ColorFormat: 9 m_MipMap: 0 m_GenerateMips: 1 m_SRGB: 0 diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.cs b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.cs index 10815785e6d..31f980f39e1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.cs @@ -43,7 +43,7 @@ public class CloudLayer : VolumeComponent public ClampedFloatParameter scrollDirection = new ClampedFloatParameter(0.0f, 0.0f, 360.0f); /// Speed of the distortion. [Tooltip("Sets the cloud scrolling speed. The higher the value, the faster the clouds will move.")] - public MinFloatParameter scrollSpeed = new MinFloatParameter(2.0f, 0.0f); + public MinFloatParameter scrollSpeed = new MinFloatParameter(1.0f, 0.0f); private float scrollFactor = 0.0f, lastTime = 0.0f; @@ -60,9 +60,6 @@ public class CloudLayer : VolumeComponent /// The shader parameters of the cloud layer. public Vector4 GetParameters() { - scrollFactor += scrollSpeed.value * (Time.time - lastTime) * 0.01f; - lastTime = Time.time; - float rot = -Mathf.Deg2Rad*scrollDirection.value; float upper = upperHemisphereOnly.value ? 1.0f : -1.0f; return new Vector4(upper * (rotation.value / 360.0f + 1), scrollFactor, Mathf.Cos(rot), Mathf.Sin(rot)); @@ -75,6 +72,9 @@ public static void Apply(CloudLayer layer, Material skyMaterial) { if (layer != null && layer.enabled.value == true) { + layer.scrollFactor += layer.scrollSpeed.value * (Time.time - layer.lastTime) * 0.01f; + layer.lastTime = Time.time; + Vector4 cloudParam = layer.GetParameters(); Vector4 cloudParam2 = layer.tint.value; cloudParam2.w = layer.intensityMultiplier.value; @@ -112,33 +112,8 @@ public override int GetHashCode() unchecked { -#if UNITY_2019_3 // In 2019.3, when we call GetHashCode on a VolumeParameter it generate garbage (due to the boxing of the generic parameter) - hash = cloudMap.value != null ? hash * 23 + cloudMap.value.GetHashCode() : hash; - hash = flowmap.value != null ? hash * 23 + flowmap.value.GetHashCode() : hash; - hash = hash * 23 + enabled.value.GetHashCode(); - hash = hash * 23 + upperHemisphereOnly.value.GetHashCode(); - hash = hash * 23 + tint.value.GetHashCode(); - hash = hash * 23 + intensityMultiplier.value.GetHashCode(); - hash = hash * 23 + rotation.value.GetHashCode(); - hash = hash * 23 + enableDistortion.value.GetHashCode(); - hash = hash * 23 + procedural.value.GetHashCode(); - hash = hash * 23 + scrollDirection.value.GetHashCode(); - hash = hash * 23 + scrollSpeed.value.GetHashCode(); - - hash = cloudMap.value != null ? hash * 23 + cloudMap.overrideState.GetHashCode() : hash; - hash = flowmap.value != null ? hash * 23 + flowmap.overrideState.GetHashCode() : hash; - hash = hash * 23 + enabled.overrideState.GetHashCode(); - hash = hash * 23 + upperHemisphereOnly.overrideState.GetHashCode(); - hash = hash * 23 + tint.overrideState.GetHashCode(); - hash = hash * 23 + intensityMultiplier.overrideState.GetHashCode(); - hash = hash * 23 + rotation.overrideState.GetHashCode(); - hash = hash * 23 + enableDistortion.overrideState.GetHashCode(); - hash = hash * 23 + procedural.overrideState.GetHashCode(); - hash = hash * 23 + scrollDirection.overrideState.GetHashCode(); - hash = hash * 23 + scrollSpeed.overrideState.GetHashCode(); -#else - hash = cloudMap.value != null ? hash * 23 + cloudMap.GetHashCode() : hash; - hash = flowmap.value != null ? hash * 23 + flowmap.GetHashCode() : hash; + hash = hash * 23 + cloudMap.GetHashCode(); + hash = hash * 23 + flowmap.GetHashCode(); hash = hash * 23 + enabled.GetHashCode(); hash = hash * 23 + upperHemisphereOnly.GetHashCode(); hash = hash * 23 + tint.GetHashCode(); @@ -148,7 +123,6 @@ public override int GetHashCode() hash = hash * 23 + procedural.GetHashCode(); hash = hash * 23 + scrollDirection.GetHashCode(); hash = hash * 23 + scrollSpeed.GetHashCode(); -#endif } return hash; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.hlsl index e5614ad87d9..67cff3b0161 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/CloudLayer/CloudLayer.hlsl @@ -19,12 +19,13 @@ float4 _CloudParam2; // xyz tint, w intensity #define USE_CLOUD_LAYER defined(USE_CLOUD_MAP) || (!defined(USE_CLOUD_MAP) && defined(USE_CLOUD_MOTION)) -float3 sampleCloud(float3 dir, float3 sky) +float4 sampleCloud(float3 dir) { float2 coords = GetLatLongCoords(dir, _CloudUpperHemisphere); coords.x = frac(coords.x + _CloudRotation); - float4 cloudLayerColor = SAMPLE_TEXTURE2D_LOD(_CloudMap, sampler_CloudMap, coords, 0); - return lerp(sky, sky + cloudLayerColor.rgb * _CloudTint * _CloudIntensity, cloudLayerColor.a); + float4 cloudLayerColor = SAMPLE_TEXTURE2D_LOD(_CloudMap, sampler_CloudMap, coords, 0).r; + cloudLayerColor.rgb *= _CloudTint * _CloudIntensity * cloudLayerColor.a; + return cloudLayerColor; } float3 CloudRotationUp(float3 p, float2 cos_sin) @@ -35,46 +36,53 @@ float3 CloudRotationUp(float3 p, float2 cos_sin) return float3(dot(rotDirX, p), p.y, dot(rotDirY, p)); } -float3 GetDistordedCloudColor(float3 dir, float3 sky) +float4 GetDistordedCloudColor(float3 dir) { #if USE_CLOUD_MOTION - if (dir.y >= 0 || !_CloudUpperHemisphere) - { - float2 alpha = frac(float2(_CloudScrollFactor, _CloudScrollFactor + 0.5)) - 0.5; + float2 alpha = frac(float2(_CloudScrollFactor, _CloudScrollFactor + 0.5)) - 0.5; #ifdef USE_CLOUD_MAP - float3 tangent = normalize(cross(dir, float3(0.0, 1.0, 0.0))); - float3 bitangent = cross(tangent, dir); + float3 tangent = normalize(cross(dir, float3(0.0, 1.0, 0.0))); + float3 bitangent = cross(tangent, dir); - float3 windDir = CloudRotationUp(dir, _CloudScrollDirection); - float2 flow = SAMPLE_TEXTURE2D_LOD(_CloudFlowmap, sampler_CloudFlowmap, GetLatLongCoords(windDir, _CloudUpperHemisphere), 0).rg * 2.0 - 1.0; + float3 windDir = CloudRotationUp(dir, _CloudScrollDirection); + float2 flow = SAMPLE_TEXTURE2D_LOD(_CloudFlowmap, sampler_CloudFlowmap, GetLatLongCoords(windDir, _CloudUpperHemisphere), 0).rg * 2.0 - 1.0; - float3 dd = flow.x * tangent + flow.y * bitangent; + float3 dd = flow.x * tangent + flow.y * bitangent; #else - float3 windDir = CloudRotationUp(float3(0, 0, 1), _CloudScrollDirection); - windDir.x *= -1.0; - float3 dd = windDir*sin(dir.y*PI*0.5); + float3 windDir = CloudRotationUp(float3(0, 0, 1), _CloudScrollDirection); + windDir.x *= -1.0; + float3 dd = windDir*sin(dir.y*PI*0.5); #endif - // Sample twice - float3 color1 = sampleCloud(normalize(dir - alpha.x * dd), sky); - float3 color2 = sampleCloud(normalize(dir - alpha.y * dd), sky); + // Sample twice + float4 color1 = sampleCloud(normalize(dir - alpha.x * dd)); + float4 color2 = sampleCloud(normalize(dir - alpha.y * dd)); - // Blend color samples - sky = lerp(color1, color2, abs(2.0 * alpha.x)); - } - return sky; + // Blend color samples + return lerp(color1, color2, abs(2.0 * alpha.x)); #else - return sampleCloud(dir, sky); + return sampleCloud(dir); #endif } +float GetCloudOpacity(float3 dir) +{ +#if USE_CLOUD_LAYER + if (dir.y >= 0 || !_CloudUpperHemisphere) + return GetDistordedCloudColor(dir).a; + else +#endif + + return 0; +} + float3 ApplyCloudLayer(float3 dir, float3 sky) { #if USE_CLOUD_LAYER if (dir.y >= 0 || !_CloudUpperHemisphere) - sky = GetDistordedCloudColor(dir, sky); + sky += GetDistordedCloudColor(dir).rgb; #endif return sky; 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 fd153c0fb7e..4bd8e47cb1e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyManager.cs @@ -670,7 +670,7 @@ int ComputeSkyHash(HDCamera camera, SkyUpdateContext skyContext, Light sunLight, sunHash = GetSunLightHashCode(sunLight); int cloudHash = 0; - if (skyContext.cloudLayer != null && skyContext.skyRenderer.SupportCloudLayer) + if (skyContext.cloudLayer != null && skyContext.skyRenderer.SupportDynamicCloudLayer) cloudHash = skyContext.cloudLayer.GetHashCode(); // For planar reflections we want to use the parent position for hash. 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 64d226a480b..2449c1b37ed 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Sky/SkyRenderer.cs @@ -10,7 +10,7 @@ public abstract class SkyRenderer /// Determines if the sky should be rendered when the sun light changes. public bool SupportDynamicSunLight = true; /// Determines if the sky should be rendered when the cloud layer changes. - public bool SupportCloudLayer = true; + public bool SupportDynamicCloudLayer = true; /// /// Called on startup. Create resources used by the renderer (shaders, materials, etc). From f1b363e2a6c9bd5d919c9bcb9600d00250fd3b91 Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Fri, 10 Jul 2020 19:44:29 +0200 Subject: [PATCH 25/35] ShaderGraph UI fixes (#1216) * Save foldout state in ShaderGraph * Moved all non-SG properties to the advanced UI block * Reordered advanced properties --- .../Editor/Material/Lit/LitGUI.cs | 2 +- .../ShaderGraph/TargetData/SystemData.cs | 1 + .../UIBlocks/AdvancedOptionsUIBlock.cs | 75 +++++++++++++++++-- .../Material/UIBlocks/ShaderGraphUIBlock.cs | 70 +---------------- 4 files changed, 73 insertions(+), 75 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitGUI.cs index 443503197ce..2cca1543bc5 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitGUI.cs @@ -24,7 +24,7 @@ class LitGUI : HDShaderGUI // We don't want distortion in Lit new TransparencyUIBlock(MaterialUIBlock.Expandable.Transparency, features: TransparencyUIBlock.Features.All & ~TransparencyUIBlock.Features.Distortion), new EmissionUIBlock(MaterialUIBlock.Expandable.Emissive), - new AdvancedOptionsUIBlock(MaterialUIBlock.Expandable.Advance), + new AdvancedOptionsUIBlock(MaterialUIBlock.Expandable.Advance, AdvancedOptionsUIBlock.Features.StandardLit), }; protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs index 54d45df996c..dc6acf729c6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs @@ -141,6 +141,7 @@ public ShaderGraphVersion version set => m_Version = value; } + [SerializeField] internal int inspectorFoldoutMask; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/AdvancedOptionsUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/AdvancedOptionsUIBlock.cs index 490fcbd5bfd..89240962b87 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/AdvancedOptionsUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/AdvancedOptionsUIBlock.cs @@ -1,8 +1,12 @@ using System; +using System.Linq; using System.Collections.Generic; using UnityEngine; using UnityEngine.Rendering.HighDefinition; +// Include material common properties names +using static UnityEngine.Rendering.HighDefinition.HDMaterialProperties; + namespace UnityEditor.Rendering.HighDefinition { class AdvancedOptionsUIBlock : MaterialUIBlock @@ -10,11 +14,15 @@ class AdvancedOptionsUIBlock : MaterialUIBlock [Flags] public enum Features { - None = 0, - Instancing = 1 << 0, - SpecularOcclusion = 1 << 1, + None = 0, + Instancing = 1 << 0, + SpecularOcclusion = 1 << 1, AddPrecomputedVelocity = 1 << 2, - All = ~0 + DoubleSidedGI = 1 << 3, + EmissionGI = 1 << 4, + MotionVector = 1 << 5, + StandardLit = Instancing | SpecularOcclusion | AddPrecomputedVelocity, + All = ~0 } public class Styles @@ -22,7 +30,8 @@ public class Styles public const string header = "Advanced Options"; public static GUIContent specularOcclusionModeText = new GUIContent("Specular Occlusion Mode", "Determines the mode used to compute specular occlusion"); public static GUIContent addPrecomputedVelocityText = new GUIContent("Add Precomputed Velocity", "Requires additional per vertex velocity info"); - + public static readonly GUIContent bakedEmission = new GUIContent("Baked Emission", ""); + public static readonly GUIContent motionVectorForVertexAnimationText = new GUIContent("Motion Vector For Vertex Animation", "When enabled, HDRP will correctly handle velocity for vertex animated object. Only enable if there is vertex animation in the ShaderGraph."); } protected MaterialProperty specularOcclusionMode = null; @@ -71,6 +80,20 @@ void DrawAdvancedOptionsGUI() { if ((m_Features & Features.Instancing) != 0) materialEditor.EnableInstancingField(); + + if ((m_Features & Features.DoubleSidedGI) != 0) + { + // If the shader graph have a double sided flag, then we don't display this field. + // The double sided GI value will be synced with the double sided property during the SetupBaseUnlitKeywords() + if (!materials.All(m => m.HasProperty(kDoubleSidedEnable))) + materialEditor.DoubleSidedGIField(); + } + + if ((m_Features & Features.EmissionGI) != 0) + DrawEmissionGI(); + + if ((m_Features & Features.MotionVector) != 0) + DrawMotionVectorToggle(); if ((m_Features & Features.SpecularOcclusion) != 0) materialEditor.ShaderProperty(specularOcclusionMode, Styles.specularOcclusionModeText); if ((m_Features & Features.AddPrecomputedVelocity) != 0) @@ -79,5 +102,47 @@ void DrawAdvancedOptionsGUI() materialEditor.ShaderProperty(addPrecomputedVelocity, Styles.addPrecomputedVelocityText); } } + + void DrawEmissionGI() + { + EmissionUIBlock.BakedEmissionEnabledProperty(materialEditor); + } + + void DrawMotionVectorToggle() + { + // We have no way to setup motion vector pass to be false by default for a shader graph + // So here we workaround it with materialTag system by checking if a tag exist to know if it is + // the first time we display this information. And thus setup the MotionVector Pass to false. + const string materialTag = "MotionVector"; + + string tag = materials[0].GetTag(materialTag, false, "Nothing"); + if (tag == "Nothing") + { + materials[0].SetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr, false); + materials[0].SetOverrideTag(materialTag, "User"); + } + + //In the case of additional velocity data we will enable the motion vector pass. + bool addPrecomputedVelocity = false; + if (materials[0].HasProperty(kAddPrecomputedVelocity)) + { + addPrecomputedVelocity = materials[0].GetInt(kAddPrecomputedVelocity) != 0; + } + + bool currentMotionVectorState = materials[0].GetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr); + bool enabled = currentMotionVectorState || addPrecomputedVelocity; + + EditorGUI.BeginChangeCheck(); + + using (new EditorGUI.DisabledScope(addPrecomputedVelocity)) + { + enabled = EditorGUILayout.Toggle(Styles.motionVectorForVertexAnimationText, enabled); + } + + if (EditorGUI.EndChangeCheck() || currentMotionVectorState != enabled) + { + materials[0].SetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr, enabled); + } + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/ShaderGraphUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/ShaderGraphUIBlock.cs index 1fa7e03a3e5..151acd1226e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/ShaderGraphUIBlock.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/ShaderGraphUIBlock.cs @@ -15,21 +15,15 @@ class ShaderGraphUIBlock : MaterialUIBlock public enum Features { None = 0, - MotionVector = 1 << 0, - EmissionGI = 1 << 1, DiffusionProfileAsset = 1 << 2, - EnableInstancing = 1 << 3, - DoubleSidedGI = 1 << 4, ShadowMatte = 1 << 5, - Unlit = MotionVector | EmissionGI | ShadowMatte, + Unlit = ShadowMatte, All = ~0, } protected static class Styles { public const string header = "Exposed Properties"; - public static readonly GUIContent bakedEmission = new GUIContent("Baked Emission", ""); - public static readonly GUIContent motionVectorForVertexAnimationText = new GUIContent("Motion Vector For Vertex Animation", "When enabled, HDRP will correctly handle velocity for vertex animated object. Only enable if there is vertex animation in the ShaderGraph."); } Expandable m_ExpandableBit; @@ -106,29 +100,9 @@ void DrawShaderGraphGUI() HDShaderUtils.ResetMaterialKeywords(material); } - if (properties.Length > 0) - EditorGUILayout.Space(); - if ((m_Features & Features.DiffusionProfileAsset) != 0) DrawDiffusionProfileUI(); - if ((m_Features & Features.EnableInstancing) != 0) - materialEditor.EnableInstancingField(); - - if ((m_Features & Features.DoubleSidedGI) != 0) - { - // If the shader graph have a double sided flag, then we don't display this field. - // The double sided GI value will be synced with the double sided property during the SetupBaseUnlitKeywords() - if (!materials.All(m => m.HasProperty(kDoubleSidedEnable))) - materialEditor.DoubleSidedGIField(); - } - - if ((m_Features & Features.EmissionGI) != 0) - DrawEmissionGI(); - - if ((m_Features & Features.MotionVector) != 0) - DrawMotionVectorToggle(); - if ((m_Features & Features.ShadowMatte) != 0 && materials.All(m => m.HasProperty(kShadowMatteFilter))) DrawShadowMatteToggle(); } @@ -147,48 +121,6 @@ void PropertiesDefaultGUI(MaterialProperty[] properties) } } - void DrawEmissionGI() - { - EmissionUIBlock.BakedEmissionEnabledProperty(materialEditor); - } - - void DrawMotionVectorToggle() - { - // We have no way to setup motion vector pass to be false by default for a shader graph - // So here we workaround it with materialTag system by checking if a tag exist to know if it is - // the first time we display this information. And thus setup the MotionVector Pass to false. - const string materialTag = "MotionVector"; - - string tag = materials[0].GetTag(materialTag, false, "Nothing"); - if (tag == "Nothing") - { - materials[0].SetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr, false); - materials[0].SetOverrideTag(materialTag, "User"); - } - - //In the case of additional velocity data we will enable the motion vector pass. - bool addPrecomputedVelocity = false; - if (materials[0].HasProperty(kAddPrecomputedVelocity)) - { - addPrecomputedVelocity = materials[0].GetInt(kAddPrecomputedVelocity) != 0; - } - - bool currentMotionVectorState = materials[0].GetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr); - bool enabled = currentMotionVectorState || addPrecomputedVelocity; - - EditorGUI.BeginChangeCheck(); - - using (new EditorGUI.DisabledScope(addPrecomputedVelocity)) - { - enabled = EditorGUILayout.Toggle(Styles.motionVectorForVertexAnimationText, enabled); - } - - if (EditorGUI.EndChangeCheck() || currentMotionVectorState != enabled) - { - materials[0].SetShaderPassEnabled(HDShaderPassNames.s_MotionVectorsStr, enabled); - } - } - void DrawShadowMatteToggle() { uint exponent = 0b10000000; // 0 as exponent From 9a8d3b148a9364f3404d91fdff06068465b1de4e Mon Sep 17 00:00:00 2001 From: Antoine Lelievre Date: Fri, 10 Jul 2020 19:48:37 +0200 Subject: [PATCH 26/35] Move shadergraph properties (#1214) * Migration code for depth pre/post pass and lod crossfade in shadergraph * Removed log * Added "first time" migration system --- .../Eye/ShaderGraph/EyeSubTarget.Migration.cs | 6 +-- .../ShaderGraph/FabricSubTarget.Migration.cs | 2 +- .../ShaderGraph/HairSubTarget.Migration.cs | 10 ++--- .../ShaderGraph/HDLitSubTarget.Migration.cs | 12 +++--- .../AdvancedOptionsPropertyBlock.cs | 2 +- .../Material/ShaderGraph/HDSubTarget.cs | 16 +++++--- .../ShaderGraph/ShaderGraphVersion.cs | 1 + .../ShaderGraph/SurfaceOptionPropertyBlock.cs | 4 +- .../Material/ShaderGraph/SurfaceSubTarget.cs | 35 +++++++++++++---- .../ShaderGraph/TargetData/BuiltinData.cs | 24 ++++++++++++ .../ShaderGraph/TargetData/SystemData.cs | 38 ++++++++----------- .../StackLitSubTarget.Migration.cs | 2 +- 12 files changed, 98 insertions(+), 54 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs index 581652235c7..6d4ded6341a 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs @@ -27,17 +27,17 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary lightingData.specularOcclusionMode, (newValue) => lightingData.specularOcclusionMode = newValue); AddProperty(Styles.overrideBakedGI, () => lightingData.overrideBakedGI, (newValue) => lightingData.overrideBakedGI = newValue); } - AddProperty(Styles.supportLodCrossFade, () => systemData.supportLodCrossFade, (newValue) => systemData.supportLodCrossFade = newValue); + AddProperty(Styles.supportLodCrossFade, () => builtinData.supportLodCrossFade, (newValue) => builtinData.supportLodCrossFade = newValue); AddProperty(addPrecomputedVelocityText, () => builtinData.addPrecomputedVelocity, (newValue) => builtinData.addPrecomputedVelocity = newValue); } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs index b16eea5f1ca..3664233f5f1 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs @@ -33,12 +33,7 @@ public SystemData systemData set => m_SystemData = value; } - protected virtual int ComputeMaterialNeedsUpdateHash() - { - // Alpha test is currently the only property in system data to trigger the material upgrade script. - int hash = systemData.alphaTest.GetHashCode(); - return hash; - } + protected virtual int ComputeMaterialNeedsUpdateHash() => 0; public override bool IsActive() => true; @@ -97,6 +92,15 @@ public override void Setup(ref TargetSetupContext context) if (migrationSteps.Migrate(this)) OnBeforeSerialize(); + // Migration hack to have the case where SG doesn't have version yet but is already upgraded to the stack system + if (!systemData.firstTimeMigrationExecuted) + { + // Force the initial migration step + MigrateTo(ShaderGraphVersion.FirstTimeMigration); + systemData.firstTimeMigrationExecuted = true; + OnBeforeSerialize(); + } + foreach (var subShader in EnumerateSubShaders()) { // patch render type and render queue from pass declaration: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs index 1864ea0f241..35e55f3d8d6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs @@ -9,5 +9,6 @@ namespace UnityEditor.Rendering.HighDefinition.ShaderGraph public enum ShaderGraphVersion { Initial = 0, + FirstTimeMigration = Initial, } } 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 6070ce58960..b3a8aac07c8 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 @@ -65,8 +65,8 @@ protected override void CreatePropertyGUI() AddProperty(transparentCullModeText, () => systemData.transparentCullMode, (newValue) => systemData.transparentCullMode = newValue); AddProperty(transparentSortPriorityText, () => systemData.sortPriority, (newValue) => systemData.sortPriority = HDRenderQueue.ClampsTransparentRangePriority(newValue)); AddProperty(transparentBackfaceEnableText, () => builtinData.backThenFrontRendering, (newValue) => builtinData.backThenFrontRendering = newValue); - AddProperty(transparentDepthPrepassEnableText, () => systemData.transparentDepthPrepass, (newValue) => systemData.transparentDepthPrepass = newValue); - AddProperty(transparentDepthPostpassEnableText, () => systemData.transparentDepthPostpass, (newValue) => systemData.transparentDepthPostpass = newValue); + AddProperty(transparentDepthPrepassEnableText, () => builtinData.transparentDepthPrepass, (newValue) => builtinData.transparentDepthPrepass = newValue); + AddProperty(transparentDepthPostpassEnableText, () => builtinData.transparentDepthPostpass, (newValue) => builtinData.transparentDepthPostpass = newValue); AddProperty(transparentWritingMotionVecText, () => builtinData.transparentWritesMotionVec, (newValue) => builtinData.transparentWritesMotionVec = newValue); if (lightingData != null) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs index d20a3fd2290..5aa154d37d2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs @@ -42,6 +42,13 @@ protected override string renderQueue protected virtual bool supportDistortion => false; protected override bool supportRaytracing => true; + protected override int ComputeMaterialNeedsUpdateHash() + { + // Alpha test is currently the only property in buitin data to trigger the material upgrade script. + int hash = systemData.alphaTest.GetHashCode(); + return hash; + } + public override void Setup(ref TargetSetupContext context) { context.AddAssetDependencyPath(AssetDatabase.GUIDToAssetPath("f4df7e8f9b8c23648ae50cbca0221e47")); // SurfaceSubTarget.cs @@ -194,15 +201,15 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(HDFields.DoAlphaTestShadow, systemData.alphaTest && builtinData.alphaTestShadow && isShadowPass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow)); // Pre/post pass always use the specific alpha test provided for those pass - context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && systemData.transparentDepthPrepass && isTransparentDepthPrepass && + context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass && isTransparentDepthPrepass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass)); // Features & Misc - context.AddField(Fields.LodCrossFade, systemData.supportLodCrossFade); + context.AddField(Fields.LodCrossFade, builtinData.supportLodCrossFade); context.AddField(Fields.AlphaToMask, systemData.alphaTest); context.AddField(HDFields.TransparentBackFace, builtinData.backThenFrontRendering); - context.AddField(HDFields.TransparentDepthPrePass, systemData.transparentDepthPrepass); - context.AddField(HDFields.TransparentDepthPostPass, systemData.transparentDepthPostpass); + context.AddField(HDFields.TransparentDepthPrePass, builtinData.transparentDepthPrepass); + context.AddField(HDFields.TransparentDepthPostPass, builtinData.transparentDepthPostpass); context.AddField(HDFields.DepthOffset, builtinData.depthOffset && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.DepthOffset)); @@ -239,8 +246,8 @@ public override void GetActiveBlocks(ref TargetActiveBlockContext context) context.AddBlock(BlockFields.SurfaceDescription.AlphaClipThreshold, systemData.alphaTest); // Alpha Test - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && systemData.transparentDepthPrepass); - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && systemData.transparentDepthPostpass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && builtinData.transparentDepthPostpass); context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow, systemData.alphaTest && builtinData.alphaTestShadow); // Misc @@ -306,7 +313,7 @@ public override void CollectShaderProperties(PropertyCollector collector, Genera // Common properties for all "surface" master nodes HDSubShaderUtilities.AddAlphaCutoffShaderProperties(collector, systemData.alphaTest, builtinData.alphaTestShadow); HDSubShaderUtilities.AddDoubleSidedProperty(collector, systemData.doubleSidedMode); - HDSubShaderUtilities.AddPrePostPassProperties(collector, systemData.transparentDepthPrepass, systemData.transparentDepthPostpass); + HDSubShaderUtilities.AddPrePostPassProperties(collector, builtinData.transparentDepthPrepass, builtinData.transparentDepthPostpass); // Add all shader properties required by the inspector HDSubShaderUtilities.AddBlendingStatesShaderProperties( @@ -343,5 +350,19 @@ public override void ProcessPreviewMaterial(Material material) LightingShaderGraphGUI.SetupMaterialKeywordsAndPass(material); } + + internal override void MigrateTo(ShaderGraphVersion version) + { + base.MigrateTo(version); + + if (version == ShaderGraphVersion.FirstTimeMigration) + { +#pragma warning disable 618 + builtinData.transparentDepthPrepass = systemData.m_TransparentDepthPrepass; + builtinData.transparentDepthPostpass = systemData.m_TransparentDepthPostpass; + builtinData.supportLodCrossFade = systemData.m_SupportLodCrossFade; +#pragma warning restore 618 + } + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs index 9631c205651..d6e530607bd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs @@ -85,5 +85,29 @@ public bool backThenFrontRendering get => m_BackThenFrontRendering; set => m_BackThenFrontRendering = value; } + + [SerializeField] + bool m_TransparentDepthPrepass; + public bool transparentDepthPrepass + { + get => m_TransparentDepthPrepass; + set => m_TransparentDepthPrepass = value; + } + + [SerializeField] + bool m_TransparentDepthPostpass; + public bool transparentDepthPostpass + { + get => m_TransparentDepthPostpass; + set => m_TransparentDepthPostpass = value; + } + + [SerializeField] + bool m_SupportLodCrossFade; + public bool supportLodCrossFade + { + get => m_SupportLodCrossFade; + set => m_SupportLodCrossFade = value; + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs index dc6acf729c6..6df41be68da 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs @@ -90,21 +90,14 @@ public bool alphaTest set => m_AlphaTest = value; } - [SerializeField] - bool m_TransparentDepthPrepass; - public bool transparentDepthPrepass - { - get => m_TransparentDepthPrepass; - set => m_TransparentDepthPrepass = value; - } + [SerializeField, Obsolete("Keep for migration")] + internal bool m_TransparentDepthPrepass; - [SerializeField] - bool m_TransparentDepthPostpass; - public bool transparentDepthPostpass - { - get => m_TransparentDepthPostpass; - set => m_TransparentDepthPostpass = value; - } + [SerializeField, Obsolete("Keep for migration")] + internal bool m_TransparentDepthPostpass; + + [SerializeField, Obsolete("Keep for migration")] + internal bool m_SupportLodCrossFade; [SerializeField] DoubleSidedMode m_DoubleSidedMode; @@ -114,14 +107,6 @@ public DoubleSidedMode doubleSidedMode set => m_DoubleSidedMode = value; } - [SerializeField] - bool m_SupportLodCrossFade; - public bool supportLodCrossFade - { - get => m_SupportLodCrossFade; - set => m_SupportLodCrossFade = value; - } - // TODO: This was on HDUnlitMaster but not used anywhere // TODO: On HDLit it adds the field `HDFields.DotsInstancing` // TODO: Should this be added properly to HDUnlit? @@ -141,6 +126,15 @@ public ShaderGraphVersion version set => m_Version = value; } + [SerializeField] + bool m_FirstTimeMigrationExecuted = false; + public bool firstTimeMigrationExecuted + { + get => m_FirstTimeMigrationExecuted; + set => m_FirstTimeMigrationExecuted = value; + } + + [SerializeField] internal int inspectorFoldoutMask; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs index e3beab194e2..cc644d73c9f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs @@ -32,10 +32,10 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary Date: Fri, 10 Jul 2020 19:51:17 +0200 Subject: [PATCH 27/35] Fix custom pass reorder (#1153) * Fixed custom pass re-ordering issues * Updated changelog Co-authored-by: sebastienlagarde --- .../CHANGELOG.md | 1 + .../CustomPass/CustomPassVolumeEditor.cs | 34 ++++++++++++++----- 2 files changed, 26 insertions(+), 9 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 0a8ea9c7ea8..f714d826566 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -727,6 +727,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed regression where moving face of the probe gizmo was not moving its position anymore. - Fixed XR single-pass macros in tessellation shaders. - Fixed path-traced subsurface scattering mixing with diffuse and specular BRDFs (1250601). +- Fixed custom pass re-ordering issues. ### Changed - Improve MIP selection for decals on Transparents 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 19b8e67f528..12936dae009 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 @@ -103,12 +103,12 @@ void DrawMaterialsGUI() m_CustomPassMaterialsHash = materialsHash; } - Dictionary customPassDrawers = new Dictionary(); - CustomPassDrawer GetCustomPassDrawer(SerializedProperty pass, int listIndex) + Dictionary customPassDrawers = new Dictionary(); + CustomPassDrawer GetCustomPassDrawer(SerializedProperty pass, CustomPass reference, int listIndex) { CustomPassDrawer drawer; - if (customPassDrawers.TryGetValue(pass, out drawer)) + if (customPassDrawers.TryGetValue(reference, out drawer)) return drawer; var customPass = m_Volume.customPasses[listIndex]; @@ -132,7 +132,7 @@ CustomPassDrawer GetCustomPassDrawer(SerializedProperty pass, int listIndex) } } - customPassDrawers[pass] = drawer; + customPassDrawers[reference] = drawer; return drawer; } @@ -193,8 +193,9 @@ void CreateReorderableList(SerializedProperty passList) m_CustomPassList.drawElementCallback = (rect, index, active, focused) => { EditorGUI.BeginChangeCheck(); + passList.serializedObject.ApplyModifiedProperties(); var customPass = passList.GetArrayElementAtIndex(index); - var drawer = GetCustomPassDrawer(customPass, index); + var drawer = GetCustomPassDrawer(customPass, m_Volume.customPasses[index], index); if (drawer != null) drawer.OnGUI(rect, customPass, null); else @@ -205,8 +206,9 @@ void CreateReorderableList(SerializedProperty passList) m_CustomPassList.elementHeightCallback = (index) => { + passList.serializedObject.ApplyModifiedProperties(); var customPass = passList.GetArrayElementAtIndex(index); - var drawer = GetCustomPassDrawer(customPass, index); + var drawer = GetCustomPassDrawer(customPass, m_Volume.customPasses[index], index); if (drawer != null) return drawer.GetPropertyHeight(customPass, null); else @@ -223,10 +225,10 @@ void CreateReorderableList(SerializedProperty passList) continue; menu.AddItem(new GUIContent(customPassType.Name), false, () => { - passList.serializedObject.Update(); + passList.serializedObject.ApplyModifiedProperties(); m_Volume.AddPassOfType(customPassType); UpdateMaterialEditors(); - passList.serializedObject.ApplyModifiedProperties(); + passList.serializedObject.Update(); // Notify the prefab that something have changed: PrefabUtility.RecordPrefabInstancePropertyModifications(target); }); @@ -235,11 +237,25 @@ void CreateReorderableList(SerializedProperty passList) }; m_CustomPassList.onRemoveCallback = (list) => { - passList.serializedObject.Update(); + passList.serializedObject.ApplyModifiedProperties(); Undo.RegisterCompleteObjectUndo(target, "Remove custom pass"); m_Volume.customPasses.RemoveAt(list.index); UpdateMaterialEditors(); + passList.serializedObject.Update(); + // Notify the prefab that something have changed: + PrefabUtility.RecordPrefabInstancePropertyModifications(target); + }; + + m_CustomPassList.onReorderCallbackWithDetails = (list, oldIndex, newIndex) => { + customPassDrawers.Clear(); passList.serializedObject.ApplyModifiedProperties(); + Undo.RegisterCompleteObjectUndo(target, "Reorder custom pass"); + + var t = m_Volume.customPasses[oldIndex]; + m_Volume.customPasses[oldIndex] = m_Volume.customPasses[newIndex]; + m_Volume.customPasses[newIndex] = t; + + passList.serializedObject.Update(); // Notify the prefab that something have changed: PrefabUtility.RecordPrefabInstancePropertyModifications(target); }; From 958486dd569042c335a0cd498e837ea289461680 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Jul 2020 21:57:18 +0200 Subject: [PATCH 28/35] Revert "Move shadergraph properties (#1214)" This reverts commit 9a8d3b148a9364f3404d91fdff06068465b1de4e. --- .../Eye/ShaderGraph/EyeSubTarget.Migration.cs | 6 +-- .../ShaderGraph/FabricSubTarget.Migration.cs | 2 +- .../ShaderGraph/HairSubTarget.Migration.cs | 10 ++--- .../ShaderGraph/HDLitSubTarget.Migration.cs | 12 +++--- .../AdvancedOptionsPropertyBlock.cs | 2 +- .../Material/ShaderGraph/HDSubTarget.cs | 16 +++----- .../ShaderGraph/ShaderGraphVersion.cs | 1 - .../ShaderGraph/SurfaceOptionPropertyBlock.cs | 4 +- .../Material/ShaderGraph/SurfaceSubTarget.cs | 35 ++++------------- .../ShaderGraph/TargetData/BuiltinData.cs | 24 ------------ .../ShaderGraph/TargetData/SystemData.cs | 38 +++++++++++-------- .../StackLitSubTarget.Migration.cs | 2 +- 12 files changed, 54 insertions(+), 98 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs index 6d4ded6341a..581652235c7 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs @@ -27,17 +27,17 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary lightingData.specularOcclusionMode, (newValue) => lightingData.specularOcclusionMode = newValue); AddProperty(Styles.overrideBakedGI, () => lightingData.overrideBakedGI, (newValue) => lightingData.overrideBakedGI = newValue); } - AddProperty(Styles.supportLodCrossFade, () => builtinData.supportLodCrossFade, (newValue) => builtinData.supportLodCrossFade = newValue); + AddProperty(Styles.supportLodCrossFade, () => systemData.supportLodCrossFade, (newValue) => systemData.supportLodCrossFade = newValue); AddProperty(addPrecomputedVelocityText, () => builtinData.addPrecomputedVelocity, (newValue) => builtinData.addPrecomputedVelocity = newValue); } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs index 3664233f5f1..b16eea5f1ca 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs @@ -33,7 +33,12 @@ public SystemData systemData set => m_SystemData = value; } - protected virtual int ComputeMaterialNeedsUpdateHash() => 0; + protected virtual int ComputeMaterialNeedsUpdateHash() + { + // Alpha test is currently the only property in system data to trigger the material upgrade script. + int hash = systemData.alphaTest.GetHashCode(); + return hash; + } public override bool IsActive() => true; @@ -92,15 +97,6 @@ public override void Setup(ref TargetSetupContext context) if (migrationSteps.Migrate(this)) OnBeforeSerialize(); - // Migration hack to have the case where SG doesn't have version yet but is already upgraded to the stack system - if (!systemData.firstTimeMigrationExecuted) - { - // Force the initial migration step - MigrateTo(ShaderGraphVersion.FirstTimeMigration); - systemData.firstTimeMigrationExecuted = true; - OnBeforeSerialize(); - } - foreach (var subShader in EnumerateSubShaders()) { // patch render type and render queue from pass declaration: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs index 35e55f3d8d6..1864ea0f241 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs @@ -9,6 +9,5 @@ namespace UnityEditor.Rendering.HighDefinition.ShaderGraph public enum ShaderGraphVersion { Initial = 0, - FirstTimeMigration = Initial, } } 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 b3a8aac07c8..6070ce58960 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 @@ -65,8 +65,8 @@ protected override void CreatePropertyGUI() AddProperty(transparentCullModeText, () => systemData.transparentCullMode, (newValue) => systemData.transparentCullMode = newValue); AddProperty(transparentSortPriorityText, () => systemData.sortPriority, (newValue) => systemData.sortPriority = HDRenderQueue.ClampsTransparentRangePriority(newValue)); AddProperty(transparentBackfaceEnableText, () => builtinData.backThenFrontRendering, (newValue) => builtinData.backThenFrontRendering = newValue); - AddProperty(transparentDepthPrepassEnableText, () => builtinData.transparentDepthPrepass, (newValue) => builtinData.transparentDepthPrepass = newValue); - AddProperty(transparentDepthPostpassEnableText, () => builtinData.transparentDepthPostpass, (newValue) => builtinData.transparentDepthPostpass = newValue); + AddProperty(transparentDepthPrepassEnableText, () => systemData.transparentDepthPrepass, (newValue) => systemData.transparentDepthPrepass = newValue); + AddProperty(transparentDepthPostpassEnableText, () => systemData.transparentDepthPostpass, (newValue) => systemData.transparentDepthPostpass = newValue); AddProperty(transparentWritingMotionVecText, () => builtinData.transparentWritesMotionVec, (newValue) => builtinData.transparentWritesMotionVec = newValue); if (lightingData != null) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs index 5aa154d37d2..d20a3fd2290 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs @@ -42,13 +42,6 @@ protected override string renderQueue protected virtual bool supportDistortion => false; protected override bool supportRaytracing => true; - protected override int ComputeMaterialNeedsUpdateHash() - { - // Alpha test is currently the only property in buitin data to trigger the material upgrade script. - int hash = systemData.alphaTest.GetHashCode(); - return hash; - } - public override void Setup(ref TargetSetupContext context) { context.AddAssetDependencyPath(AssetDatabase.GUIDToAssetPath("f4df7e8f9b8c23648ae50cbca0221e47")); // SurfaceSubTarget.cs @@ -201,15 +194,15 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(HDFields.DoAlphaTestShadow, systemData.alphaTest && builtinData.alphaTestShadow && isShadowPass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow)); // Pre/post pass always use the specific alpha test provided for those pass - context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass && isTransparentDepthPrepass && + context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && systemData.transparentDepthPrepass && isTransparentDepthPrepass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass)); // Features & Misc - context.AddField(Fields.LodCrossFade, builtinData.supportLodCrossFade); + context.AddField(Fields.LodCrossFade, systemData.supportLodCrossFade); context.AddField(Fields.AlphaToMask, systemData.alphaTest); context.AddField(HDFields.TransparentBackFace, builtinData.backThenFrontRendering); - context.AddField(HDFields.TransparentDepthPrePass, builtinData.transparentDepthPrepass); - context.AddField(HDFields.TransparentDepthPostPass, builtinData.transparentDepthPostpass); + context.AddField(HDFields.TransparentDepthPrePass, systemData.transparentDepthPrepass); + context.AddField(HDFields.TransparentDepthPostPass, systemData.transparentDepthPostpass); context.AddField(HDFields.DepthOffset, builtinData.depthOffset && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.DepthOffset)); @@ -246,8 +239,8 @@ public override void GetActiveBlocks(ref TargetActiveBlockContext context) context.AddBlock(BlockFields.SurfaceDescription.AlphaClipThreshold, systemData.alphaTest); // Alpha Test - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass); - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && builtinData.transparentDepthPostpass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && systemData.transparentDepthPrepass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && systemData.transparentDepthPostpass); context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow, systemData.alphaTest && builtinData.alphaTestShadow); // Misc @@ -313,7 +306,7 @@ public override void CollectShaderProperties(PropertyCollector collector, Genera // Common properties for all "surface" master nodes HDSubShaderUtilities.AddAlphaCutoffShaderProperties(collector, systemData.alphaTest, builtinData.alphaTestShadow); HDSubShaderUtilities.AddDoubleSidedProperty(collector, systemData.doubleSidedMode); - HDSubShaderUtilities.AddPrePostPassProperties(collector, builtinData.transparentDepthPrepass, builtinData.transparentDepthPostpass); + HDSubShaderUtilities.AddPrePostPassProperties(collector, systemData.transparentDepthPrepass, systemData.transparentDepthPostpass); // Add all shader properties required by the inspector HDSubShaderUtilities.AddBlendingStatesShaderProperties( @@ -350,19 +343,5 @@ public override void ProcessPreviewMaterial(Material material) LightingShaderGraphGUI.SetupMaterialKeywordsAndPass(material); } - - internal override void MigrateTo(ShaderGraphVersion version) - { - base.MigrateTo(version); - - if (version == ShaderGraphVersion.FirstTimeMigration) - { -#pragma warning disable 618 - builtinData.transparentDepthPrepass = systemData.m_TransparentDepthPrepass; - builtinData.transparentDepthPostpass = systemData.m_TransparentDepthPostpass; - builtinData.supportLodCrossFade = systemData.m_SupportLodCrossFade; -#pragma warning restore 618 - } - } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs index d6e530607bd..9631c205651 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs @@ -85,29 +85,5 @@ public bool backThenFrontRendering get => m_BackThenFrontRendering; set => m_BackThenFrontRendering = value; } - - [SerializeField] - bool m_TransparentDepthPrepass; - public bool transparentDepthPrepass - { - get => m_TransparentDepthPrepass; - set => m_TransparentDepthPrepass = value; - } - - [SerializeField] - bool m_TransparentDepthPostpass; - public bool transparentDepthPostpass - { - get => m_TransparentDepthPostpass; - set => m_TransparentDepthPostpass = value; - } - - [SerializeField] - bool m_SupportLodCrossFade; - public bool supportLodCrossFade - { - get => m_SupportLodCrossFade; - set => m_SupportLodCrossFade = value; - } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs index 6df41be68da..dc6acf729c6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs @@ -90,14 +90,21 @@ public bool alphaTest set => m_AlphaTest = value; } - [SerializeField, Obsolete("Keep for migration")] - internal bool m_TransparentDepthPrepass; - - [SerializeField, Obsolete("Keep for migration")] - internal bool m_TransparentDepthPostpass; + [SerializeField] + bool m_TransparentDepthPrepass; + public bool transparentDepthPrepass + { + get => m_TransparentDepthPrepass; + set => m_TransparentDepthPrepass = value; + } - [SerializeField, Obsolete("Keep for migration")] - internal bool m_SupportLodCrossFade; + [SerializeField] + bool m_TransparentDepthPostpass; + public bool transparentDepthPostpass + { + get => m_TransparentDepthPostpass; + set => m_TransparentDepthPostpass = value; + } [SerializeField] DoubleSidedMode m_DoubleSidedMode; @@ -107,6 +114,14 @@ public DoubleSidedMode doubleSidedMode set => m_DoubleSidedMode = value; } + [SerializeField] + bool m_SupportLodCrossFade; + public bool supportLodCrossFade + { + get => m_SupportLodCrossFade; + set => m_SupportLodCrossFade = value; + } + // TODO: This was on HDUnlitMaster but not used anywhere // TODO: On HDLit it adds the field `HDFields.DotsInstancing` // TODO: Should this be added properly to HDUnlit? @@ -126,15 +141,6 @@ public ShaderGraphVersion version set => m_Version = value; } - [SerializeField] - bool m_FirstTimeMigrationExecuted = false; - public bool firstTimeMigrationExecuted - { - get => m_FirstTimeMigrationExecuted; - set => m_FirstTimeMigrationExecuted = value; - } - - [SerializeField] internal int inspectorFoldoutMask; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs index cc644d73c9f..e3beab194e2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs @@ -32,10 +32,10 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary Date: Fri, 10 Jul 2020 22:56:17 +0200 Subject: [PATCH 29/35] Update Upgrading-from-2020.1-to-2020.2.md --- .../Documentation~/Upgrading-from-2020.1-to-2020.2.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md index 2202e578df3..8b6b7ac9a75 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md @@ -40,6 +40,8 @@ In the 2D Atlas Size drop-down, select a larger cookie resolution. From Unity 2020.2, the texture format of the color buffer in the HDRP Asset also applies to [Planar Reflection Probes](Planar-Reflection-Probe.md). Previously, Planar Reflection Probes always used a float16 rendertarget. +From Unity 2020.2, the light layer properties have move from the HDRP settings to the HDRP Default setting Panel. + ## Shadows From Unity 2020.2, it is no longer necessary to change the [HDRP Config package](HDRP-Config-Package.md) to set the [shadow filtering quality](HDRP-Asset.md#FilteringQualities) for deferred rendering. Instead, you can now change the filtering quality directly on the [HDRP Asset](HDRP-Asset.md#FilteringQualities). Note if you previously had not set the shadow filtering quality to **Medium** on the HDRP Asset, the automatic project upgrade process changes the shadow quality which means you may need to manually change it back to its original value. From 0fa339ec07d521dc4a118d0266e0698302218d9e Mon Sep 17 00:00:00 2001 From: Emmanuel Turquin Date: Fri, 10 Jul 2020 23:01:25 +0200 Subject: [PATCH 30/35] Make sure we don't end up with null normals from normal mapping, when scale is 0. (#1233) * Make sure we don't end up with null normals from normal mapping. * Updated Changelog. Co-authored-by: sebastienlagarde --- com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl | 2 +- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl b/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl index 5eb72f7f7ad..dcac7653d09 100644 --- a/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl +++ b/com.unity.render-pipelines.core/ShaderLibrary/Packing.hlsl @@ -177,7 +177,7 @@ real3 UnpackNormalAG(real4 packedNormal, real scale = 1.0) { real3 normal; normal.xy = packedNormal.ag * 2.0 - 1.0; - normal.z = sqrt(1.0 - saturate(dot(normal.xy, normal.xy))); + normal.z = max(1.0e-16, sqrt(1.0 - saturate(dot(normal.xy, normal.xy)))); // must scale after reconstruction of normal.z which also // mirrors UnpackNormalRGB(). This does imply normal is not returned diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index f714d826566..cb7e1de24be 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -728,6 +728,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed XR single-pass macros in tessellation shaders. - Fixed path-traced subsurface scattering mixing with diffuse and specular BRDFs (1250601). - Fixed custom pass re-ordering issues. +- Improved robustness of normal mapping when scale is 0, and mapping is extreme (normals in or below the tangent plane). ### Changed - Improve MIP selection for decals on Transparents From 0ba9c99f1ef547d8844eff5193477f1776c448f2 Mon Sep 17 00:00:00 2001 From: FrancescoC-unity <43168857+FrancescoC-unity@users.noreply.github.com> Date: Fri, 10 Jul 2020 23:09:38 +0200 Subject: [PATCH 31/35] Contact shadows improvements (#1226) * Bias + thickness + new depth compare * Default as decided by pierre * upgrade guide * docs * changelog * What's new --- .../CHANGELOG.md | 1 + .../Documentation~/Override-Contact-Shadows.md | 2 ++ .../Upgrading-from-2020.1-to-2020.2.md | 2 ++ .../Documentation~/whats-new-10-0.md | 4 ++++ .../Lighting/Shadow/ContactShadowsEditor.cs | 7 +++++++ .../Runtime/Lighting/LightLoop/LightLoop.cs | 8 ++++---- .../Lighting/Shadow/ContactShadows.compute | 16 +++++++++++++--- .../Runtime/Lighting/Shadow/ContactShadows.cs | 10 +++++++++- .../Runtime/Lighting/Shadow/ContactShadows.hlsl | 4 ++++ .../Runtime/RenderPipeline/HDStringConstants.cs | 1 + 10 files changed, 47 insertions(+), 8 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index cb7e1de24be..4e44dcae455 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. - Added an option to extend the camera culling for skinned mesh animation in ray tracing effects (1258547). - Added decal layer system similar to light layer. Mesh will receive a decal when both decal layer mask matches. - Added shader graph nodes for rendering a complex eye shader. +- Added more controls to contact shadows and increased quality in some parts. ### Fixed - Fix when rescale probe all direction below zero (1219246) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md index 00de0cfcf4f..5e140337cec 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Contact-Shadows.md @@ -31,6 +31,8 @@ Only one Light can cast Contact Shadows at a time. This means that, if you have | __Fade Out Distance__ | The distance, in meters, over which HDRP fades Contact Shadows out when at the __Max Distance__. | | __Sample Count__ | Use the slider to set the number of samples HDRP uses for ray casting. Increasing this increases quality at the cost of performance. | | __Opacity__ | Use the slider to set the opacity of the Contact Shadows. Lower values result in softer, less prominent shadows. | +| **Ray Bias** | Controls the bias applied to the screen space ray cast to get contact shadows. Higher values can reduce self shadowing, however too high values might lead to peter-panning that can be especially undesirable with contact shadows. | +| **Thickness** | Controls the thickness of the objects found along the ray, essentially thickening the contact shadows. It can be used to fill holes in the shadows, however might also lead to overly wide shadows. | ## Details diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md index 8b6b7ac9a75..32e7a1051c5 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2020.1-to-2020.2.md @@ -50,6 +50,8 @@ HDRP now stores OnEnable and OnDemand shadows in a separate atlas and more API i The shader function `SampleShadow_PCSS` now requires you to pass in an additional float2 parameter which contains the shadow atlas resolution in x and the inverse of the atlas resolution in y. +Ray bias and thickness parameters have been added to contact shadows. These might lead to small changes to the visual impact of contact shadows with the default parameters. Please consider tuning those values to fit the needs of your project. + ## Shader config file From Unity 2020.2, due to the change of the shadow map, HDRP moved the HDShadowFilteringQuality enum to HDShadowManager.cs. HDRP also removed ShaderConfig.s_DeferredShadowFiltering and ShaderOptions.DeferredShadowFiltering from the source code because they have no effect anymore. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md index 88eb1a27f10..11004ba38ca 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-10-0.md @@ -247,6 +247,10 @@ You can now control the texture mapping mode for all textures in the [AxF Shader For more information about this improvement, see [AxF Shader](AxF-Shader.md). +### Contact Shadows Improvements + +More control is given for contact shadows, in particular now a bias can be set to avoid self intersection issues and a new thickness parameter is introduced to fill gaps that can be left by contact shadows. + ### Exposure #### Exposure curve mapping diff --git a/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/ContactShadowsEditor.cs b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/ContactShadowsEditor.cs index a97685d796e..0ece2c40546 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/ContactShadowsEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Lighting/Shadow/ContactShadowsEditor.cs @@ -16,6 +16,8 @@ class ContactShadowsEditor : VolumeComponentWithQualityEditor SerializedDataParameter m_FadeInDistance; SerializedDataParameter m_SampleCount; SerializedDataParameter m_Opacity; + SerializedDataParameter m_Bias; + SerializedDataParameter m_Thickness; public override void OnEnable() { @@ -32,6 +34,8 @@ public override void OnEnable() m_FadeInDistance = Unpack(o.Find(x => x.fadeInDistance)); m_SampleCount = Unpack(o.Find(x => x.sampleCount)); m_Opacity = Unpack(o.Find(x => x.opacity)); + m_Bias = Unpack(o.Find(x => x.rayBias)); + m_Thickness = Unpack(o.Find(x => x.thicknessScale)); } public override void OnInspectorGUI() @@ -49,6 +53,9 @@ public override void OnInspectorGUI() PropertyField(m_FadeInDistance, EditorGUIUtility.TrTextContent("Fade In Distance", "Sets the distance over which HDRP fades Contact Shadows in when past the Min Distance. Uses meters.")); PropertyField(m_FadeDistance, EditorGUIUtility.TrTextContent("Fade Out Distance", "Sets the distance over which HDRP fades Contact Shadows out when at the Max Distance. Uses meters.")); PropertyField(m_Opacity, EditorGUIUtility.TrTextContent("Opacity", "Controls the opacity of the Contact Shadow.")); + PropertyField(m_Bias, EditorGUIUtility.TrTextContent("Bias", "Controls the bias applied to the screen space ray cast to get contact shadows.")); + PropertyField(m_Thickness, EditorGUIUtility.TrTextContent("Thickness", "Controls the thickness of the objects found along the ray, essentially thickening the contact shadows.")); + base.OnInspectorGUI(); GUI.enabled = useCustomValue; PropertyField(m_SampleCount, EditorGUIUtility.TrTextContent("Sample Count", "Controls the number of samples HDRP uses for ray casting.")); 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 7db486cc8a8..6704448b584 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 @@ -3717,7 +3717,7 @@ struct ContactShadowsParameters public Vector4 params1; public Vector4 params2; - public int sampleCount; + public Vector4 params3; public int numTilesX; public int numTilesY; @@ -3762,8 +3762,8 @@ ContactShadowsParameters PrepareContactShadowsParameters(HDCamera hdCamera, floa float contactShadowFadeIn = Mathf.Clamp(m_ContactShadows.fadeInDistance.value, 1e-6f, contactShadowFadeEnd); parameters.params1 = new Vector4(m_ContactShadows.length.value, m_ContactShadows.distanceScaleFactor.value, contactShadowFadeEnd, contactShadowOneOverFadeRange); - parameters.params2 = new Vector4(firstMipOffsetY, contactShadowMinDist, contactShadowFadeIn, 0.0f); - parameters.sampleCount = m_ContactShadows.sampleCount; + parameters.params2 = new Vector4(firstMipOffsetY, contactShadowMinDist, contactShadowFadeIn, m_ContactShadows.rayBias.value * 0.01f); + parameters.params3 = new Vector4(m_ContactShadows.sampleCount, m_ContactShadows.thicknessScale.value * 10.0f , 0.0f, 0.0f); int deferredShadowTileSize = 16; // Must match DeferreDirectionalShadow.compute parameters.numTilesX = (hdCamera.actualWidth + (deferredShadowTileSize - 1)) / deferredShadowTileSize; @@ -3786,7 +3786,7 @@ static void RenderContactShadows( in ContactShadowsParameters parameters, cmd.SetComputeVectorParam(parameters.contactShadowsCS, HDShaderIDs._ContactShadowParamsParameters, parameters.params1); cmd.SetComputeVectorParam(parameters.contactShadowsCS, HDShaderIDs._ContactShadowParamsParameters2, parameters.params2); - cmd.SetComputeIntParam(parameters.contactShadowsCS, HDShaderIDs._DirectionalContactShadowSampleCount, parameters.sampleCount); + cmd.SetComputeVectorParam(parameters.contactShadowsCS, HDShaderIDs._ContactShadowParamsParameters3, parameters.params3); cmd.SetComputeBufferParam(parameters.contactShadowsCS, parameters.kernel, HDShaderIDs._DirectionalLightDatas, lightLoopLightData.directionalLightData); // Send light list to the compute diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.compute index 98ac679de1f..9d4fa8e4904 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.compute @@ -41,6 +41,16 @@ float SampleDepth(float2 UV, bool HalfRes) return LoadCameraDepth(pixelCoord); } +float GetDepthCompareThreshold(float step, float rayStartZ, float rayOrthoZ) +{ + return abs(rayOrthoZ - rayStartZ) * _ContactShadowThickness * max(0.07, step); +} + +bool CompareDepth(float depthDiff, float compareThreshold) +{ + return abs(compareThreshold - depthDiff) < compareThreshold; +} + bool ScreenSpaceShadowRayCast(float3 positionWS, float3 rayDirWS, float rayLength, uint2 positionSS, out float fade) { @@ -50,7 +60,7 @@ bool ScreenSpaceShadowRayCast(float3 positionWS, float3 rayDirWS, float rayLengt uint taaEnabled = _TaaFrameInfo.w; float dither = InterleavedGradientNoise(positionSS, (_FrameCount % 8u) * taaEnabled) - ditherBias; - float3 rayStartWS = positionWS; + float3 rayStartWS = positionWS - positionWS * _ContactShadowBias; float3 rayEndWS = rayStartWS + rayDirWS * rayLength; float4 rayStartCS = TransformWorldToHClip(rayStartWS); @@ -68,7 +78,7 @@ bool ScreenSpaceShadowRayCast(float3 positionWS, float3 rayDirWS, float rayLengt float3 rayDirCS = rayEndCS.xyz - rayStartCS.xyz; float step = 1.0f / _SampleCount; - float compareThreshold = abs(rayOrthoViewSpace.z - rayStartCS.z) * max(0.07f, step); + float compareThreshold = GetDepthCompareThreshold(step, rayStartCS.z, rayOrthoViewSpace.z); float occluded = 0.0f; @@ -107,7 +117,7 @@ bool ScreenSpaceShadowRayCast(float3 positionWS, float3 rayDirWS, float rayLengt float depthDiff = sampleDepth - sampleAlongRay.z; - if (depthDiff > 0.0f && depthDiff < compareThreshold && sampleAlongRay.z > 0) + if (depthDiff > 0.0f && CompareDepth(depthDiff, compareThreshold) && sampleAlongRay.z > 0) { if (tracingHalfRes) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.cs index f2da6428bbe..fb7ecc2573a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.cs @@ -43,8 +43,16 @@ public class ContactShadows : VolumeComponentWithQuality /// public MinFloatParameter fadeInDistance = new MinFloatParameter(0.0f, 0.0f); /// - /// Controls the number of samples HDRP takes along each contact shadow ray. Increasing this value can lead to higher quality. + /// Controls the bias applied to the screen space ray cast to get contact shadows. /// + public ClampedFloatParameter rayBias = new ClampedFloatParameter(0.2f, 0.0f, 1.0f); + /// + /// Controls the thickness of the objects found along the ray, essentially thickening the contact shadows. + /// + public ClampedFloatParameter thicknessScale = new ClampedFloatParameter(0.15f, 0.02f, 1.0f); + + + public int sampleCount { get diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.hlsl index f5f01cb67a9..73949525b49 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/Shadow/ContactShadows.hlsl @@ -3,6 +3,7 @@ RW_TEXTURE2D_X(uint, _ContactShadowTextureUAV); CBUFFER_START(DeferredShadowParameters) float4 _ContactShadowParamsParameters; float4 _ContactShadowParamsParameters2; +float4 _ContactShadowParamsParameters3; int _SampleCount; CBUFFER_END @@ -13,3 +14,6 @@ CBUFFER_END #define _RenderTargetHeight _ContactShadowParamsParameters2.x #define _ContactShadowMinDistance _ContactShadowParamsParameters2.y #define _ContactShadowFadeInEnd _ContactShadowParamsParameters2.z +#define _ContactShadowBias _ContactShadowParamsParameters2.w +#define _SampleCount (int)_ContactShadowParamsParameters3.x +#define _ContactShadowThickness _ContactShadowParamsParameters3.y 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 c43119a1969..ad7d2c006c1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -179,6 +179,7 @@ static class HDShaderIDs public static readonly int _ContactShadowTextureUAV = Shader.PropertyToID("_ContactShadowTextureUAV"); public static readonly int _ContactShadowParamsParameters = Shader.PropertyToID("_ContactShadowParamsParameters"); public static readonly int _ContactShadowParamsParameters2 = Shader.PropertyToID("_ContactShadowParamsParameters2"); + public static readonly int _ContactShadowParamsParameters3 = Shader.PropertyToID("_ContactShadowParamsParameters3"); public static readonly int _DirectionalContactShadowSampleCount = Shader.PropertyToID("_SampleCount"); public static readonly int _ShadowFrustumPlanes = Shader.PropertyToID("_ShadowFrustumPlanes"); From 664fe242b3615d34c4d8514b94f7ed8799eb064d Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Jul 2020 23:21:17 +0200 Subject: [PATCH 32/35] Revert "Revert "Move shadergraph properties (#1214)"" This reverts commit 958486dd569042c335a0cd498e837ea289461680. --- .../Eye/ShaderGraph/EyeSubTarget.Migration.cs | 6 +-- .../ShaderGraph/FabricSubTarget.Migration.cs | 2 +- .../ShaderGraph/HairSubTarget.Migration.cs | 10 ++--- .../ShaderGraph/HDLitSubTarget.Migration.cs | 12 +++--- .../AdvancedOptionsPropertyBlock.cs | 2 +- .../Material/ShaderGraph/HDSubTarget.cs | 16 +++++--- .../ShaderGraph/ShaderGraphVersion.cs | 1 + .../ShaderGraph/SurfaceOptionPropertyBlock.cs | 4 +- .../Material/ShaderGraph/SurfaceSubTarget.cs | 35 +++++++++++++---- .../ShaderGraph/TargetData/BuiltinData.cs | 24 ++++++++++++ .../ShaderGraph/TargetData/SystemData.cs | 38 ++++++++----------- .../StackLitSubTarget.Migration.cs | 2 +- 12 files changed, 98 insertions(+), 54 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs index 581652235c7..6d4ded6341a 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Eye/ShaderGraph/EyeSubTarget.Migration.cs @@ -27,17 +27,17 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary lightingData.specularOcclusionMode, (newValue) => lightingData.specularOcclusionMode = newValue); AddProperty(Styles.overrideBakedGI, () => lightingData.overrideBakedGI, (newValue) => lightingData.overrideBakedGI = newValue); } - AddProperty(Styles.supportLodCrossFade, () => systemData.supportLodCrossFade, (newValue) => systemData.supportLodCrossFade = newValue); + AddProperty(Styles.supportLodCrossFade, () => builtinData.supportLodCrossFade, (newValue) => builtinData.supportLodCrossFade = newValue); AddProperty(addPrecomputedVelocityText, () => builtinData.addPrecomputedVelocity, (newValue) => builtinData.addPrecomputedVelocity = newValue); } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs index b16eea5f1ca..3664233f5f1 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs @@ -33,12 +33,7 @@ public SystemData systemData set => m_SystemData = value; } - protected virtual int ComputeMaterialNeedsUpdateHash() - { - // Alpha test is currently the only property in system data to trigger the material upgrade script. - int hash = systemData.alphaTest.GetHashCode(); - return hash; - } + protected virtual int ComputeMaterialNeedsUpdateHash() => 0; public override bool IsActive() => true; @@ -97,6 +92,15 @@ public override void Setup(ref TargetSetupContext context) if (migrationSteps.Migrate(this)) OnBeforeSerialize(); + // Migration hack to have the case where SG doesn't have version yet but is already upgraded to the stack system + if (!systemData.firstTimeMigrationExecuted) + { + // Force the initial migration step + MigrateTo(ShaderGraphVersion.FirstTimeMigration); + systemData.firstTimeMigrationExecuted = true; + OnBeforeSerialize(); + } + foreach (var subShader in EnumerateSubShaders()) { // patch render type and render queue from pass declaration: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs index 1864ea0f241..35e55f3d8d6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/ShaderGraphVersion.cs @@ -9,5 +9,6 @@ namespace UnityEditor.Rendering.HighDefinition.ShaderGraph public enum ShaderGraphVersion { Initial = 0, + FirstTimeMigration = Initial, } } 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 6070ce58960..b3a8aac07c8 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 @@ -65,8 +65,8 @@ protected override void CreatePropertyGUI() AddProperty(transparentCullModeText, () => systemData.transparentCullMode, (newValue) => systemData.transparentCullMode = newValue); AddProperty(transparentSortPriorityText, () => systemData.sortPriority, (newValue) => systemData.sortPriority = HDRenderQueue.ClampsTransparentRangePriority(newValue)); AddProperty(transparentBackfaceEnableText, () => builtinData.backThenFrontRendering, (newValue) => builtinData.backThenFrontRendering = newValue); - AddProperty(transparentDepthPrepassEnableText, () => systemData.transparentDepthPrepass, (newValue) => systemData.transparentDepthPrepass = newValue); - AddProperty(transparentDepthPostpassEnableText, () => systemData.transparentDepthPostpass, (newValue) => systemData.transparentDepthPostpass = newValue); + AddProperty(transparentDepthPrepassEnableText, () => builtinData.transparentDepthPrepass, (newValue) => builtinData.transparentDepthPrepass = newValue); + AddProperty(transparentDepthPostpassEnableText, () => builtinData.transparentDepthPostpass, (newValue) => builtinData.transparentDepthPostpass = newValue); AddProperty(transparentWritingMotionVecText, () => builtinData.transparentWritesMotionVec, (newValue) => builtinData.transparentWritesMotionVec = newValue); if (lightingData != null) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs index d20a3fd2290..5aa154d37d2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs @@ -42,6 +42,13 @@ protected override string renderQueue protected virtual bool supportDistortion => false; protected override bool supportRaytracing => true; + protected override int ComputeMaterialNeedsUpdateHash() + { + // Alpha test is currently the only property in buitin data to trigger the material upgrade script. + int hash = systemData.alphaTest.GetHashCode(); + return hash; + } + public override void Setup(ref TargetSetupContext context) { context.AddAssetDependencyPath(AssetDatabase.GUIDToAssetPath("f4df7e8f9b8c23648ae50cbca0221e47")); // SurfaceSubTarget.cs @@ -194,15 +201,15 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(HDFields.DoAlphaTestShadow, systemData.alphaTest && builtinData.alphaTestShadow && isShadowPass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow)); // Pre/post pass always use the specific alpha test provided for those pass - context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && systemData.transparentDepthPrepass && isTransparentDepthPrepass && + context.AddField(HDFields.DoAlphaTestPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass && isTransparentDepthPrepass && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass)); // Features & Misc - context.AddField(Fields.LodCrossFade, systemData.supportLodCrossFade); + context.AddField(Fields.LodCrossFade, builtinData.supportLodCrossFade); context.AddField(Fields.AlphaToMask, systemData.alphaTest); context.AddField(HDFields.TransparentBackFace, builtinData.backThenFrontRendering); - context.AddField(HDFields.TransparentDepthPrePass, systemData.transparentDepthPrepass); - context.AddField(HDFields.TransparentDepthPostPass, systemData.transparentDepthPostpass); + context.AddField(HDFields.TransparentDepthPrePass, builtinData.transparentDepthPrepass); + context.AddField(HDFields.TransparentDepthPostPass, builtinData.transparentDepthPostpass); context.AddField(HDFields.DepthOffset, builtinData.depthOffset && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.DepthOffset)); @@ -239,8 +246,8 @@ public override void GetActiveBlocks(ref TargetActiveBlockContext context) context.AddBlock(BlockFields.SurfaceDescription.AlphaClipThreshold, systemData.alphaTest); // Alpha Test - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && systemData.transparentDepthPrepass); - context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && systemData.transparentDepthPostpass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPrepass, systemData.alphaTest && builtinData.transparentDepthPrepass); + context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdDepthPostpass, systemData.alphaTest && builtinData.transparentDepthPostpass); context.AddBlock(HDBlockFields.SurfaceDescription.AlphaClipThresholdShadow, systemData.alphaTest && builtinData.alphaTestShadow); // Misc @@ -306,7 +313,7 @@ public override void CollectShaderProperties(PropertyCollector collector, Genera // Common properties for all "surface" master nodes HDSubShaderUtilities.AddAlphaCutoffShaderProperties(collector, systemData.alphaTest, builtinData.alphaTestShadow); HDSubShaderUtilities.AddDoubleSidedProperty(collector, systemData.doubleSidedMode); - HDSubShaderUtilities.AddPrePostPassProperties(collector, systemData.transparentDepthPrepass, systemData.transparentDepthPostpass); + HDSubShaderUtilities.AddPrePostPassProperties(collector, builtinData.transparentDepthPrepass, builtinData.transparentDepthPostpass); // Add all shader properties required by the inspector HDSubShaderUtilities.AddBlendingStatesShaderProperties( @@ -343,5 +350,19 @@ public override void ProcessPreviewMaterial(Material material) LightingShaderGraphGUI.SetupMaterialKeywordsAndPass(material); } + + internal override void MigrateTo(ShaderGraphVersion version) + { + base.MigrateTo(version); + + if (version == ShaderGraphVersion.FirstTimeMigration) + { +#pragma warning disable 618 + builtinData.transparentDepthPrepass = systemData.m_TransparentDepthPrepass; + builtinData.transparentDepthPostpass = systemData.m_TransparentDepthPostpass; + builtinData.supportLodCrossFade = systemData.m_SupportLodCrossFade; +#pragma warning restore 618 + } + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs index 9631c205651..d6e530607bd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/BuiltinData.cs @@ -85,5 +85,29 @@ public bool backThenFrontRendering get => m_BackThenFrontRendering; set => m_BackThenFrontRendering = value; } + + [SerializeField] + bool m_TransparentDepthPrepass; + public bool transparentDepthPrepass + { + get => m_TransparentDepthPrepass; + set => m_TransparentDepthPrepass = value; + } + + [SerializeField] + bool m_TransparentDepthPostpass; + public bool transparentDepthPostpass + { + get => m_TransparentDepthPostpass; + set => m_TransparentDepthPostpass = value; + } + + [SerializeField] + bool m_SupportLodCrossFade; + public bool supportLodCrossFade + { + get => m_SupportLodCrossFade; + set => m_SupportLodCrossFade = value; + } } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs index dc6acf729c6..6df41be68da 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/TargetData/SystemData.cs @@ -90,21 +90,14 @@ public bool alphaTest set => m_AlphaTest = value; } - [SerializeField] - bool m_TransparentDepthPrepass; - public bool transparentDepthPrepass - { - get => m_TransparentDepthPrepass; - set => m_TransparentDepthPrepass = value; - } + [SerializeField, Obsolete("Keep for migration")] + internal bool m_TransparentDepthPrepass; - [SerializeField] - bool m_TransparentDepthPostpass; - public bool transparentDepthPostpass - { - get => m_TransparentDepthPostpass; - set => m_TransparentDepthPostpass = value; - } + [SerializeField, Obsolete("Keep for migration")] + internal bool m_TransparentDepthPostpass; + + [SerializeField, Obsolete("Keep for migration")] + internal bool m_SupportLodCrossFade; [SerializeField] DoubleSidedMode m_DoubleSidedMode; @@ -114,14 +107,6 @@ public DoubleSidedMode doubleSidedMode set => m_DoubleSidedMode = value; } - [SerializeField] - bool m_SupportLodCrossFade; - public bool supportLodCrossFade - { - get => m_SupportLodCrossFade; - set => m_SupportLodCrossFade = value; - } - // TODO: This was on HDUnlitMaster but not used anywhere // TODO: On HDLit it adds the field `HDFields.DotsInstancing` // TODO: Should this be added properly to HDUnlit? @@ -141,6 +126,15 @@ public ShaderGraphVersion version set => m_Version = value; } + [SerializeField] + bool m_FirstTimeMigrationExecuted = false; + public bool firstTimeMigrationExecuted + { + get => m_FirstTimeMigrationExecuted; + set => m_FirstTimeMigrationExecuted = value; + } + + [SerializeField] internal int inspectorFoldoutMask; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs index e3beab194e2..cc644d73c9f 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs @@ -32,10 +32,10 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary Date: Fri, 10 Jul 2020 23:56:55 +0200 Subject: [PATCH 33/35] Fix migration issue in PR (Move shadergraph properties #1214) --- .../Decal/ShaderGraph/DecalSubTarget.Migration.cs | 6 ++++-- .../Eye/ShaderGraph/EyeSubTarget.Migration.cs | 2 ++ .../Fabric/ShaderGraph/FabricSubTarget.Migration.cs | 2 ++ .../Hair/ShaderGraph/HairSubTarget.Migration.cs | 2 ++ .../Lit/ShaderGraph/HDLitSubTarget.Migration.cs | 2 ++ .../Editor/Material/ShaderGraph/HDSubTarget.cs | 1 + .../Editor/Material/ShaderGraph/SurfaceSubTarget.cs | 11 ++++++++--- .../ShaderGraph/StackLitSubTarget.Migration.cs | 2 ++ .../Unlit/ShaderGraph/HDUnlitSubTarget.Migration.cs | 3 +++ 9 files changed, 26 insertions(+), 5 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.Migration.cs index b7699a48739..37bfb6a6986 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Decal/ShaderGraph/DecalSubTarget.Migration.cs @@ -20,7 +20,9 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary blockMap) { + m_MigrateFromOldSG = true; + blockMap = null; switch(masterNode) { diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs index 3664233f5f1..312a4d72236 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDSubTarget.cs @@ -18,6 +18,7 @@ abstract class HDSubTarget : SubTarget, IHasMetadata, { SystemData m_SystemData; protected bool m_MigrateFromOldCrossPipelineSG; // Use only for the migration to shader stack architecture + protected bool m_MigrateFromOldSG; // Use only for the migration from early shader stack architecture to recent one // Interface Properties SystemData IRequiresData.data diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs index 5aa154d37d2..d9152711ffd 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/SurfaceSubTarget.cs @@ -358,9 +358,14 @@ internal override void MigrateTo(ShaderGraphVersion version) if (version == ShaderGraphVersion.FirstTimeMigration) { #pragma warning disable 618 - builtinData.transparentDepthPrepass = systemData.m_TransparentDepthPrepass; - builtinData.transparentDepthPostpass = systemData.m_TransparentDepthPostpass; - builtinData.supportLodCrossFade = systemData.m_SupportLodCrossFade; + // If we come from old master node, nothing to do. + // Only perform an action if we are a shader stack + if (!m_MigrateFromOldSG) + { + builtinData.transparentDepthPrepass = systemData.m_TransparentDepthPrepass; + builtinData.transparentDepthPostpass = systemData.m_TransparentDepthPostpass; + builtinData.supportLodCrossFade = systemData.m_SupportLodCrossFade; + } #pragma warning restore 618 } } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs index cc644d73c9f..8a2a368a977 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/StackLit/ShaderGraph/StackLitSubTarget.Migration.cs @@ -21,6 +21,8 @@ public bool TryUpgradeFromMasterNode(IMasterNode1 masterNode, out Dictionary blockMap) { m_MigrateFromOldCrossPipelineSG = true; + m_MigrateFromOldSG = true; // Set data systemData.surfaceType = (SurfaceType)unlitMasterNode.m_SurfaceType; @@ -61,6 +62,8 @@ void UpgradeUnlitMasterNode(UnlitMasterNode1 unlitMasterNode, out Dictionary blockMap) { + m_MigrateFromOldSG = true; + // Set data systemData.surfaceType = (SurfaceType)hdUnlitMasterNode.m_SurfaceType; systemData.blendMode = HDSubShaderUtilities.UpgradeLegacyAlphaModeToBlendMode((int)hdUnlitMasterNode.m_AlphaMode); From 1712083ed340ca226e174843c420440cc03a5c21 Mon Sep 17 00:00:00 2001 From: Pavlos Mavridis Date: Sat, 11 Jul 2020 00:20:50 +0200 Subject: [PATCH 34/35] TAA and Physically based DoF (#1193) * stabilize CoC if taa is enabled * Fixes related to CoC clamping * Improve DoF when TAA is active by using different samples each frame * Add UI option to run the new physically based DoF * Update documentation with the new option * Fix issue with mip maps when switching DoF techniques * Improve documentation * Clean-up C# code * Minor changes in the shader * Fix near-far blending and cleanup unused code * clean-up shader code * more shader shader clean-up + fix weigths * more shader shader clean-up * back-to-front blending clean-up * Make Manual CoC work for the new dof * Changelog * Change min aperture to 0.7 * Add info box when physically based dof is enabled * Add info box when physically based dof is enabled * Add s specialized TAA configuration for use with DoF and also stabilize CoC * Do not increase sample count when taa is off * Fix issue in disc sampling * Fix profiling scope for CoC * Fix for adaptive search radius * Review feadback * Review feadback 2 * Fix non-uniform ring weights --- .../CHANGELOG.md | 1 + .../Post-Processing-Depth-of-Field.md | 1 + .../PostProcessing/DepthOfFieldEditor.cs | 8 + .../RenderPipeline/HDRenderPipelineUI.Skin.cs | 1 + .../RenderPipeline/HDRenderPipelineUI.cs | 1 + ...SerializedPostProcessingQualitySettings.cs | 2 + .../PostProcessing/Components/DepthOfField.cs | 20 ++ .../PostProcessing/PostProcessSystem.cs | 155 ++++++++---- .../Shaders/DoFCircleOfConfusion.compute | 24 +- .../PostProcessing/Shaders/DoFGather.compute | 237 +++++++----------- .../Shaders/TemporalAntiAliasing.shader | 18 +- .../Camera/HDAdditionalCameraData.cs | 2 +- .../Camera/HDCameraFrameHistoryType.cs | 2 + .../GlobalPostProcessingQualitySettings.cs | 2 + 14 files changed, 274 insertions(+), 200 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 4e44dcae455..f65a221d12d 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -160,6 +160,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Added decal layer system similar to light layer. Mesh will receive a decal when both decal layer mask matches. - Added shader graph nodes for rendering a complex eye shader. - Added more controls to contact shadows and increased quality in some parts. +- Added a physically based option in DoF volume. ### Fixed - Fix when rescale probe all direction below zero (1219246) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Post-Processing-Depth-of-Field.md b/com.unity.render-pipelines.high-definition/Documentation~/Post-Processing-Depth-of-Field.md index 447004a2a5b..dccf270021f 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Post-Processing-Depth-of-Field.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Post-Processing-Depth-of-Field.md @@ -45,6 +45,7 @@ Depth Of Field includes [more options](More-Options.html) that you must manually | -------------------------- | ------------------------------------------------------------ | | **Resolution** | Use the drop-down to set the resolution at which HDRP processes the depth of field effect. If you target consoles that use a very high resolution (for example, 4k), select **Quarter,** because it is less resource intensive.
• **Quarter**: Uses quarter the screen resolution.
• **Half**: Uses half the screen resolution.
This property only appears when you enable [more options](More-Options.html). | | **High Quality Filtering** | Enable the checkbox to make HDRP use bicubic filtering instead of bilinear filtering. This increases the resource intensity of the Depth Of Field effect, but results in smoother visuals.
This property only appears when you enable [more options](More-Options.html). | +| **Physically Based** | Enable the checkbox to make HDRP use a more accurate but slower physically-based technique for the computation of Deph-of-Field. It is highly recommended to enable [Temporal anti-aliasing (TAA)](Anti-Aliasing) at the same time, for improved quality and performance.| diff --git a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/DepthOfFieldEditor.cs b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/DepthOfFieldEditor.cs index b83769a5e4e..641a2b98665 100644 --- a/com.unity.render-pipelines.high-definition/Editor/PostProcessing/DepthOfFieldEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/PostProcessing/DepthOfFieldEditor.cs @@ -19,6 +19,9 @@ static partial class Styles public static GUIContent k_NearFocusEnd = new GUIContent("End", "Sets the distance from the Camera at which the near field does not blur anymore."); public static GUIContent k_FarFocusEnd = new GUIContent("End", "Sets the distance from the Camera at which the far field blur reaches its maximum blur radius."); + public static GUIContent k_PhysicallyBased = new GUIContent("PhysicallyBased", "Uses a more accurate but slower physically based method to compute DoF."); + + public static readonly string InfoBox = "Physically Based DoF currently has a high performance overhead. Enabling TAA is highly recommended when using this option."; } SerializedDataParameter m_FocusMode; @@ -41,6 +44,7 @@ static partial class Styles // Advanced settings SerializedDataParameter m_HighQualityFiltering; SerializedDataParameter m_Resolution; + SerializedDataParameter m_PhysicallyBased; public override bool hasAdvancedMode => true; @@ -66,6 +70,7 @@ public override void OnEnable() m_HighQualityFiltering = Unpack(o.Find("m_HighQualityFiltering")); m_Resolution = Unpack(o.Find("m_Resolution")); + m_PhysicallyBased = Unpack(o.Find("m_PhysicallyBased")); } public override void OnInspectorGUI() @@ -132,6 +137,9 @@ public override void OnInspectorGUI() EditorGUILayout.LabelField("Advanced Tweaks", EditorStyles.miniLabel); PropertyField(m_Resolution); PropertyField(m_HighQualityFiltering); + PropertyField(m_PhysicallyBased); + if(m_PhysicallyBased.value.boolValue == true) + EditorGUILayout.HelpBox(Styles.InfoBox, MessageType.Info); GUI.enabled = true; } } 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 5cbdefb0ea0..fbe26589dc7 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 @@ -57,6 +57,7 @@ public class GeneralSection public static readonly GUIContent sampleCountQuality = EditorGUIUtility.TrTextContent("Sample Count"); public static readonly GUIContent resolutionQuality = EditorGUIUtility.TrTextContent("Resolution"); public static readonly GUIContent highQualityFiltering = EditorGUIUtility.TrTextContent("High Quality Filtering"); + public static readonly GUIContent dofPhysicallyBased = EditorGUIUtility.TrTextContent("Physically Based"); public static readonly GUIContent maxSamplesQuality = EditorGUIUtility.TrTextContent("Max Samples"); public static readonly GUIContent SSAOQualitySettingSubTitle = EditorGUIUtility.TrTextContent("Screen Space Ambient Occlusion"); 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 f5f7250977e..b9c0361d084 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -599,6 +599,7 @@ static void DrawDepthOfFieldQualitySetting(SerializedHDRenderPipelineAsset seria EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.DoFResolution.GetArrayElementAtIndex(tier), Styles.resolutionQuality); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.DoFHighFilteringQuality.GetArrayElementAtIndex(tier), Styles.highQualityFiltering); + EditorGUILayout.PropertyField(serialized.renderPipelineSettings.postProcessQualitySettings.DoFPhysicallyBased.GetArrayElementAtIndex(tier), Styles.dofPhysicallyBased); --EditorGUI.indentLevel; } diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedPostProcessingQualitySettings.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedPostProcessingQualitySettings.cs index 7e6dcc327f8..c6ce192174c 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedPostProcessingQualitySettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedPostProcessingQualitySettings.cs @@ -14,6 +14,7 @@ class SerializedPostProcessingQualitySettings public SerializedProperty FarBlurMaxRadius; public SerializedProperty DoFResolution; public SerializedProperty DoFHighFilteringQuality; + public SerializedProperty DoFPhysicallyBased; // Motion Blur public SerializedProperty MotionBlurSampleCount; @@ -36,6 +37,7 @@ public SerializedPostProcessingQualitySettings(SerializedProperty root) FarBlurMaxRadius = root.Find((GlobalPostProcessingQualitySettings s) => s.FarBlurMaxRadius); DoFResolution = root.Find((GlobalPostProcessingQualitySettings s) => s.DoFResolution); DoFHighFilteringQuality = root.Find((GlobalPostProcessingQualitySettings s) => s.DoFHighQualityFiltering); + DoFPhysicallyBased = root.Find((GlobalPostProcessingQualitySettings s) => s.DoFPhysicallyBased); // Motion Blur MotionBlurSampleCount = root.Find((GlobalPostProcessingQualitySettings s) => s.MotionBlurSampleCount); diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/DepthOfField.cs b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/DepthOfField.cs index 5969c50c4de..1961830c0bd 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/DepthOfField.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Components/DepthOfField.cs @@ -204,6 +204,23 @@ public bool highQualityFiltering set { m_HighQualityFiltering.value = value; } } + public bool physicallyBased + { + get + { + if (!UsesQualitySettings()) + { + return m_PhysicallyBased.value; + } + else + { + int qualityLevel = (int)quality.levelAndOverride.level; + return GetPostProcessingQualitySettings().DoFPhysicallyBased[qualityLevel]; + } + } + set { m_PhysicallyBased.value = value; } + } + /// /// Specifies the resolution at which HDRP processes the depth of field effect. /// @@ -257,6 +274,9 @@ public DepthOfFieldResolution resolution [SerializeField, FormerlySerializedAs("resolution")] DepthOfFieldResolutionParameter m_Resolution = new DepthOfFieldResolutionParameter(DepthOfFieldResolution.Half); + [SerializeField] + BoolParameter m_PhysicallyBased = new BoolParameter(false); + /// /// Tells if the effect needs to be rendered or not. /// 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 f95108fcf97..ea923f258af 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/PostProcessSystem.cs @@ -601,6 +601,8 @@ void PoolSource(ref RTHandle src, RTHandle dst) } } + bool postDoFTAAEnabled = false; + // If Path tracing is enabled, then DoF is computed in the path tracer by sampling the lens aperure (when using the physical camera mode) bool isDoFPathTraced = (camera.frameSettings.IsEnabled(FrameSettingsField.RayTracing) && camera.volumeStack.GetComponent().enable.value && @@ -614,11 +616,32 @@ void PoolSource(ref RTHandle src, RTHandle dst) using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.DepthOfField))) { var destination = m_Pool.Get(Vector2.one, m_ColorFormat); - DoDepthOfField(cmd, camera, source, destination, taaEnabled); + if (!m_DepthOfField.physicallyBased) + DoDepthOfField(cmd, camera, source, destination, taaEnabled); + else + DoPhysicallyBasedDepthOfField(cmd, camera, source, destination, taaEnabled); PoolSource(ref source, destination); + + // When physically based DoF is enabled, TAA runs two times, first to stabilize the color buffer before DoF and then after DoF to accumulate more aperture samples + if (taaEnabled && m_DepthOfField.physicallyBased) + { + var taaDestination = m_Pool.Get(Vector2.one, m_ColorFormat); + bool postDof = true; + var taaParams = PrepareTAAParameters(camera, postDof); + + GrabTemporalAntialiasingHistoryTextures(camera, out var prevHistory, out var nextHistory, postDof); + DoTemporalAntialiasing(taaParams, cmd, source, taaDestination, motionVecTexture, depthBuffer, depthMipChain, prevHistory, nextHistory, prevMVLen:null, nextMVLen:null); + PoolSource(ref source, taaDestination); + postDoFTAAEnabled = true; + } } } + if (!postDoFTAAEnabled) + { + ReleasePostDoFTAAHistoryTextures(camera); + } + // Motion blur after depth of field for aesthetic reasons (better to see motion // blurred bokeh rather than out of focus motion blur) if (m_MotionBlur.IsActive() && m_AnimatedMaterialsEnabled && !camera.resetPostProcessingHistory && m_MotionBlurFS) @@ -1437,7 +1460,7 @@ struct TemporalAntiAliasingParameters public Vector4 taaFilterWeights; } - TemporalAntiAliasingParameters PrepareTAAParameters(HDCamera camera) + TemporalAntiAliasingParameters PrepareTAAParameters(HDCamera camera, bool PostDOF = false) { TemporalAntiAliasingParameters parameters = new TemporalAntiAliasingParameters(); @@ -1450,7 +1473,7 @@ TemporalAntiAliasingParameters PrepareTAAParameters(HDCamera camera) // The anti flicker becomes much more aggressive on higher values float temporalContrastForMaxAntiFlicker = 0.7f - Mathf.Lerp(0.0f, 0.3f, Mathf.SmoothStep(0.5f, 1.0f, camera.taaAntiFlicker)); - parameters.taaParameters = new Vector4(camera.taaHistorySharpening, Mathf.Lerp(minAntiflicker, maxAntiflicker, camera.taaAntiFlicker), motionRejectionMultiplier, temporalContrastForMaxAntiFlicker); + parameters.taaParameters = new Vector4(camera.taaHistorySharpening, PostDOF ? maxAntiflicker : Mathf.Lerp(minAntiflicker, maxAntiflicker, camera.taaAntiFlicker), motionRejectionMultiplier, temporalContrastForMaxAntiFlicker); // Precompute weights used for the Blackman-Harris filter. TODO: Note that these are slightly wrong as they don't take into account the jitter size. This needs to be fixed at some point. float crossWeights = Mathf.Exp(-2.29f * 2); @@ -1489,20 +1512,27 @@ TemporalAntiAliasingParameters PrepareTAAParameters(HDCamera camera) parameters.temporalAAMaterial.EnableKeyword("ENABLE_MV_REJECTION"); } - switch (camera.TAAQuality) + if (PostDOF) { - case HDAdditionalCameraData.TAAQualityLevel.Low: - parameters.temporalAAMaterial.EnableKeyword("LOW_QUALITY"); - break; - case HDAdditionalCameraData.TAAQualityLevel.Medium: - parameters.temporalAAMaterial.EnableKeyword("MEDIUM_QUALITY"); - break; - case HDAdditionalCameraData.TAAQualityLevel.High: - parameters.temporalAAMaterial.EnableKeyword("HIGH_QUALITY"); - break; - default: - parameters.temporalAAMaterial.EnableKeyword("MEDIUM_QUALITY"); - break; + parameters.temporalAAMaterial.EnableKeyword("POST_DOF"); + } + else + { + switch (camera.TAAQuality) + { + case HDAdditionalCameraData.TAAQualityLevel.Low: + parameters.temporalAAMaterial.EnableKeyword("LOW_QUALITY"); + break; + case HDAdditionalCameraData.TAAQualityLevel.Medium: + parameters.temporalAAMaterial.EnableKeyword("MEDIUM_QUALITY"); + break; + case HDAdditionalCameraData.TAAQualityLevel.High: + parameters.temporalAAMaterial.EnableKeyword("HIGH_QUALITY"); + break; + default: + parameters.temporalAAMaterial.EnableKeyword("MEDIUM_QUALITY"); + break; + } } parameters.taaHistoryPropertyBlock = m_TAAHistoryBlitPropertyBlock; @@ -1538,7 +1568,10 @@ static void DoTemporalAntialiasing(in TemporalAntiAliasingParameters taaParams, taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._CameraMotionVectorsTexture, motionVecTexture); taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._InputTexture, source); taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._InputHistoryTexture, prevHistory); - taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._InputVelocityMagnitudeHistory, prevMVLen); + if (prevMVLen != null) + { + taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._InputVelocityMagnitudeHistory, prevMVLen); + } taaParams.taaPropertyBlock.SetTexture(HDShaderIDs._DepthTexture, depthMipChain); @@ -1552,13 +1585,17 @@ static void DoTemporalAntialiasing(in TemporalAntiAliasingParameters taaParams, CoreUtils.SetRenderTarget(cmd, destination, depthBuffer); cmd.SetRandomWriteTarget(1, nextHistory); - cmd.SetRandomWriteTarget(2, nextMVLen); + if (nextMVLen != null) + { + cmd.SetRandomWriteTarget(2, nextMVLen); + } + cmd.DrawProcedural(Matrix4x4.identity, taaParams.temporalAAMaterial, 0, MeshTopology.Triangles, 3, 1, taaParams.taaPropertyBlock); cmd.DrawProcedural(Matrix4x4.identity, taaParams.temporalAAMaterial, 1, MeshTopology.Triangles, 3, 1, taaParams.taaPropertyBlock); cmd.ClearRandomWriteTargets(); } - void GrabTemporalAntialiasingHistoryTextures(HDCamera camera, out RTHandle previous, out RTHandle next) + void GrabTemporalAntialiasingHistoryTextures(HDCamera camera, out RTHandle previous, out RTHandle next, bool postDoF = false) { RTHandle Allocator(string id, int frameIndex, RTHandleSystem rtHandleSystem) { @@ -1569,9 +1606,12 @@ RTHandle Allocator(string id, int frameIndex, RTHandleSystem rtHandleSystem) ); } - next = camera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.TemporalAntialiasing) - ?? camera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.TemporalAntialiasing, Allocator, 2); - previous = camera.GetPreviousFrameRT((int)HDCameraFrameHistoryType.TemporalAntialiasing); + int historyType = (int)(postDoF ? + HDCameraFrameHistoryType.TemporalAntialiasingPostDoF : HDCameraFrameHistoryType.TemporalAntialiasing); + + next = camera.GetCurrentFrameRT(historyType) + ?? camera.AllocHistoryFrameRT(historyType, Allocator, 2); + previous = camera.GetPreviousFrameRT(historyType); } void GrabVelocityMagnitudeHistoryTextures(HDCamera camera, out RTHandle previous, out RTHandle next) @@ -1589,6 +1629,15 @@ RTHandle Allocator(string id, int frameIndex, RTHandleSystem rtHandleSystem) ?? camera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.TAAMotionVectorMagnitude, Allocator, 2); previous = camera.GetPreviousFrameRT((int)HDCameraFrameHistoryType.TAAMotionVectorMagnitude); } + + void ReleasePostDoFTAAHistoryTextures(HDCamera camera) + { + var rt = camera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.TemporalAntialiasingPostDoF); + if (rt != null) + { + camera.ReleaseHistoryFrameRT((int)HDCameraFrameHistoryType.TemporalAntialiasingPostDoF); + } + } #endregion #region Depth Of Field @@ -1765,21 +1814,8 @@ void DoDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandl if (taaEnabled) { - GrabCoCHistory(camera, out var prevCoCTex, out var nextCoCTex); - cocHistoryScale = new Vector2(camera.historyRTHandleProperties.rtHandleScale.z, camera.historyRTHandleProperties.rtHandleScale.w); - - cs = m_Resources.shaders.depthOfFieldCoCReprojectCS; - kernel = cs.FindKernel("KMain"); - cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(camera.resetPostProcessingHistory ? 0f : 0.91f, cocHistoryScale.x, cocHistoryScale.y, 0f)); - cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputCoCTexture, fullresCoC); - cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputHistoryCoCTexture, prevCoCTex); - cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._OutputCoCTexture, nextCoCTex); - cmd.DispatchCompute(cs, kernel, (camera.actualWidth + 7) / 8, (camera.actualHeight + 7) / 8, camera.viewCount); - - // Cleanup the main CoC texture as we don't need it anymore and use the - // re-projected one instead for the following steps - m_Pool.Recycle(fullresCoC); - fullresCoC = nextCoCTex; + bool useMips = false; + ReprojectCoCHistory(cmd, camera, useMips, ref fullresCoC); } m_HDInstance.PushFullScreenDebugTexture(camera, cmd, fullresCoC, FullScreenDebugMode.DepthOfFieldCoc); @@ -2201,21 +2237,48 @@ void DoDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle source, RTHandl m_Pool.Recycle(fullresCoC); // Already cleaned up if TAA is enabled } - static void GrabCoCHistory(HDCamera camera, out RTHandle previous, out RTHandle next) + static void GrabCoCHistory(HDCamera camera, out RTHandle previous, out RTHandle next, bool useMips = false) { RTHandle Allocator(string id, int frameIndex, RTHandleSystem rtHandleSystem) { return rtHandleSystem.Alloc( Vector2.one, TextureXR.slices, DepthBits.None, GraphicsFormat.R16_SFloat, - dimension: TextureXR.dimension, enableRandomWrite: true, useDynamicScale: true, name: $"{id} CoC History" + dimension: TextureXR.dimension, enableRandomWrite: true, useMipMap:useMips, useDynamicScale: true, name: $"{id} CoC History" ); } next = camera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.DepthOfFieldCoC) ?? camera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.DepthOfFieldCoC, Allocator, 2); + + if (useMips == true && next.rt.mipmapCount == 1) + { + camera.ReleaseHistoryFrameRT((int)HDCameraFrameHistoryType.DepthOfFieldCoC); + next = camera.AllocHistoryFrameRT((int)HDCameraFrameHistoryType.DepthOfFieldCoC, Allocator, 2); + } + previous = camera.GetPreviousFrameRT((int)HDCameraFrameHistoryType.DepthOfFieldCoC); } + void ReprojectCoCHistory(CommandBuffer cmd, HDCamera camera, bool useMips, ref RTHandle fullresCoC) + { + GrabCoCHistory(camera, out var prevCoCTex, out var nextCoCTex, useMips); + var cocHistoryScale = new Vector2(camera.historyRTHandleProperties.rtHandleScale.z, camera.historyRTHandleProperties.rtHandleScale.w); + + //Note: this reprojection creates some ghosting, we should replace it with something based on the new TAA + ComputeShader cs = m_Resources.shaders.depthOfFieldCoCReprojectCS; + int kernel = cs.FindKernel("KMain"); + cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(camera.resetPostProcessingHistory ? 0f : 0.91f, cocHistoryScale.x, cocHistoryScale.y, 0f)); + cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputCoCTexture, fullresCoC); + cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._InputHistoryCoCTexture, prevCoCTex); + cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._OutputCoCTexture, nextCoCTex); + cmd.DispatchCompute(cs, kernel, (camera.actualWidth + 7) / 8, (camera.actualHeight + 7) / 8, camera.viewCount); + + // Cleanup the main CoC texture as we don't need it anymore and use the + // re-projected one instead for the following steps + m_Pool.Recycle(fullresCoC); + fullresCoC = nextCoCTex; + } + #endregion #region Depth Of Field (Physically based) @@ -2229,7 +2292,7 @@ void DoPhysicallyBasedDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle // Map the old "max radius" parameters to a bigger range, so we can work on more challenging scenes float maxRadius = Mathf.Max(m_DepthOfField.farMaxBlur, m_DepthOfField.nearMaxBlur); - float cocLimit = Mathf.Clamp(2 * maxRadius, 1, 32); + float cocLimit = Mathf.Clamp(4 * maxRadius, 1, 32); ComputeShader cs; int kernel; @@ -2271,11 +2334,18 @@ void DoPhysicallyBasedDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle float nearStart = Mathf.Min(m_DepthOfField.nearFocusStart.value, nearEnd - 1e-5f); float farStart = Mathf.Max(m_DepthOfField.farFocusStart.value, nearEnd); float farEnd = Mathf.Max(m_DepthOfField.farFocusEnd.value, farStart + 1e-5f); - cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(nearStart, nearEnd, farStart, farEnd)); + cmd.SetComputeVectorParam(cs, HDShaderIDs._Params, new Vector4(farStart, nearEnd, 1.0f / (farEnd - farStart), 1.0f / (nearStart - nearEnd))); + cmd.SetComputeVectorParam(cs, HDShaderIDs._Params2, new Vector4(m_DepthOfField.nearMaxBlur, m_DepthOfField.farMaxBlur, 0, 0)); } cmd.SetComputeTextureParam(cs, kernel, HDShaderIDs._OutputTexture, fullresCoC); cmd.DispatchCompute(cs, kernel, (camera.actualWidth + 7) / 8, (camera.actualHeight + 7) / 8, camera.viewCount); + + if (taaEnabled) + { + bool useMips = true; + ReprojectCoCHistory(cmd, camera, useMips, ref fullresCoC); + } } using (new ProfilingScope(cmd, ProfilingSampler.Get(HDProfileId.DepthOfFieldPyramid))) @@ -2313,7 +2383,8 @@ void DoPhysicallyBasedDepthOfField(CommandBuffer cmd, HDCamera camera, RTHandle cmd.DispatchCompute(cs, kernel, (camera.actualWidth + 7) / 8, (camera.actualHeight + 7) / 8, camera.viewCount); } - m_Pool.Recycle(fullresCoC); + if (!taaEnabled) + m_Pool.Recycle(fullresCoC); } #endregion diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFCircleOfConfusion.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFCircleOfConfusion.compute index 81e5829696a..8981d33ab2f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFCircleOfConfusion.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFCircleOfConfusion.compute @@ -10,8 +10,16 @@ CBUFFER_START(cb0) float4 _Params; +float4 _Params2; CBUFFER_END +#define FarStart _Params.x +#define NearEnd _Params.y +#define FarRange _Params.z // 1 / (FarEnd - FarStart) +#define NearRange _Params.w // 1 / (NearStart - NearEnd) +#define NearMaxRadius _Params2.x +#define FarMaxRadius _Params2.y + // outpute texture RW_TEXTURE2D_X(float, _OutputTexture); @@ -50,7 +58,19 @@ void KMainCoCManual(uint3 dispatchThreadId : SV_DispatchThreadID) { UNITY_XR_ASSIGN_VIEW_INDEX(dispatchThreadId.z); - //TODO + float depth = LoadCameraDepth(dispatchThreadId.xy); + // Note: we can avoid explicit linearization by merging it with the other computations + float linearEyeDepth = LinearEyeDepth(depth, _ZBufferParams); + + float CoC = 0; + if (linearEyeDepth > FarStart) + { + CoC = FarMaxRadius * saturate((linearEyeDepth - FarStart) * FarRange); + } + else if (linearEyeDepth < NearEnd) + { + CoC = - NearMaxRadius * saturate((linearEyeDepth - NearEnd) * NearRange); + } - _OutputTexture[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = 0.0f; + _OutputTexture[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = CoC; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute index 072d3173169..0eaa2ab3cc9 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute @@ -13,6 +13,10 @@ CBUFFER_START(cb0) float4 _Params; CBUFFER_END +#define NumRings _Params.x +#define MaxCoCRadius _Params.y +#define MaxCoCMipLevel _Params.z + // Input textures TEXTURE2D_X(_InputTexture); TEXTURE2D_X(_InputCoCTexture); @@ -22,24 +26,20 @@ RW_TEXTURE2D_X(CTYPE, _OutputTexture); // A set of Defines to fine-tune the algorithm #define NUM_BUCKETS 3 -#define COC_FAR_CLAMPING -#define CENTER_DENSITY -#define RING_DENSITY 8.0 -#define UNIFORM_WEIGHTS -//#define ADAPTIVE_RADIUS #define GRADIENT_NOISE +#define RING_DENSITY 8.0 +#define ADAPTIVE_RADIUS //#define OCTAWEB_SORTING +//#define UNIFORM_WEIGHTS -// DO NOT EDIT: Helper defines so we can have one code path when OCTAWEB_SORTING is enabled or disabled. +// Helper defines so we can have one code path when OCTAWEB_SORTING is enabled or disabled. #ifndef OCTAWEB_SORTING #define RING_COLOR totalColor #define RING_MAXCOC maxCoC - #define RING_HITS totalHits #define RING_ALPHA totalAlpha #else #define RING_COLOR ringColor #define RING_MAXCOC ringMaxCoC - #define RING_HITS ringHits #define RING_ALPHA ringAlpha #endif @@ -78,18 +78,33 @@ float GetCoCRadius(int2 positionSS, out int bucketIndex) { float CoCRadius = LOAD_TEXTURE2D_X(_InputCoCTexture, positionSS).x; bucketIndex = GetCoCBucket(CoCRadius); - return abs(CoCRadius); + return CoCRadius; } float GetCoCMaxRadius(int2 positionSS) { #ifndef ADAPTIVE_RADIUS - return _Params.y; + return MaxCoCRadius; #else // We only have up to 6 mip levels - int lod = min(6, _Params.z); - float maxOverlapingCoC = LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, positionSS >> lod, lod).x; - return abs(maxOverlapingCoC); + int lod = min(6, MaxCoCMipLevel); + uint4 size; + _InputCoCTexture.GetDimensions(lod, size.x, size.y, size.z, size.w); + + // Take RTHandleScale into account and odd texture dimension sizes (it's not enough to do a positionSS >> lod) + uint2 coords = positionSS * _ScreenSize.zw * size.xy * _RTHandleScale.xy; + + // Find the max CoC that is overlapping this pixel by sampling the max neighborhood + float maxOverlapingCoC = abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords, lod).x); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (1, 0), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (0, 1), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (1, 1), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (-1, 0), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (0, -1), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (-1, -1), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (-1, 1), lod).x)); + maxOverlapingCoC = max(maxOverlapingCoC, abs(LOAD_TEXTURE2D_X_LOD(_InputCoCTexture, coords + uint2 (1, -1), lod).x)); + return maxOverlapingCoC; #endif } @@ -99,12 +114,9 @@ float GetSampleWeight(float cocRadius) return 1.0f; #endif - if (cocRadius == 0.0) return 0.0; - float pixelRadius = 0.7071f; - float singlePixelArea = PI * pixelRadius * pixelRadius; - float diskArea = PI * cocRadius * cocRadius; - return diskArea >= singlePixelArea ? rcp(diskArea) : rcp(singlePixelArea); + float radius = max(pixelRadius, cocRadius); + return rcp(PI * radius * radius); } float2 PointInCircle(float angle) @@ -112,26 +124,34 @@ float2 PointInCircle(float angle) return float2(cos(angle), sin(angle)); } -float GetNumSamples(float radius) +float GetNumSamples(float radius, float maxRadius) { - //TODO: needs to take into account the density push towards the center (when enabled) - float numRings = _Params.x; - float maxRadius = _Params.y; - - float dR = maxRadius / numRings; + float dR = maxRadius / NumRings; float rings = floor(radius / dR); float seriesSum = 0.5 * rings * (rings + 1); return 1.0 + seriesSum * RING_DENSITY; } +float GetRingWeight(int index, float dR) +{ + float ringRadius = index * dR; + float ringArea = PI * ringRadius * ringRadius; + + float prevRingRadius = max(0, index - 1) * dR; + float prevRingArea = PI * prevRingRadius * prevRingRadius; + + ringArea = ringArea - prevRingArea; + + float ringSamples = RING_DENSITY * index; + ringSamples = (index == 1) ? ringSamples + 1.0f : ringSamples; + return ringArea * rcp (ringSamples); +} + [numthreads(GROUP_RES, GROUP_RES, 1)] void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) { PositionInputs posInputs = GetPositionInput(float2(dispatchThreadId.xy), _ScreenSize.zw, uint2(GROUP_RES, GROUP_RES)); - - CTYPE centerColor = LOAD_TEXTURE2D_X(_InputTexture, posInputs.positionSS).CTYPE_SWIZZLE; int bucketIndex = 0; - float centerCoc = GetCoCRadius(posInputs.positionSS, bucketIndex); // Bucket 0 : far focus region // Bucket 1 : in focus region @@ -150,60 +170,42 @@ void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) totalColor[i] = 0.0f; maxCoC[i] = 0.0f; prevRingWeight[i] = 0.0f; - totalHits[i] = 0.0f; #ifdef ENABLE_ALPHA totalAlpha[i] = 0.0f; #endif } - // Record the central sample - { - float weight = GetSampleWeight(centerCoc); - totalColor[bucketIndex].xyz = centerColor.xyz * weight; - totalColor[bucketIndex].w = weight; - maxCoC[bucketIndex] = centerCoc; - prevRingWeight[bucketIndex] = weight; -#ifdef ENABLE_ALPHA - totalAlpha[bucketIndex] = centerColor.w; -#endif - } - - float numRings = _Params.x; - float maxRadius = GetCoCMaxRadius(posInputs.positionSS); + float maxRadius = GetCoCMaxRadius(posInputs.positionSS); - float dR = maxRadius * rcp(numRings); + float dR = maxRadius * rcp(NumRings); float stratum = fmod(posInputs.positionSS.x + posInputs.positionSS.y, 2.0f); - // Note: gradient noise seems to give worse results than s - float noise = InterleavedGradientNoise(posInputs.positionSS.xy, 0); - float noise2 = InterleavedGradientNoise(posInputs.positionSS.xy, 9); + + int sampleOffset = _TaaFrameInfo.w != 0.0 ? _TaaFrameInfo.z : 0; + float noise = InterleavedGradientNoise(posInputs.positionSS.xy, sampleOffset); + float noise2 = InterleavedGradientNoise(posInputs.positionSS.xy, 8 + sampleOffset); // Iterate over the octaweb pattern and gather the DoF samples - for (float ring = 1; ring <= numRings; ring += 1.0) + for (float ring = NumRings; ring >= 0; ring -= 1.0) { - float scaledRad = dR; - -#ifdef CENTER_DENSITY - // make the samples more dense at the center - scaledRad = lerp(0.5 * dR, dR, ring * rcp(numRings)); -#endif - - float dAng = 2.0f * PI / (ring * RING_DENSITY); + float numSamples = max(ring * RING_DENSITY, 1); + float dAng = 2.0f * PI / numSamples; - // for high sample counts, checkerboarding looks better #ifndef GRADIENT_NOISE - float radius = ring * scaledRad + stratum * scaledRad; + float radius = ring * dR + stratum * dR; float ringOffset = 0.5 * fmod(ring, 2.0f) * dAng; #else - float radius = ring * scaledRad + noise2 * scaledRad; + float radius = (ring - 1) * dR + noise2 * dR; float ringOffset = noise * dAng; #endif + float ringWeight = GetRingWeight(max(1, ring), dR); + #ifdef OCTAWEB_SORTING float4 ringColor[NUM_BUCKETS]; float ringMaxCoC[NUM_BUCKETS]; float ringHits[NUM_BUCKETS]; #ifdef ENABLE_ALPHA - float4 ringAlpha[NUM_BUCKETS]; + float ringAlpha[NUM_BUCKETS]; #endif for (int i = 0; i < NUM_BUCKETS; ++i) @@ -226,127 +228,56 @@ void KMain(uint3 dispatchThreadId : SV_DispatchThreadID) CTYPE sampleColor = LOAD_TEXTURE2D_X(_InputTexture, sampleTC).CTYPE_SWIZZLE; float sampleCoC = GetCoCRadius(sampleTC, sampleBucket); -#ifdef COC_FAR_CLAMPING - if (sampleBucket < 1) - sampleCoC = clamp(sampleCoC, 0, centerCoc); -#endif - - if (sampleCoC > radius) + if (abs(sampleCoC) >= radius) { - float weight = GetSampleWeight(sampleCoC); - RING_COLOR[sampleBucket].xyz += sampleColor.xyz * weight; - RING_COLOR[sampleBucket].w += weight; - RING_MAXCOC[sampleBucket] = max(RING_MAXCOC[sampleBucket], sampleCoC); - RING_HITS[sampleBucket] += 1.0; -#ifdef ENABLE_ALPHA - RING_ALPHA[sampleBucket] = sampleColor.w * weight; + float weight = ringWeight * GetSampleWeight(abs(sampleCoC)); + RING_COLOR[sampleBucket] += float4(sampleColor.xyz * weight, weight); + RING_MAXCOC[sampleBucket] = max(RING_MAXCOC[sampleBucket], abs(sampleCoC)); +#ifdef OCTAWEB_SORTING + ringHits[sampleBucket] += 1.0; #endif - } -#ifdef UNIFORM_WEIGHTS - else - { - RING_COLOR[sampleBucket].xyz += RING_COLOR[sampleBucket].xyz / RING_COLOR[sampleBucket].w; - RING_COLOR[sampleBucket].w += 1.0f; #ifdef ENABLE_ALPHA - RING_ALPHA[sampleBucket] += RING_ALPHA[sampleBucket] / RING_COLOR[sampleBucket].w; + RING_ALPHA[sampleBucket] = sampleColor.w * weight; #endif } -#endif } #ifdef OCTAWEB_SORTING - // Far bucket - { - totalColor[0] += RING_COLOR[0]; - maxCoC[0] = max(maxCoC[0], RING_MAXCOC[0]); - totalHits[0] += RING_HITS[0]; -#ifdef ENABLE_ALPHA - totalAlpha[0] += RING_ALPHA[0]; -#endif - } - - // In-focus bucket - { - totalColor[1] += RING_COLOR[1]; - maxCoC[1] = max(maxCoC[1], RING_MAXCOC[1]); - totalHits[1] += RING_HITS[1]; -#ifdef ENABLE_ALPHA - totalAlpha[1] += RING_ALPHA[1]; -#endif - } - - // Near bucket + for (int j = 0; j < NUM_BUCKETS; ++j) { - float currentAvg = RING_COLOR[2].w * rcp(ring * RING_DENSITY); - float prevAvg = prevRingWeight[2] * ((ring > 1) ? rcp((ring - 1.0) * RING_DENSITY) : 1); + float currentAvg = RING_COLOR[j].w * rcp(ring * RING_DENSITY); + float prevAvg = (ring < numRings) ? prevRingWeight[j] : currentAvg; float occlusion = saturate(prevAvg - currentAvg); - //float alpha = saturate(RING_COLOR[2].w * rcp(GetNumSamples(RING_MAXCOC[2])) * rcp(getSampleWeight(RING_MAXCOC[2]))); - float alpha = ringHits[2] * rcp(ring * RING_DENSITY); - - //totalColor[2] += RING_COLOR[2]; - maxCoC[2] = max(maxCoC[2], RING_MAXCOC[2]); - totalHits[2] += RING_HITS[2]; + float alpha = ringHits[j] * rcp(ring * RING_DENSITY); float blendFactor = 1.0 - alpha * occlusion; - totalColor[2] = blendFactor * totalColor[2] + RING_COLOR[2]; - prevRingWeight[2] = ringColor[2].w; + totalColor[j] = blendFactor * totalColor[j] + RING_COLOR[j]; + prevRingWeight[j] = currentAvg; #ifdef ENABLE_ALPHA - totalAlpha[2] += blendFactor * totalAlpha[2] + RING_ALPHA[2]; + totalAlpha[j] += blendFactor * totalAlpha[j] + RING_ALPHA[j]; #endif } #endif } - // Now compute the final color by combining the near, far and in-focus buckets with proper blending - - // Far range - float3 outColor = totalColor[0].xyz; - float totalW = totalColor[0].w; -#ifdef ENABLE_ALPHA - float outAlpha = totalAlpha[0]; -#endif - -#ifndef UNIFORM_WEIGHTS - // In focus range - { - // TODO: we might need to re-investigate the normaziation here, there is banding - float alpha = saturate(totalColor[1].w * rcp(GetNumSamples(maxCoC[1])) * rcp(GetSampleWeight(maxCoC[1]))); - outColor.xyz = (1.0 - alpha) * outColor.xyz + totalColor[1].xyz; - totalW = (1.0 - alpha) * totalW + totalColor[1].w; -#ifdef ENABLE_ALPHA - outAlpha = (1.0 - alpha) * outAlpha + totalAlpha[1]; -#endif - } - if (totalW > 0) outColor.xyz /= totalW; - - // Near range - float alpha = saturate(3 * totalHits[2] * rcp(GetNumSamples(maxCoC[2]))); - float3 srcColor = totalColor[2].w > 0 ? totalColor[2].xyz / totalColor[2].w : 0.0f; - outColor.xyz = (1.0 - alpha) * outColor.xyz + alpha * srcColor; + float4 outColor = 0; #ifdef ENABLE_ALPHA - float srcAlpha = totalColor[2].w > 0 ? totalAlpha[2] / totalColor[2].w : 0.0f; - outAlpha = (1.0 - alpha) * outAlpha + alpha * srcAlpha; - + float outAlpha = 0; #endif -#else - // back to front alpha blending of the other buckets - for (int j = 1; j < NUM_BUCKETS; ++j) + // back to front alpha blending of the near, far and in-focus buckets + for (int j = 0; j < NUM_BUCKETS; ++j) { - // TODO: we might need to re-investigate the normaziation here, there is banding - float alpha = saturate(totalColor[j].w * rcp(GetNumSamples(maxCoC[j])) * rcp(GetSampleWeight(maxCoC[j]))); - - outColor.xyz = (1.0 - alpha) * outColor.xyz + totalColor[j].xyz; - totalW = (1.0 - alpha) * totalW + totalColor[j].w; + float alpha = saturate(totalColor[j].w * rcp(GetNumSamples(maxCoC[j], maxRadius)) * rcp(GetSampleWeight(maxCoC[j]))); + outColor = (1.0 - alpha) * outColor + alpha * totalColor[j]; #ifdef ENABLE_ALPHA - outAlpha = (1.0 - alpha) * outAlpha + totalAlpha[j]; + outAlpha = (1.0 - alpha) * outAlpha + alpha * totalAlpha[j]; #endif } - outColor.xyz = outColor.xyz * rcp(totalW); -#endif + outColor.xyz = outColor.xyz * rcp(outColor.w); #ifdef ENABLE_ALPHA - _OutputTexture[COORD_TEXTURE2D_X(posInputs.positionSS)] = float4(outColor.xyz, outAlpha * rcp(totalW)); + _OutputTexture[COORD_TEXTURE2D_X(posInputs.positionSS)] = float4(outColor.xyz, outAlpha * rcp(outColor.w)); #else _OutputTexture[COORD_TEXTURE2D_X(posInputs.positionSS)] = outColor.xyz; #endif 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 b88b6224d8d..907473c39e8 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 @@ -14,7 +14,7 @@ Shader "Hidden/HDRP/TemporalAA" #pragma multi_compile_local _ FORCE_BILINEAR_HISTORY #pragma multi_compile_local _ ENABLE_MV_REJECTION #pragma multi_compile_local _ ANTI_RINGING - #pragma multi_compile_local LOW_QUALITY MEDIUM_QUALITY HIGH_QUALITY + #pragma multi_compile_local LOW_QUALITY MEDIUM_QUALITY HIGH_QUALITY POST_DOF #pragma only_renderers d3d11 playstation xboxone vulkan metal switch @@ -69,6 +69,19 @@ Shader "Hidden/HDRP/TemporalAA" #define PERCEPTUAL_SPACE 1 #define PERCEPTUAL_SPACE_ONLY_END 0 && (PERCEPTUAL_SPACE == 0) +#elif defined(POST_DOF) + #define YCOCG 1 + #define HISTORY_SAMPLING_METHOD BILINEAR + #define WIDE_NEIGHBOURHOOD 0 + #define NEIGHBOUROOD_CORNER_METHOD VARIANCE + #define CENTRAL_FILTERING NO_FILTERINGs + #define HISTORY_CLIP DIRECT_CLIP + #define ANTI_FLICKER 1 + #define ANTI_FLICKER_MV_DEPENDENT 1 + #define VELOCITY_REJECTION (defined(ENABLE_MV_REJECTION) && 0) + #define PERCEPTUAL_SPACE 1 + #define PERCEPTUAL_SPACE_ONLY_END 0 && (PERCEPTUAL_SPACE == 0) + #endif @@ -85,9 +98,10 @@ Shader "Hidden/HDRP/TemporalAA" #define _SpeedRejectionIntensity _TaaPostParameters.z #define _ContrastForMaxAntiFlicker _TaaPostParameters.w - +#if VELOCITY_REJECTION TEXTURE2D_X(_InputVelocityMagnitudeHistory); RW_TEXTURE2D_X(float, _OutputVelocityMagnitudeHistory); +#endif float4 _TaaPostParameters; float4 _TaaHistorySize; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDAdditionalCameraData.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDAdditionalCameraData.cs index a9667339265..fe2b89f1c15 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDAdditionalCameraData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDAdditionalCameraData.cs @@ -13,7 +13,7 @@ public class HDPhysicalCamera /// /// The minimum allowed aperture. /// - public const float kMinAperture = 1f; + public const float kMinAperture = 0.7f; /// /// The maximum allowed aperture. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCameraFrameHistoryType.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCameraFrameHistoryType.cs index 08a16af16a0..95c52429323 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCameraFrameHistoryType.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Camera/HDCameraFrameHistoryType.cs @@ -41,6 +41,8 @@ public enum HDCameraFrameHistoryType RayTracedSubSurface, /// Path tracing buffer. PathTracing, + /// Temporal antialiasing history after DoF. + TemporalAntialiasingPostDoF, /// Number of history buffers. Count } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs index f77d6923019..2710fc3a8c3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/GlobalPostProcessingQualitySettings.cs @@ -122,6 +122,8 @@ internal GlobalPostProcessingQualitySettings() public DepthOfFieldResolution[] DoFResolution = new DepthOfFieldResolution[s_QualitySettingCount]; /// Use Depth of field high quality filtering for each quality level. public bool[] DoFHighQualityFiltering = new bool[s_QualitySettingCount]; + /// Use Depth of field high physically based setting for each quality level. + public bool[] DoFPhysicallyBased = new bool[s_QualitySettingCount]; /* Motion Blur */ /// Motion Blur sample count for each quality level. From 297f9d6d11185232017f90ac275e12f2696aaa1b Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Sat, 11 Jul 2020 01:59:05 +0200 Subject: [PATCH 35/35] Fix an issue with DofGather.compute not compiling on Metal --- .../Runtime/PostProcessing/Shaders/DoFGather.compute | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute index 0eaa2ab3cc9..16ad4aaa67f 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/PostProcessing/Shaders/DoFGather.compute @@ -88,8 +88,18 @@ float GetCoCMaxRadius(int2 positionSS) #else // We only have up to 6 mip levels int lod = min(6, MaxCoCMipLevel); + + // TODO FIXME - (Seb) I added this patch for metal as it was causing a + // Shader error in 'DoFGather': 'GetDimensions' : no matching 5 parameter intrinsic method; + // But overall I am even not this if this call work on Metal. +#if defined(SHADER_API_METAL) + uint3 size; + // Texture2D.GetDimensions(uint, out uint width, out uint height, out uint levels) + _InputCoCTexture.GetDimensions(lod, size.x, size.y, size.z); +#else uint4 size; _InputCoCTexture.GetDimensions(lod, size.x, size.y, size.z, size.w); +#endif // Take RTHandleScale into account and odd texture dimension sizes (it's not enough to do a positionSS >> lod) uint2 coords = positionSS * _ScreenSize.zw * size.xy * _RTHandleScale.xy;