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/57] 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/57] 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/57] 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.

From f8893e50ebb86f513af53e9510b8659c70ab9d71 Mon Sep 17 00:00:00 2001
From: sebastienlagarde
Date: Tue, 7 Jul 2020 09:27:52 +0200
Subject: [PATCH 04/57] 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.

@@ -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.

**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

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