From b21cdb381476b002c0632c806feed53a1614b94c Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 6 Sep 2021 21:00:18 +0200 Subject: [PATCH 01/30] First pass of cleanup --- .../AssetProcessors/MaterialPostProcessor.cs | 2 + .../Material/LayeredLit/LayeredLitGUI.cs | 2 +- .../Editor/Material/Lit/BaseLitGUI.cs | 14 ++--- .../Editor/Material/Lit/LitGUI.cs | 2 +- .../Material/Lit/LitShaderPreprocessor.cs | 15 ++++-- .../Material/Lit/ShaderGraph/HDLitData.cs | 8 --- .../Lit/ShaderGraph/HDLitSubTarget.cs | 15 +----- .../Material/ShaderGraph/HDShaderPasses.cs | 1 + .../Editor/Material/ShaderGraph/HDTarget.cs | 10 ++-- .../LitAdvancedOptionsPropertyBlock.cs | 28 ---------- .../LitAdvancedOptionsPropertyBlock.cs.meta | 11 ---- .../ShaderGraph/Templates/ShaderPass.template | 2 +- .../UIBlocks/LitAdvancedOptionsUIBlock.cs | 52 ------------------- .../LitAdvancedOptionsUIBlock.cs.meta | 11 ---- .../Material/UIBlocks/LitShaderGraphGUI.cs | 2 - .../HDRenderPipelineMenuItems.cs | 48 ----------------- .../Material/LayeredLit/LayeredLit.shader | 6 +-- .../LayeredLit/LayeredLitTessellation.shader | 5 +- .../Runtime/Material/Lit/Lit.shader | 6 +-- .../Runtime/Material/Lit/LitBuiltinData.hlsl | 4 +- .../Material/Lit/LitTessellation.shader | 6 +-- .../RenderPipeline/HDStringConstants.cs | 1 - 22 files changed, 33 insertions(+), 218 deletions(-) delete mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs delete mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs.meta delete mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs delete mode 100644 com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs.meta diff --git a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs index 1151cb1da00..a2ccc6dc147 100644 --- a/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/AssetProcessors/MaterialPostProcessor.cs @@ -921,6 +921,8 @@ static void MetallicRemapping(Material material, HDShaderUtils.ShaderID id) } } + // This function below is not used anymore - the code have been removed - however we must maintain the function to keep already converted Material coherent + // As it doesn't do anything special, there is no problem to let it static void ForceForwardEmissiveForDeferred(Material material, HDShaderUtils.ShaderID id) { // Force Forward emissive for deferred pass is only setup for Lit shader diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs index 89e19cfb0a4..7b8f4bc0a82 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/LayeredLit/LayeredLitGUI.cs @@ -33,7 +33,7 @@ class LayeredLitGUI : HDShaderGUI new LayerListUIBlock(MaterialUIBlock.ExpandableBit.MaterialReferences), new LayersUIBlock(), new EmissionUIBlock(MaterialUIBlock.ExpandableBit.Emissive, features: emissionFeatures), - new LitAdvancedOptionsUIBlock(MaterialUIBlock.ExpandableBit.Advance), + new AdvancedOptionsUIBlock(MaterialUIBlock.ExpandableBit.Advance), }; protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs index 86f3a89e5e9..a2e19e33317 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs @@ -141,11 +141,6 @@ static public void SetupBaseLitKeywords(Material material) CoreUtils.SetKeyword(material, "_REFRACTION_SPHERE", (refractionModelValue == ScreenSpaceRefraction.RefractionModel.Sphere) && canHaveRefraction); CoreUtils.SetKeyword(material, "_REFRACTION_THIN", (refractionModelValue == ScreenSpaceRefraction.RefractionModel.Thin) && canHaveRefraction); } - - if (material.HasProperty(kForceForwardEmissive)) - { - CoreUtils.SetKeyword(material, "_FORCE_FORWARD_EMISSIVE", material.GetInt(kForceForwardEmissive) != 0); - } } static public void SetupStencil(Material material, bool receivesSSR, bool useSplitLighting) @@ -233,10 +228,10 @@ static public void SetupBaseLitMaterialPass(Material material) { material.SetupBaseUnlitPass(); - if (material.HasProperty(kForceForwardEmissive)) + // Emissive check below is only for the lit shader + // It is possible that it works with SG if the SG properties have the same name. + if (material.FindPass(HDShaderPassNames.s_ForwardEmissiveForDeferredStr) != -1) { - // Emissive check below is only for the lit shader - // It is possible that it works with SG if the SG properties have the same name. bool emissiveIsDisabled = false; if (material.HasProperty(kUseEmissiveIntensity)) { @@ -265,8 +260,7 @@ static public void SetupBaseLitMaterialPass(Material material) } } - bool forceForwardEmissive = (material.GetFloat(kForceForwardEmissive) > 0.0f) && ((SurfaceType)material.GetFloat(kSurfaceType) == SurfaceType.Opaque); - material.SetShaderPassEnabled(HDShaderPassNames.s_ForwardEmissiveForDeferredStr, forceForwardEmissive && !emissiveIsDisabled); + material.SetShaderPassEnabled(HDShaderPassNames.s_ForwardEmissiveForDeferredStr, ((SurfaceType)material.GetFloat(kSurfaceType) == SurfaceType.Opaque) && !emissiveIsDisabled); } } } 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 83983ad1c2b..1f372118afc 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.ExpandableBit.Transparency, features: TransparencyUIBlock.Features.All & ~TransparencyUIBlock.Features.Distortion), new EmissionUIBlock(MaterialUIBlock.ExpandableBit.Emissive), - new LitAdvancedOptionsUIBlock(MaterialUIBlock.ExpandableBit.Advance, AdvancedOptionsUIBlock.Features.StandardLit), + new AdvancedOptionsUIBlock(MaterialUIBlock.ExpandableBit.Advance, AdvancedOptionsUIBlock.Features.StandardLit), }; protected override void OnMaterialGUI(MaterialEditor materialEditor, MaterialProperty[] props) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs index 75fd28d92e1..842322c2925 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs @@ -18,7 +18,7 @@ class LitShaderPreprocessor : BaseShaderPreprocessor public LitShaderPreprocessor() { - m_ForceForwardEmissive = new UnityEngine.Rendering.ShaderKeyword("_FORCE_FORWARD_EMISSIVE"); + m_ForceForwardEmissive = new UnityEngine.Rendering.ShaderKeyword("_GBUFFER_NO_EMISSIVE"); } protected override bool DoShadersStripper(HDRenderPipelineAsset hdrpAsset, Shader shader, ShaderSnippetData snippet, ShaderCompilerData inputData) @@ -81,11 +81,18 @@ protected override bool DoShadersStripper(HDRenderPipelineAsset hdrpAsset, Shade bool isForwardEmissiveForDeferred = snippet.passName == "ForwardEmissiveForDeferred"; if (isForwardEmissiveForDeferred) { - if (hdrpAsset.currentPlatformRenderPipelineSettings.supportedLitShaderMode == RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly) + if (hdrpAsset.currentPlatformRenderPipelineSettings.supportedLitShaderMode == RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly || + !hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive) + return true; + } + + // Remove the force emissive forward variant of GBuffer not used in for this hdrp asset + if (isGBufferPass) + { + if (!hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive && inputData.shaderKeywordSet.IsEnabled(m_ForceForwardEmissive)) return true; - // If the pass is not used because the keyword ForceForwardEmissive is not enabled, then discard - if (!inputData.shaderKeywordSet.IsEnabled(m_ForceForwardEmissive)) + if (hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive && !inputData.shaderKeywordSet.IsEnabled(m_ForceForwardEmissive)) return true; } diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs index 38d4014e7e6..adba6e74118 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs @@ -84,13 +84,5 @@ public bool emissionOverriden get => m_EmissionOverriden; set => m_EmissionOverriden = value; } - - [SerializeField] - bool m_ForceForwardEmissive = false; - public bool forceForwardEmissive - { - get => m_ForceForwardEmissive; - set => m_ForceForwardEmissive = value; - } } } 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 96647ea8366..b9e415b6bb5 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 @@ -211,25 +211,12 @@ public override void CollectShaderProperties(PropertyCollector collector, Genera enumNames = Enum.GetNames(typeof(ScreenSpaceRefraction.RefractionModel)).ToList(), overrideReferenceName = kRefractionModel, }); - - // Note: Due to the shader graph framework it is not possible to rely on litData.emissionOverriden - // to decide to add the ForceForwardEmissive property or not. The emissionOverriden setup is done after - // the call to AddShaderProperty - collector.AddShaderProperty(new BooleanShaderProperty - { - value = litData.forceForwardEmissive, - hidden = true, - overrideHLSLDeclaration = true, - hlslDeclarationOverride = HLSLDeclaration.DoNotDeclare, - overrideReferenceName = kForceForwardEmissive, - }); } protected override void CollectPassKeywords(ref PassDescriptor pass) { base.CollectPassKeywords(ref pass); pass.keywords.Add(RefractionKeyword); - pass.keywords.Add(CoreKeywordDescriptors.ForceForwardEmissive); } protected override void AddInspectorPropertyBlocks(SubTargetPropertiesGUI blockList) @@ -237,7 +224,7 @@ protected override void AddInspectorPropertyBlocks(SubTargetPropertiesGUI blockL blockList.AddPropertyBlock(new LitSurfaceOptionPropertyBlock(litData)); if (systemData.surfaceType == SurfaceType.Transparent) blockList.AddPropertyBlock(new DistortionPropertyBlock()); - blockList.AddPropertyBlock(new LitAdvancedOptionsPropertyBlock(litData)); + blockList.AddPropertyBlock(new AdvancedOptionsPropertyBlock()); } protected override int ComputeMaterialNeedsUpdateHash() 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 c334a2e89ca..ce8a4894359 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 @@ -826,6 +826,7 @@ public static PassDescriptor GenerateGBuffer(bool useVFX, bool useTessellation) public static KeywordCollection GBufferKeywords = new KeywordCollection { { CoreKeywordDescriptors.LightLayers }, + { CoreKeywordDescriptors.ForceForwardEmissive }, }; public static IncludeCollection GBufferIncludes = new IncludeCollection 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 27c5a0586bc..48ad86c356f 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 @@ -1516,12 +1516,12 @@ static class CoreKeywordDescriptors public static KeywordDescriptor ForceForwardEmissive = new KeywordDescriptor { - displayName = "Force Forward Emissive", - referenceName = "_FORCE_FORWARD_EMISSIVE", + displayName = "GBuffer No Emissive", + referenceName = "_GBUFFER_NO_EMISSIVE", type = KeywordType.Boolean, - definition = KeywordDefinition.ShaderFeature, - scope = KeywordScope.Global, // not local as it is use in shader stripper to discard the pass if not needed - // stages = KeywordShaderStage.Fragment, // not _fragment as it prevent the stripper to work + definition = KeywordDefinition.MultiCompile, + scope = KeywordScope.Global, + stages = KeywordShaderStage.Fragment, }; public static KeywordDescriptor TransparentWritesMotionVector = new KeywordDescriptor diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs deleted file mode 100644 index 811c5bc900a..00000000000 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs +++ /dev/null @@ -1,28 +0,0 @@ -using System; -using System.Collections.Generic; -using UnityEngine.Rendering; -using UnityEngine.Rendering.HighDefinition; -using UnityEditor.ShaderGraph; -using UnityEngine.UIElements; -using UnityEditor.UIElements; -using UnityEngine; - -// We share the name of the properties in the UI to avoid duplication -using static UnityEditor.Rendering.HighDefinition.LitAdvancedOptionsUIBlock.Styles; - -namespace UnityEditor.Rendering.HighDefinition.ShaderGraph -{ - class LitAdvancedOptionsPropertyBlock : AdvancedOptionsPropertyBlock - { - HDLitData litData; - - public LitAdvancedOptionsPropertyBlock(HDLitData litData) => this.litData = litData; - - protected override void CreatePropertyGUI() - { - base.CreatePropertyGUI(); - - AddProperty(forceForwardEmissiveText, () => litData.forceForwardEmissive, (newValue) => litData.forceForwardEmissive = newValue); - } - } -} diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs.meta b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs.meta deleted file mode 100644 index 57e398dd0ab..00000000000 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/LitAdvancedOptionsPropertyBlock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a6515424536ad6b45a92474ce785af07 -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/Templates/ShaderPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template index 357640fba14..891e8a45cf6 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template @@ -303,7 +303,7 @@ Pass $BackLightingGI: builtinData.backBakeDiffuseLighting = surfaceDescription.BakedBackGI; // If we want to force forward emissive and we have GBuffer pass, don't do anything - #if !(SHADERPASS == SHADERPASS_GBUFFER && defined(_FORCE_FORWARD_EMISSIVE)) + #ifndef _GBUFFER_NO_EMISSIVE $SurfaceDescription.Emission: builtinData.emissiveColor = surfaceDescription.Emission; #endif diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs deleted file mode 100644 index a18cffff4f7..00000000000 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs +++ /dev/null @@ -1,52 +0,0 @@ -using UnityEngine; -using UnityEngine.Rendering.HighDefinition; - -// Include material common properties names -using static UnityEngine.Rendering.HighDefinition.HDMaterialProperties; - -namespace UnityEditor.Rendering.HighDefinition -{ - /// - /// Represents an advanced options material UI block. - /// - public class LitAdvancedOptionsUIBlock : AdvancedOptionsUIBlock - { - internal new class Styles - { - public static readonly GUIContent forceForwardEmissiveText = new GUIContent("Force Forward Emissive", "When in Lit shader mode: deferred. It forces the emissive part of the material to be rendered into an additional forward pass. This can improve quality and solve artefacts when using SSGI but have an additional CPU and GPU cost."); - } - - MaterialProperty forceForwardEmissive = null; - const string kForceForwardEmissive = HDMaterialProperties.kForceForwardEmissive; - - /// - /// Constructs the AdvancedOptionsUIBlock based on the parameters. - /// - /// Bit index used to store the foldout state. - /// Features of the block. - public LitAdvancedOptionsUIBlock(ExpandableBit expandableBit, Features features = Features.All) : base(expandableBit, features) { } - - /// - /// Loads the material properties for the block. - /// - public override void LoadMaterialProperties() - { - base.LoadMaterialProperties(); - forceForwardEmissive = FindProperty(kForceForwardEmissive); - } - - /// - /// Renders the advanced options in the advanced option foldout - /// - protected override void OnGUIOpen() - { - base.OnGUIOpen(); - - if (forceForwardEmissive != null) - { - if (materials[0].FindPass("ForwardEmissiveForDeferred") != -1 && ((SurfaceType)materials[0].GetFloat(kSurfaceType) != SurfaceType.Transparent)) - materialEditor.ShaderProperty(forceForwardEmissive, Styles.forceForwardEmissiveText); - } - } - } -} diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs.meta b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs.meta deleted file mode 100644 index 81da4ad09ea..00000000000 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitAdvancedOptionsUIBlock.cs.meta +++ /dev/null @@ -1,11 +0,0 @@ -fileFormatVersion: 2 -guid: a57b88cba3eebca4cbd3ff3af4cb4927 -MonoImporter: - externalObjects: {} - serializedVersion: 2 - defaultReferences: [] - executionOrder: 0 - icon: {instanceID: 0} - userData: - assetBundleName: - assetBundleVariant: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitShaderGraphGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitShaderGraphGUI.cs index 1048d4e6444..760d0c4cfd7 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitShaderGraphGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/UIBlocks/LitShaderGraphGUI.cs @@ -13,8 +13,6 @@ internal class LitShaderGraphGUI : LightingShaderGraphGUI { public LitShaderGraphGUI() { - uiBlocks[uiBlocks.FindIndex(b => b is AdvancedOptionsUIBlock)] = new LitAdvancedOptionsUIBlock(MaterialUIBlock.ExpandableBit.Advance, ~AdvancedOptionsUIBlock.Features.SpecularOcclusion); - // Lit SG have refraction block uiBlocks.Insert(1, new TransparencyUIBlock(MaterialUIBlock.ExpandableBit.Transparency, TransparencyUIBlock.Features.Refraction)); } 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 386c79e5a18..30917441183 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineMenuItems.cs @@ -93,54 +93,6 @@ static void CreateSceneSettingsGameObject(MenuCommand menuCommand) volume.sharedProfile = profile; } - [MenuItem("Edit/Rendering/Materials/Enable HDRP Force Forward Emissive on Selected Materials")] - internal static void ForceForwardEmissiveOnMaterialEnableInSelection() - { - var selection = UnityEditor.Selection.objects; - - foreach (var obj in selection) - { - if (obj is Material material) - { - if (material.HasProperty(HDMaterialProperties.kForceForwardEmissive)) - { - material.SetInt(HDMaterialProperties.kForceForwardEmissive, 1); - HDShaderUtils.ResetMaterialKeywords(material); - } - } - } - } - - [MenuItem("Edit/Rendering/Materials/Enable HDRP Force Forward Emissive on Scene Materials")] - internal static void ForceForwardEmissiveOnMaterialEnableInScene() - { - var materials = Resources.FindObjectsOfTypeAll(); - - foreach (var material in materials) - { - if (material.HasProperty(HDMaterialProperties.kForceForwardEmissive)) - { - material.SetInt(HDMaterialProperties.kForceForwardEmissive, 1); - HDShaderUtils.ResetMaterialKeywords(material); - } - } - } - - [MenuItem("Edit/Rendering/Materials/Disable HDRP Force Forward Emissive on Scene Materials")] - internal static void ForceForwardEmissiveOnMaterialDisableInScene() - { - var materials = Resources.FindObjectsOfTypeAll(); - - foreach (var material in materials) - { - if (material.HasProperty(HDMaterialProperties.kForceForwardEmissive)) - { - material.SetInt(HDMaterialProperties.kForceForwardEmissive, 0); - HDShaderUtils.ResetMaterialKeywords(material); - } - } - } - [MenuItem("Edit/Rendering/Materials/Upgrade HDRP Materials to Latest Version", priority = CoreUtils.Priorities.editMenuPriority)] internal static void UpgradeMaterials() { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader index a28294fda2b..6fe7208316b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader @@ -377,7 +377,6 @@ Shader "HDRP/LayeredLit" [ToggleUI] _SupportDecals("Support Decals", Float) = 1.0 [ToggleUI] _ReceivesSSR("Receives SSR", Float) = 1.0 [ToggleUI] _AddPrecomputedVelocity("AddPrecomputedVelocity", Float) = 0.0 - [ToggleUI] _ForceForwardEmissive("ForceForwardEmissive", Float) = 0.0 // Ray Tracing [ToggleUI] _RayTracing("Ray Tracing (Preview)", Float) = 0 @@ -506,10 +505,6 @@ Shader "HDRP/LayeredLit" #pragma shader_feature_local _ADD_PRECOMPUTED_VELOCITY - // not local as it is use in shader stripper to discard the pass if not needed - // not _fragment as it prevent the stripper to work - #pragma shader_feature _FORCE_FORWARD_EMISSIVE - // Keyword for transparent #pragma shader_feature _SURFACE_TYPE_TRANSPARENT #pragma shader_feature_local_fragment _ENABLE_FOG_ON_TRANSPARENT @@ -697,6 +692,7 @@ Shader "HDRP/LayeredLit" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS + #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader index d79b23c3be1..62d42eb25e0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader @@ -387,7 +387,6 @@ Shader "HDRP/LayeredLitTessellation" [ToggleUI] _SupportDecals("Support Decals", Float) = 1.0 [ToggleUI] _ReceivesSSR("Receives SSR", Float) = 1.0 [ToggleUI] _AddPrecomputedVelocity("AddPrecomputedVelocity", Float) = 0.0 - [ToggleUI] _ForceForwardEmissive("ForceForwardEmissive", Float) = 0.0 [HideInInspector][NoScaleOffset]unity_Lightmaps("unity_Lightmaps", 2DArray) = "" {} [HideInInspector][NoScaleOffset]unity_LightmapsInd("unity_LightmapsInd", 2DArray) = "" {} @@ -511,9 +510,6 @@ Shader "HDRP/LayeredLitTessellation" #pragma shader_feature_local _DISABLE_SSR_TRANSPARENT #pragma shader_feature_local _ADD_PRECOMPUTED_VELOCITY - // not local as it is use in shader stripper to discard the pass if not needed - // not _fragment as it prevent the stripper to work - #pragma shader_feature _FORCE_FORWARD_EMISSIVE #pragma shader_feature_local_fragment _ENABLE_GEOMETRIC_SPECULAR_AA // Keyword for transparent @@ -724,6 +720,7 @@ Shader "HDRP/LayeredLitTessellation" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS + #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader index 5501967ffcf..f97960c0df4 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader @@ -203,7 +203,6 @@ Shader "HDRP/Lit" [ToggleUI] _ReceivesSSR("Receives SSR", Float) = 1.0 [ToggleUI] _ReceivesSSRTransparent("Receives SSR Transparent", Float) = 0.0 [ToggleUI] _AddPrecomputedVelocity("AddPrecomputedVelocity", Float) = 0.0 - [ToggleUI] _ForceForwardEmissive("ForceForwardEmissive", Float) = 0.0 // Ray Tracing [ToggleUI] _RayTracing("Ray Tracing (Preview)", Float) = 0 @@ -314,10 +313,6 @@ Shader "HDRP/Lit" #pragma shader_feature_local _ADD_PRECOMPUTED_VELOCITY - // not local as it is use in shader stripper to discard the pass if not needed - // not _fragment as it prevent the stripper to work - #pragma shader_feature _FORCE_FORWARD_EMISSIVE - //------------------------------------------------------------------------------------- // Define //------------------------------------------------------------------------------------- @@ -492,6 +487,7 @@ Shader "HDRP/Lit" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS + #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl index 4c0fb55f6df..f1e9b5302b1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl @@ -23,7 +23,7 @@ void GetBuiltinData(FragInputs input, float3 V, inout PositionInputs posInput, S PostInitBuiltinData(V, posInput, surfaceData, builtinData); } -#if SHADERPASS == SHADERPASS_GBUFFER && defined(_FORCE_FORWARD_EMISSIVE) // in case emissive is done in forward pass, do nothing in gbuffer pass +#ifdef _GBUFFER_NO_EMISSIVE // in case emissive is done in forward pass, do nothing in gbuffer pass float3 GetEmissiveColor(SurfaceData surfaceData) { return float3(0.0, 0.0, 0.0); @@ -50,7 +50,7 @@ float3 GetEmissiveColor(SurfaceData surfaceData, UVMapping emissiveMapMapping) } #endif // _EMISSIVE_COLOR_MAP -#endif // _FORCE_FORWARD_EMISSIVE +#endif // _GBUFFER_NO_EMISSIVE void GetBuiltinData(FragInputs input, float3 V, inout PositionInputs posInput, SurfaceData surfaceData, float alpha, float3 bentNormalWS, float depthOffset, out BuiltinData builtinData) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader index ce88d3f398f..f94bd1e44ad 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader @@ -212,7 +212,6 @@ Shader "HDRP/LitTessellation" [ToggleUI] _ReceivesSSR("Receives SSR", Float) = 1.0 [ToggleUI] _ReceivesSSRTransparent("Receives SSR Transparent", Float) = 0.0 [ToggleUI] _AddPrecomputedVelocity("AddPrecomputedVelocity", Float) = 0.0 - [ToggleUI] _ForceForwardEmissive("ForceForwardEmissive", Float) = 0.0 // Ray Tracing [ToggleUI] _RayTracing("Ray Tracing (Preview)", Float) = 0 @@ -325,10 +324,6 @@ Shader "HDRP/LitTessellation" #pragma shader_feature_local _ADD_PRECOMPUTED_VELOCITY - // not local as it is use in shader stripper to discard the pass if not needed - // not _fragment as it prevent the stripper to work - #pragma shader_feature _FORCE_FORWARD_EMISSIVE - //------------------------------------------------------------------------------------- // Define //------------------------------------------------------------------------------------- @@ -512,6 +507,7 @@ Shader "HDRP/LitTessellation" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS + #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer 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 e06e5d423c9..388f529ffb2 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -1146,7 +1146,6 @@ public static class HDMaterialProperties internal const string kRefractionModel = "_RefractionModel"; // Emission - internal const string kForceForwardEmissive = "_ForceForwardEmissive"; internal const string kEmissiveColorMap = "_EmissiveColorMap"; // Tessellation From ca54f170359ffc007e61f7263408dc6d6112a69c Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 6 Sep 2021 21:18:25 +0200 Subject: [PATCH 02/30] add support force forward bool --- .../Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs | 1 + .../Editor/RenderPipeline/HDRenderPipelineUI.cs | 1 + .../Runtime/RenderPipeline/HDRenderPipeline.cs | 3 +++ .../Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs | 2 ++ 4 files changed, 7 insertions(+) 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 25a54bca747..7ac3d3881b5 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 @@ -142,6 +142,7 @@ public class Styles public static readonly GUIContent supportRuntimeAOVAPIContent = EditorGUIUtility.TrTextContent("Runtime AOV API", "When disabled, HDRP removes all AOV API Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportDitheringCrossFadeContent = EditorGUIUtility.TrTextContent("Dithering Cross-fade", "When disabled, HDRP removes all dithering cross fade Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTerrainHoleContent = EditorGUIUtility.TrTextContent("Terrain Hole", "When disabled, HDRP removes all Terrain hole Shader variants when you build for the Unity Player. This decreases build time."); + public static readonly GUIContent supportForceForwardEmissive = EditorGUIUtility.TrTextContent("Force Forward Emissive", "When enabled, HDRP render the emissive contribution of Lit based Materials in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**."); public static readonly GUIContent supportDistortion = EditorGUIUtility.TrTextContent("Distortion", "When disabled, HDRP removes all distortion Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTransparentBackface = EditorGUIUtility.TrTextContent("Transparent Backface", "When disabled, HDRP removes all transparent backface Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTransparentDepthPrepass = EditorGUIUtility.TrTextContent("Transparent Depth Prepass", "When disabled, HDRP removes all transparent depth prepass Shader variants when you build for the Unity Player. This decreases build time."); 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 de9c36ef549..4a6c7023d7b 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -848,6 +848,7 @@ static void Drawer_SectionRenderingUnsorted(SerializedHDRenderPipelineAsset seri EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportRuntimeAOVAPI, Styles.supportRuntimeAOVAPIContent); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportDitheringCrossFade, Styles.supportDitheringCrossFadeContent); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); + EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportForceForwardEmissive, Styles.supportForceForwardEmissive); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTransparentBackface, Styles.supportTransparentBackface); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTransparentDepthPrepass, Styles.supportTransparentDepthPrepass); 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 740e2b8704c..c8e06c1e1ad 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -934,6 +934,9 @@ void ConfigureKeywords(bool enableBakeShadowMask, HDCamera hdCamera, CommandBuff CoreUtils.SetKeyword(cmd, "LIGHT_LAYERS", hdCamera.frameSettings.IsEnabled(FrameSettingsField.LightLayers)); + CoreUtils.SetKeyword(cmd, "_GBUFFER_NO_EMISSIVE", (m_Asset.currentPlatformRenderPipelineSettings.supportedLitShaderMode != RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly && + m_Asset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive)); + // configure keyword for both decal.shader and material if (m_Asset.currentPlatformRenderPipelineSettings.supportDecals) { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs index 85973fb3b1b..ca2248d3f88 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs @@ -338,6 +338,8 @@ public bool supportRuntimeDebugDisplay public ProbeVolumeTextureMemoryBudget probeVolumeMemoryBudget; /// Probe Volumes SH Bands. public ProbeVolumeSHBands probeVolumeSHBands; + /// Support Force forward emissive. + public bool supportForceForwardEmissive; /// Support ray tracing. public bool supportRayTracing; From 957e6aefef71281c1469f4797ee9e2f5cbcaa5d9 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Mon, 6 Sep 2021 22:59:09 +0200 Subject: [PATCH 03/30] Fix compilation issue --- .../Editor/RenderPipeline/HDRenderPipelineUI.Skin.cs | 1 + .../Editor/RenderPipeline/HDRenderPipelineUI.cs | 1 + .../Settings/SerializedRenderPipelineSettings.cs | 2 ++ .../RenderPipeline/Settings/RenderPipelineSettings.cs | 5 +++-- 4 files changed, 7 insertions(+), 2 deletions(-) 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 7ac3d3881b5..ff25ca00383 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 @@ -142,6 +142,7 @@ public class Styles public static readonly GUIContent supportRuntimeAOVAPIContent = EditorGUIUtility.TrTextContent("Runtime AOV API", "When disabled, HDRP removes all AOV API Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportDitheringCrossFadeContent = EditorGUIUtility.TrTextContent("Dithering Cross-fade", "When disabled, HDRP removes all dithering cross fade Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTerrainHoleContent = EditorGUIUtility.TrTextContent("Terrain Hole", "When disabled, HDRP removes all Terrain hole Shader variants when you build for the Unity Player. This decreases build time."); + public static readonly GUIContent supportForceForwardEmissiveContent = EditorGUIUtility.TrTextContent("Force Forward Emissive", "When enabled, HDRP render the emissive contribution of Lit based Materials in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**."); public static readonly GUIContent supportForceForwardEmissive = EditorGUIUtility.TrTextContent("Force Forward Emissive", "When enabled, HDRP render the emissive contribution of Lit based Materials in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**."); public static readonly GUIContent supportDistortion = EditorGUIUtility.TrTextContent("Distortion", "When disabled, HDRP removes all distortion Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTransparentBackface = EditorGUIUtility.TrTextContent("Transparent Backface", "When disabled, HDRP removes all transparent backface Shader variants when you build for the Unity Player. This decreases build time."); 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 4a6c7023d7b..2d40e606a20 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -997,6 +997,7 @@ static void SupportedSettingsInfoSection(SerializedHDRenderPipelineAsset seriali AppendSupport(builder, serialized.renderPipelineSettings.supportRuntimeAOVAPI, Styles.supportRuntimeAOVAPIContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDitheringCrossFade, Styles.supportDitheringCrossFadeContent); AppendSupport(builder, serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); + AppendSupport(builder, serialized.renderPipelineSettings.supportForceForwardEmissive, Styles.supportForceForwardEmissiveContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDistortion, Styles.supportDistortion); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentBackface, Styles.supportTransparentBackface); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentDepthPrepass, Styles.supportTransparentDepthPrepass); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs index 41308d7d4e7..a4f31783795 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs @@ -45,6 +45,7 @@ class SerializedRenderPipelineSettings public SerializedProperty supportRuntimeAOVAPI; public SerializedProperty supportDitheringCrossFade; public SerializedProperty supportTerrainHole; + public SerializedProperty supportForceForwardEmissive; public SerializedProperty supportRayTracing; public SerializedProperty supportedRayTracingMode; public SerializedProperty supportDistortion; @@ -104,6 +105,7 @@ public SerializedRenderPipelineSettings(SerializedProperty root) supportRuntimeAOVAPI = root.Find((RenderPipelineSettings s) => s.supportRuntimeAOVAPI); supportDitheringCrossFade = root.Find((RenderPipelineSettings s) => s.supportDitheringCrossFade); supportTerrainHole = root.Find((RenderPipelineSettings s) => s.supportTerrainHole); + supportForceForwardEmissive = root.Find((RenderPipelineSettings s) => s.supportForceForwardEmissive); supportDistortion = root.Find((RenderPipelineSettings s) => s.supportDistortion); supportTransparentBackface = root.Find((RenderPipelineSettings s) => s.supportTransparentBackface); supportTransparentDepthPrepass = root.Find((RenderPipelineSettings s) => s.supportTransparentDepthPrepass); diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs index ca2248d3f88..2c424a2ee3a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs @@ -81,8 +81,8 @@ internal static RenderPipelineSettings NewDefault() supportSSAO = true, supportSubsurfaceScattering = true, sssSampleBudget = new IntScalableSetting(new[] { (int)DefaultSssSampleBudgetForQualityLevel.Low, - (int)DefaultSssSampleBudgetForQualityLevel.Medium, - (int)DefaultSssSampleBudgetForQualityLevel.High }, ScalableSettingSchemaId.With3Levels), + (int)DefaultSssSampleBudgetForQualityLevel.Medium, + (int)DefaultSssSampleBudgetForQualityLevel.High }, ScalableSettingSchemaId.With3Levels), supportVolumetrics = true, supportDistortion = true, supportTransparentBackface = true, @@ -101,6 +101,7 @@ internal static RenderPipelineSettings NewDefault() supportRuntimeAOVAPI = false, supportDitheringCrossFade = true, supportTerrainHole = false, + supportForceForwardEmissive = false, planarReflectionResolution = new PlanarReflectionAtlasResolutionScalableSetting(new[] { PlanarReflectionAtlasResolution.Resolution256, PlanarReflectionAtlasResolution.Resolution1024, PlanarReflectionAtlasResolution.Resolution2048 }, From d615818d8530ee3da73ad096ec6f94eb9727ba10 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Tue, 7 Sep 2021 11:50:00 +0200 Subject: [PATCH 04/30] draft --- .../Material/Lit/LitShaderPreprocessor.cs | 23 ------------------- .../RenderPipeline/HDRenderPipelineUI.Skin.cs | 2 -- .../RenderPipeline/HDRenderPipelineUI.cs | 4 +--- .../SerializedRenderPipelineSettings.cs | 2 -- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 15 ++++-------- 5 files changed, 6 insertions(+), 40 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs index 842322c2925..64b04184071 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs @@ -77,25 +77,6 @@ protected override bool DoShadersStripper(HDRenderPipelineAsset hdrpAsset, Shade // Apply following set of rules only to lit shader (remember that LitPreprocessor is call for any shader) if (isBuiltInLit) { - // ForwardEmissiveForDeferred only make sense for deferred mode - bool isForwardEmissiveForDeferred = snippet.passName == "ForwardEmissiveForDeferred"; - if (isForwardEmissiveForDeferred) - { - if (hdrpAsset.currentPlatformRenderPipelineSettings.supportedLitShaderMode == RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly || - !hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive) - return true; - } - - // Remove the force emissive forward variant of GBuffer not used in for this hdrp asset - if (isGBufferPass) - { - if (!hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive && inputData.shaderKeywordSet.IsEnabled(m_ForceForwardEmissive)) - return true; - - if (hdrpAsset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive && !inputData.shaderKeywordSet.IsEnabled(m_ForceForwardEmissive)) - return true; - } - // Forward material don't use keyword for WriteNormalBuffer but #define so we can't test for the keyword outside of isBuiltInLit // otherwise the pass will be remove for non-lit shader graph version (like StackLit) bool isMotionPass = snippet.passName == "MotionVectors"; @@ -134,10 +115,6 @@ protected override bool DoShadersStripper(HDRenderPipelineAsset hdrpAsset, Shade // If transparent we don't need the depth only pass if (isDepthOnlyPass) return true; - - // If transparent, we never need ForwardEmissiveForDeferred pass. - if (isForwardEmissiveForDeferred) - return 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 ff25ca00383..25a54bca747 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 @@ -142,8 +142,6 @@ public class Styles public static readonly GUIContent supportRuntimeAOVAPIContent = EditorGUIUtility.TrTextContent("Runtime AOV API", "When disabled, HDRP removes all AOV API Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportDitheringCrossFadeContent = EditorGUIUtility.TrTextContent("Dithering Cross-fade", "When disabled, HDRP removes all dithering cross fade Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTerrainHoleContent = EditorGUIUtility.TrTextContent("Terrain Hole", "When disabled, HDRP removes all Terrain hole Shader variants when you build for the Unity Player. This decreases build time."); - public static readonly GUIContent supportForceForwardEmissiveContent = EditorGUIUtility.TrTextContent("Force Forward Emissive", "When enabled, HDRP render the emissive contribution of Lit based Materials in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**."); - public static readonly GUIContent supportForceForwardEmissive = EditorGUIUtility.TrTextContent("Force Forward Emissive", "When enabled, HDRP render the emissive contribution of Lit based Materials in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**."); public static readonly GUIContent supportDistortion = EditorGUIUtility.TrTextContent("Distortion", "When disabled, HDRP removes all distortion Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTransparentBackface = EditorGUIUtility.TrTextContent("Transparent Backface", "When disabled, HDRP removes all transparent backface Shader variants when you build for the Unity Player. This decreases build time."); public static readonly GUIContent supportTransparentDepthPrepass = EditorGUIUtility.TrTextContent("Transparent Depth Prepass", "When disabled, HDRP removes all transparent depth prepass Shader variants when you build for the Unity Player. This decreases build time."); 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 2d40e606a20..5d0ad88dd7c 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -848,7 +848,6 @@ static void Drawer_SectionRenderingUnsorted(SerializedHDRenderPipelineAsset seri EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportRuntimeAOVAPI, Styles.supportRuntimeAOVAPIContent); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportDitheringCrossFade, Styles.supportDitheringCrossFadeContent); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); - EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportForceForwardEmissive, Styles.supportForceForwardEmissive); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTransparentBackface, Styles.supportTransparentBackface); EditorGUILayout.PropertyField(serialized.renderPipelineSettings.supportTransparentDepthPrepass, Styles.supportTransparentDepthPrepass); @@ -996,8 +995,7 @@ static void SupportedSettingsInfoSection(SerializedHDRenderPipelineAsset seriali AppendSupport(builder, serialized.renderPipelineSettings.supportMotionVectors, Styles.supportMotionVectorContent); AppendSupport(builder, serialized.renderPipelineSettings.supportRuntimeAOVAPI, Styles.supportRuntimeAOVAPIContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDitheringCrossFade, Styles.supportDitheringCrossFadeContent); - AppendSupport(builder, serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); - AppendSupport(builder, serialized.renderPipelineSettings.supportForceForwardEmissive, Styles.supportForceForwardEmissiveContent); + AppendSupport(builder, serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDistortion, Styles.supportDistortion); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentBackface, Styles.supportTransparentBackface); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentDepthPrepass, Styles.supportTransparentDepthPrepass); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs index a4f31783795..41308d7d4e7 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Settings/SerializedRenderPipelineSettings.cs @@ -45,7 +45,6 @@ class SerializedRenderPipelineSettings public SerializedProperty supportRuntimeAOVAPI; public SerializedProperty supportDitheringCrossFade; public SerializedProperty supportTerrainHole; - public SerializedProperty supportForceForwardEmissive; public SerializedProperty supportRayTracing; public SerializedProperty supportedRayTracingMode; public SerializedProperty supportDistortion; @@ -105,7 +104,6 @@ public SerializedRenderPipelineSettings(SerializedProperty root) supportRuntimeAOVAPI = root.Find((RenderPipelineSettings s) => s.supportRuntimeAOVAPI); supportDitheringCrossFade = root.Find((RenderPipelineSettings s) => s.supportDitheringCrossFade); supportTerrainHole = root.Find((RenderPipelineSettings s) => s.supportTerrainHole); - supportForceForwardEmissive = root.Find((RenderPipelineSettings s) => s.supportForceForwardEmissive); supportDistortion = root.Find((RenderPipelineSettings s) => s.supportDistortion); supportTransparentBackface = root.Find((RenderPipelineSettings s) => s.supportTransparentBackface); supportTransparentDepthPrepass = root.Find((RenderPipelineSettings s) => s.supportTransparentDepthPrepass); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index 337106ac8d0..a4b8184f5f1 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -404,8 +404,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS builtinData.bakeDiffuseLighting = (uninitializedGI && !apvEnabled) ? float3(0.0, 0.0, 0.0) : builtinData.bakeDiffuseLighting; builtinData.backBakeDiffuseLighting = (uninitializedGI && !apvEnabled) ? float3(0.0, 0.0, 0.0) : builtinData.backBakeDiffuseLighting; } - - if (apvEnabled) + else { if (uninitializedGI) { @@ -441,7 +440,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS #endif #if (SHADERPASS == SHADERPASS_DEFERRED_LIGHTING) - // If we are deferred we should apply baked AO here as it was already apply for lightmap. + // If we are deferred we shouldn't apply baked AO here as it was already apply for lightmap. // When using probe volumes for the pixel (i.e. we have uninitialized GI), we include the surfaceData.ambientOcclusion as // payload information alongside the un-init flag. // It should not be applied in forward as in this case the baked AO is correctly apply in PostBSDF() @@ -452,9 +451,8 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS ApplyDebugToBuiltinData(apvBuiltinData); - builtinData.bakeDiffuseLighting = uninitializedGI ? float3(0.0, 0.0, 0.0) : builtinData.bakeDiffuseLighting; // Note: builtinDataProbeVolumes.bakeDiffuseLighting and builtinDataProbeVolumes.backBakeDiffuseLighting were combine inside of ModifyBakedDiffuseLighting(). - builtinData.bakeDiffuseLighting += apvBuiltinData.bakeDiffuseLighting; + builtinData.bakeDiffuseLighting = apvBuiltinData.bakeDiffuseLighting; } } #endif @@ -616,7 +614,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS #endif #if !defined(_SURFACE_TYPE_TRANSPARENT) - // If we use the texture ssgi for ssgi or rtgi, we want to combine it with the value in the bake diffuse lighting value + // If we use any global illumination effect (SSGI or RTGI) we will replace fully the value of builtinData.bakeDiffuseLighting which contain nothing if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) { BuiltinData builtinDataSSGI; @@ -633,10 +631,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS ModifyBakedDiffuseLighting(V, posInput, preLightData, bsdfData, builtinDataSSGI); #endif - // In the alpha channel, we have the interpolation value that we use to blend the result of SSGI/RTGI with the other GI thechnique - builtinData.bakeDiffuseLighting = lerp(builtinData.bakeDiffuseLighting, - builtinDataSSGI.bakeDiffuseLighting, - LOAD_TEXTURE2D_X(_IndirectDiffuseTexture, posInput.positionSS).w); + builtinData.bakeDiffuseLighting = builtinDataSSGI.bakeDiffuseLighting; } #endif From b0be177f1696e9f0427b1848493eb8952c5775e4 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 8 Sep 2021 11:01:23 +0200 Subject: [PATCH 05/30] Remove fully the force forward emissive code --- .../Documentation~/Lit-Shader.md | 1 - .../Documentation~/Lit-Tessellation-Shader.md | 1 - .../Documentation~/Menu-Items.md | 3 - .../Override-Screen-Space-GI.md | 8 -- .../Upgrading-from-2021.1-to-2021.2.md | 6 -- .../force-forward-emissive.md | 4 - .../surface-options/receive-ssr.md | 4 +- .../Documentation~/whats-new-12.md | 12 --- .../Editor/Material/Lit/BaseLitGUI.cs | 35 -------- .../Material/Lit/LitShaderPreprocessor.cs | 3 - .../Material/Lit/ShaderGraph/HDLitData.cs | 10 --- .../Lit/ShaderGraph/HDLitSubTarget.cs | 14 ---- .../Editor/Material/ShaderGraph/HDFields.cs | 1 - .../Material/ShaderGraph/HDShaderPasses.cs | 41 +--------- .../Editor/Material/ShaderGraph/HDTarget.cs | 25 ------ .../ShaderGraph/PassDescriptorExtension.cs | 2 +- .../ShaderGraph/Templates/ShaderPass.template | 2 - .../Runtime/Material/BuiltinGIUtilities.hlsl | 10 +-- .../Material/LayeredLit/LayeredLit.shader | 46 ----------- .../LayeredLit/LayeredLitTessellation.shader | 48 ----------- .../Runtime/Material/Lit/Lit.shader | 46 ----------- .../Runtime/Material/Lit/LitBuiltinData.hlsl | 15 ---- .../Material/Lit/LitTessellation.shader | 48 ----------- .../RenderPipeline/HDRenderPipeline.cs | 6 +- .../RenderPipeline/HDStringConstants.cs | 4 - .../Settings/RenderPipelineSettings.cs | 3 - .../RenderPipeline/ShaderPass/ShaderPass.cs | 1 - .../ShaderPassForwardEmissiveForDeferred.hlsl | 80 ------------------- ...erPassForwardEmissiveForDeferred.hlsl.meta | 10 --- 29 files changed, 10 insertions(+), 479 deletions(-) delete mode 100644 com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/advanced-options/force-forward-emissive.md delete mode 100644 com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl delete mode 100644 com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl.meta diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Shader.md b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Shader.md index f0554fb4467..c1dc874f1db 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Shader.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Shader.md @@ -76,4 +76,3 @@ Also, be aware that HDRP does not support **Refraction** in the **Pre-Refraction | **Enable GPU instancing** | Enable the checkbox to tell HDRP to render Meshes with the same geometry and Material in one batch when possible. This makes rendering faster. HDRP cannot render Meshes in one batch if they have different Materials, or if the hardware does not support GPU instancing. For example, you cannot [static-batch](https://docs.unity3d.com/Manual/DrawCallBatching.html) GameObjects that have an animation based on the object pivot, but the GPU can instance them. | | **Specular Occlusion Mode** | Use the drop-down to select the mode that HDRP uses to calculate specular occlusion.
• **Off**: Disables specular occlusion.
• **From Ambient Occlusion**: Calculates specular occlusion from the ambient occlusion map and the Camera's view vector.
• **From Bent Normal**: Calculates specular occlusion from the bent normal map. | | **Add Precomputed Velocity** | Enable the checkbox to use precomputed velocity information stored in an Alembic file. | -| **Force Forward Emissive** | Enable this checkbox to render the emissive contribution of this Material in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**. This removes a rendering artifact that makes emissive Materials appear completely black when HDRP processes them in the deferred rendering path when using either Screen Space or Ray-Traced Global Illumination. Limitation: When Unity performs a separate pass for the Emissive contribution, it also performs an additional DrawCall. This means it uses more resources on your CPU. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md index 9d4cc4acb7d..e66363bfcd7 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Lit-Tessellation-Shader.md @@ -94,4 +94,3 @@ Unity exposes this section if you select **Transparent** from the **Surface Type | **Enable GPU instancing** | Enable the checkbox to tell HDRP to render Meshes with the same geometry and Material in one batch when possible. This makes rendering faster. HDRP cannot render Meshes in one batch if they have different Materials, or if the hardware does not support GPU instancing. For example, you cannot [static-batch](https://docs.unity3d.com/Manual/DrawCallBatching.html) GameObjects that have an animation based on the object pivot, but the GPU can instance them. | | **Specular Occlusion Mode** | Use the drop-down to select the mode that HDRP uses to calculate specular occlusion.
• **Off**: Disables specular occlusion.
• **From Ambient Occlusion**: Calculates specular occlusion from the ambient occlusion map and the Camera's view vector.
• **From Bent Normal**: Calculates specular occlusion from the bent normal map. | | **Add Precomputed Velocity** | Enable the checkbox to use precomputed velocity information stored in an Alembic file. | -| **Force Forward Emissive** | Enable this checkbox to render the emissive contribution of this Material in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**. This removes a rendering artifact that makes emissive Materials appear completely black when HDRP processes them in the deferred rendering path when using either Screen Space or Ray-Traced Global Illumination. Limitation: When Unity performs a separate pass for the Emissive contribution, it also performs an additional DrawCall. This means it uses more resources on your CPU. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md b/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md index 6a7bbf03134..5fe5d15c811 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Menu-Items.md @@ -27,9 +27,6 @@ This section includes all the menu items under the **Edit > Rendering > Material | **Convert All Built-in Materials to HDRP** | Converts every compatible Material in your project to an HDRP Material. | | **Convert Selected Built-in Materials to HDRP** | Converts every compatible Material currently selected in the project window to an HDRP Material. | | **Convert Scene Terrains to HDRP Terrains** | Replaces the built-in default standard terrain Material in every [Terrain](https://docs.unity3d.com/Manual/script-Terrain.html) in the scene with the HDRP default Terrain Material. | -| **Enable HDRP Force Forward Emissive on Selected Materials** | Checks every Material in the current selection and Enable the Force Emissive Forward property if it exist. | -| **Enable HDRP Force Forward Emissive on Scene Materials** | Checks every Material in the current scene and Enable the Force Emissive Forward property if it exist. | -| **Disable HDRP Force Forward Emissive on Scene Materials** | Checks every Material and Material in the current scene and Enable the Force Emissive Forward property if it exist. | ### Other diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 5f4eaf808ef..95222856e61 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -72,14 +72,6 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and | - **Denoiser Radius** | Set the radius of the spatio-temporal filter. | | - **Second Denoiser Pass** | Enable this feature to process a second denoiser pass. This helps to remove noise from the effect. | -## Limitations - -In Deferred rendering mode, Screen Space Global Illumination and Ray-Traced Global Illumination share a buffer with emissive, which overwrites emissive data. -There are multiple ways to recover the emissive contribution of the scene materials: -* Disable [Receive SSR/SSGI](snippets/shader-properties/surface-options/receive-ssr.md) flag on the emissive materials. -* Use [Force Forward Emissive](snippets/shader-properties/advanced-options/force-forward-emissive.md) on the emissive materials. -* Use Forward rendering. - ### Screen-space global illumination * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md index 0fa05b8584e..287157cb722 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md @@ -15,12 +15,6 @@ From HDRP2021.2, when you apply ambient occlusion (AO) on a deferred Material to You don't need to do anything differently for forward only Materials. -### New shader pass - -HDRP 2021.2 includes the `ForwardEmissiveForDeferred` shader pass and the associated `SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED` define for Materials that have a GBuffer pass. You can see this new pass in `Lit.shader`. - -When you use the Deferred Lit shader mode, Unity uses `ForwardEmissiveForDeferred` to render the emissive contribution of a Material in a separate forward pass. Otherwise, Unity ignores `ForwardEmissiveForDeferred`. - ### Decals Decals in HDRP have changed in the following ways: diff --git a/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/advanced-options/force-forward-emissive.md b/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/advanced-options/force-forward-emissive.md deleted file mode 100644 index 5026622b1e4..00000000000 --- a/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/advanced-options/force-forward-emissive.md +++ /dev/null @@ -1,4 +0,0 @@ - -**Force Forward Emissive** -Indicates whether to render the emissive contribution of this Material in a separate forward pass when the Lit Shader Mode is set to **Both** or **Deferred**. This removes a rendering artifact that makes emissive Materials appear completely black when HDRP processes them in the deferred rendering path when using either Screen Space or Ray-Traced Global Illumination.
Limitation: When Unity performs a separate pass for the Emissive contribution, it also performs an additional DrawCall. This means it uses more resources on your CPU. - diff --git a/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/surface-options/receive-ssr.md b/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/surface-options/receive-ssr.md index d4db25d44be..69a9e1c38e3 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/surface-options/receive-ssr.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/snippets/shader-properties/surface-options/receive-ssr.md @@ -1,4 +1,4 @@ -**Receive SSR/SSGI** -Indicates whether HDRP includes this material when it processes the screen space reflection pass. HDRP also takes this material into account when it calculates screen space global illumination.
This property only appears if you set **Surface Type** to **Opaque**. +**Receive SSR** +Indicates whether HDRP includes this material when it processes the screen space reflection pass.
This property only appears if you set **Surface Type** to **Opaque**. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md index ebf4f9a6484..e425ad1906d 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/whats-new-12.md @@ -6,18 +6,6 @@ This page contains an overview of new features, improvements, and issues resolve The following list of features are new to version 12 of the High Definition Render Pipeline (HDRP), as part of Unity 2021.2. -### Render the Emissive contribution of a Lit Deferred Material in a separate forward pass. - -From HDRP 12.0, you can render the Emissive contribution of a Lit Material in a separate forward pass when the **Lit Shader Mode** is set to **Both** or **Deferred** in the [HDRP global settings](Default-Settings-Window.md) window. To do this, enable the new **Force Forward Emissive** property in the **Advanced options** of a [Lit Shader](Lit-Shader.md) or a [Layered Lit Shader](Layered-Lit-Shader.md). You can do this instead of using a GBuffer pass. - -You can also make a group of Materials or GameObjects use Force Forward Emissive in the following Menu path: **Edit > Render Pipeline > HD Render Pipeline > Force Forward Emissive on Material > Enable In Selection**. - -You can use this new behaviour to fix artefacts when you use [Screen Space Global Illumination](Override-Screen-Space-GI.md), with or without Raytracing enabled. When you enable the **Force Forward Emissive** property, Unity renders the Emissive Object and its contribution in the scene. You can use this in the same way for Adaptive probe volumes. - -#### Limitations - -When Unity performs a separate pass for the Emissive contribution, it also performs an additional `DrawCall`. This means it uses more resources on your CPU. - ### Adding Tessellation support for ShaderGraph Master Stack From HDRP 12.0, you can enable [tessellation](Tessellation.md) on any HDRP [Master Stack](master-stack-hdrp.md). The option is in the Master Stack settings and adds two new inputs to the Vertex Block: diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs index a2e19e33317..556104ee278 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/BaseLitGUI.cs @@ -227,41 +227,6 @@ static public void ComputeStencilProperties(bool receivesSSR, bool useSplitLight static public void SetupBaseLitMaterialPass(Material material) { material.SetupBaseUnlitPass(); - - // Emissive check below is only for the lit shader - // It is possible that it works with SG if the SG properties have the same name. - if (material.FindPass(HDShaderPassNames.s_ForwardEmissiveForDeferredStr) != -1) - { - bool emissiveIsDisabled = false; - if (material.HasProperty(kUseEmissiveIntensity)) - { - var useIntensity = material.GetInt(kUseEmissiveIntensity); - if (useIntensity == 0) - { - if (material.HasProperty(kEmissiveColor)) - { - var emissionColor = material.GetColor(kEmissiveColor); - if (emissionColor.r == 0.0 && emissionColor.g == 0.0 && emissionColor.b == 0.0) - { - emissiveIsDisabled = true; - } - } - } - else - { - if (material.HasProperty(kEmissiveIntensity)) - { - var intensityValue = material.GetFloat(kEmissiveIntensity); - if (intensityValue == 0.0) - { - emissiveIsDisabled = true; - } - } - } - } - - material.SetShaderPassEnabled(HDShaderPassNames.s_ForwardEmissiveForDeferredStr, ((SurfaceType)material.GetFloat(kSurfaceType) == SurfaceType.Opaque) && !emissiveIsDisabled); - } } } } // namespace UnityEditor diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs index 64b04184071..14f11c75be5 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/LitShaderPreprocessor.cs @@ -14,11 +14,8 @@ class LitShaderPreprocessor : BaseShaderPreprocessor public override int Priority => 50; - protected UnityEngine.Rendering.ShaderKeyword m_ForceForwardEmissive; - public LitShaderPreprocessor() { - m_ForceForwardEmissive = new UnityEngine.Rendering.ShaderKeyword("_GBUFFER_NO_EMISSIVE"); } protected override bool DoShadersStripper(HDRenderPipelineAsset hdrpAsset, Shader shader, ShaderSnippetData snippet, ShaderCompilerData inputData) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs index adba6e74118..6dfecb331a0 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/Lit/ShaderGraph/HDLitData.cs @@ -74,15 +74,5 @@ public bool clearCoat get => m_ClearCoat; set => m_ClearCoat = value; } - - // Allow to track if something is connected to emissive input - // will determine if we generate a force forward pass or not - [SerializeField] - bool m_EmissionOverriden; - public bool emissionOverriden - { - get => m_EmissionOverriden; - set => m_EmissionOverriden = value; - } } } 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 b9e415b6bb5..aecc2ab1537 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 @@ -63,7 +63,6 @@ protected override SubShaderDescriptor GetSubShaderDescriptor() descriptor.passes.Add(HDShaderPasses.GenerateLitDepthOnly(TargetsVFX(), systemData.tessellation)); descriptor.passes.Add(HDShaderPasses.GenerateGBuffer(TargetsVFX(), systemData.tessellation)); descriptor.passes.Add(HDShaderPasses.GenerateLitForward(TargetsVFX(), systemData.tessellation)); - descriptor.passes.Add(HDShaderPasses.GenerateForwardEmissiveForDeferredPass(TargetsVFX(), systemData.tessellation), new FieldCondition(HDFields.EmissionOverriden, true)); if (!systemData.tessellation) // Raytracing don't support tessellation neither VFX descriptor.passes.Add(HDShaderPasses.GenerateLitRaytracingPrepass()); @@ -136,18 +135,6 @@ public override void GetFields(ref TargetFieldContext context) context.AddField(SpecularAA, lightingData.specularAA && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAThreshold) && context.pass.validPixelBlocks.Contains(HDBlockFields.SurfaceDescription.SpecularAAScreenSpaceVariance)); - - // We need to grab the emission block to check if it is connected, or the default value is non null. - // If it is connected then we will generate an ForwardEmissiveForDeferred pass - bool emissionEnabled = false; - if (!context.connectedBlocks.Contains(BlockFields.SurfaceDescription.Emission)) - emissionEnabled = !context.blocks.Contains((BlockFields.SurfaceDescription.Emission, true)); - else - emissionEnabled = true; - - // Note: both case are required to be compliant with the ShaderGraph framework - litData.emissionOverriden = emissionEnabled; - context.AddField(HDFields.EmissionOverriden, emissionEnabled); } public override void GetActiveBlocks(ref TargetActiveBlockContext context) @@ -235,7 +222,6 @@ protected override int ComputeMaterialNeedsUpdateHash() { bool subsurfaceScattering = litData.materialType == HDLitData.MaterialType.SubsurfaceScattering; hash = hash * 23 + subsurfaceScattering.GetHashCode(); - hash = hash * 23 + litData.emissionOverriden.GetHashCode(); } return hash; diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDFields.cs b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDFields.cs index 12ce8456b43..dfae5c3fab2 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDFields.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/HDFields.cs @@ -63,7 +63,6 @@ static class HDFields public static FieldDescriptor TransparentDepthPostPass = new FieldDescriptor(string.Empty, "TransparentDepthPostPass", string.Empty); public static FieldDescriptor RayTracing = new FieldDescriptor(string.Empty, "RayTracing", string.Empty); public static FieldDescriptor Unlit = new FieldDescriptor(string.Empty, "Unlit", string.Empty); - public static FieldDescriptor EmissionOverriden = new FieldDescriptor(string.Empty, "EmissionOverriden", string.Empty); // Custom motion vector public static FieldDescriptor CustomVelocity = new FieldDescriptor(string.Empty, "CustomVelocity", "CUSTOM_VELOCITY 1"); 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 ce8a4894359..1810d900efc 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 @@ -488,44 +488,6 @@ IncludeCollection GenerateIncludes() #endregion - #region Forward Emissive For Deferred - - public static PassDescriptor GenerateForwardEmissiveForDeferredPass(bool useVFX, bool useTessellation) - { - return new PassDescriptor - { - // Definition - displayName = "ForwardEmissiveForDeferred", - referenceName = "SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED", - lightMode = "ForwardEmissiveForDeferred", - useInPreview = false, - - // Collections - structs = GenerateStructs(null, useVFX, useTessellation), - requiredFields = CoreRequiredFields.Basic, - renderStates = CoreRenderStates.ForwardEmissiveForDeferred, - pragmas = GeneratePragmas(CorePragmas.DotsInstancedInV2Only, useVFX, useTessellation), - defines = GenerateDefines(CoreDefines.ForwardEmissiveForDeferred, useVFX, useTessellation), - includes = GenerateIncludes(), - - virtualTextureFeedback = true, - customInterpolators = CoreCustomInterpolators.Common, - }; - - IncludeCollection GenerateIncludes() - { - var includes = new IncludeCollection(); - includes.Add(CoreIncludes.CorePregraph); - includes.Add(CoreIncludes.kPassPlaceholder, IncludeLocation.Pregraph); - includes.Add(CoreIncludes.CoreUtility); - includes.Add(CoreIncludes.kShaderGraphFunctions, IncludeLocation.Pregraph); - includes.Add(CoreIncludes.kPassForwardEmissiveForDeferred, IncludeLocation.Postgraph); - return includes; - } - } - - #endregion - #region Back then front pass public static PassDescriptor GenerateBackThenFront(bool supportLighting, bool useVFX, bool useTessellation) @@ -825,8 +787,7 @@ public static PassDescriptor GenerateGBuffer(bool useVFX, bool useTessellation) public static KeywordCollection GBufferKeywords = new KeywordCollection { - { CoreKeywordDescriptors.LightLayers }, - { CoreKeywordDescriptors.ForceForwardEmissive }, + { CoreKeywordDescriptors.LightLayers } }; public static IncludeCollection GBufferIncludes = new IncludeCollection 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 48ad86c356f..7daee567bf4 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 @@ -794,14 +794,6 @@ public static class Uniforms Pass = "Replace", }) }, }; - - public static RenderStateCollection ForwardEmissiveForDeferred = new RenderStateCollection - { - { RenderState.Blend(Blend.One, Blend.One) }, - { RenderState.Cull(Uniforms.cullModeForward) }, - { RenderState.ZWrite(Uniforms.zWrite) }, - { RenderState.ZTest(Uniforms.zTestDepthEqualForOpaque) }, - }; } #endregion @@ -958,12 +950,6 @@ static class CoreDefines { RayTracingQualityNode.GetRayTracingQualityKeyword(), 0 }, }; - public static DefineCollection ForwardEmissiveForDeferred = new DefineCollection - { - { CoreKeywordDescriptors.HasLightloop, 0 }, - { RayTracingQualityNode.GetRayTracingQualityKeyword(), 0 }, - }; - public static DefineCollection ForwardLit = new DefineCollection { { CoreKeywordDescriptors.SupportBlendModePreserveSpecularLighting, 1 }, @@ -1062,7 +1048,6 @@ static class CoreIncludes public const string kPassMotionVectors = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassMotionVectors.hlsl"; public const string kDisortionVectors = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassDistortion.hlsl"; public const string kPassForward = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForward.hlsl"; - public const string kPassForwardEmissiveForDeferred = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl"; public const string kStandardLit = "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/StandardLit/StandardLit.hlsl"; public const string kPassForwardUnlit = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardUnlit.hlsl"; public const string kPassConstant = "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassConstant.hlsl"; @@ -1514,16 +1499,6 @@ static class CoreKeywordDescriptors scope = KeywordScope.Local, }; - public static KeywordDescriptor ForceForwardEmissive = new KeywordDescriptor - { - displayName = "GBuffer No Emissive", - referenceName = "_GBUFFER_NO_EMISSIVE", - type = KeywordType.Boolean, - definition = KeywordDefinition.MultiCompile, - scope = KeywordScope.Global, - stages = KeywordShaderStage.Fragment, - }; - public static KeywordDescriptor TransparentWritesMotionVector = new KeywordDescriptor { displayName = "Transparent Writes Motion Vector", 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 index 95d593950ae..a5032811039 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/PassDescriptorExtension.cs @@ -33,7 +33,7 @@ public static bool IsForward(this PassDescriptor pass) public static bool NeedsDebugDisplay(this PassDescriptor pass) { - return IsLightingOrMaterial(pass) || pass.lightMode == HDShaderPassNames.s_ForwardEmissiveForDeferredStr; + return IsLightingOrMaterial(pass); } public static bool IsRaytracing(this PassDescriptor pass) diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template index 891e8a45cf6..7fc31249d78 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template @@ -303,9 +303,7 @@ Pass $BackLightingGI: builtinData.backBakeDiffuseLighting = surfaceDescription.BakedBackGI; // If we want to force forward emissive and we have GBuffer pass, don't do anything - #ifndef _GBUFFER_NO_EMISSIVE $SurfaceDescription.Emission: builtinData.emissiveColor = surfaceDescription.Emission; - #endif // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define) // We will always overwrite vt feeback with the nearest. So behind transparent surfaces vt will not be resolved diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl index d6be3cbc108..459f1ccec8b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl @@ -147,13 +147,13 @@ void SampleBakedGI( bakeDiffuseLighting = float3(0, 0, 0); backBakeDiffuseLighting = float3(0, 0, 0); - // Check if we are RTGI in which case we don't want to read GI at all (We rely fully on the raytrace effect) + // Check if we have SSGI/RTGI/Mixed enabled in which case we don't want to read Lightmaps/Lightprobe at all. + // This behavior only apply to opaque Materials as Transparent one don't receive SSGI/RTGI/Mixed lighting. // The check need to be here to work with both regular shader and shader graph - // Note: with Probe volume it will prevent to add the UNINITIALIZED_GI tag and - // the ProbeVolume will not be evaluate in the lightloop which is the desired behavior - // Also this code only needs to be executed in the rasterization pipeline, otherwise it will lead to udnefined behaviors in ray tracing + // Note: With Probe volume it will prevent to add the UNINITIALIZED_GI tag and the ProbeVolume will not be evaluate in the lightloop which is the desired behavior + // We prevent to read GI only if we are not raytrace pass that are used to fill the RTGI/Mixed buffer need to be executed normaly #if !defined(_SURFACE_TYPE_TRANSPARENT) && (SHADERPASS != SHADERPASS_RAYTRACING_INDIRECT) && (SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER) - if (_IndirectDiffuseMode == INDIRECTDIFFUSEMODE_RAYTRACE) + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) return; #endif diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader index 6fe7208316b..43b63c8e2fc 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLit.shader @@ -692,7 +692,6 @@ Shader "HDRP/LayeredLit" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS - #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer @@ -975,51 +974,6 @@ Shader "HDRP/LayeredLit" ENDHLSL } - Pass - { - Name "ForwardEmissiveForDeferred" - Tags{ "LightMode" = "ForwardEmissiveForDeferred" } // This pass is solely used with deferred opaque Material that have emissive - - Blend One One - // In case of forward we want to have depth equal for opaque mesh - ZTest [_ZTestDepthEqualForOpaque] - ZWrite [_ZWrite] - Cull [_CullModeForward] - - HLSLPROGRAM - - #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque - - #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED - // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI) - // Don't do it with debug display mode as it is possible there is no depth prepass in this case - #if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY) - #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST - #endif - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" - - #ifdef DEBUG_DISPLAY - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitSharePass.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl" - - #pragma vertex Vert - #pragma fragment Frag - - ENDHLSL - } - Pass { Name "RayTracingPrepass" diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader index 62d42eb25e0..10462f53802 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitTessellation.shader @@ -720,7 +720,6 @@ Shader "HDRP/LayeredLitTessellation" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS - #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer @@ -1019,53 +1018,6 @@ Shader "HDRP/LayeredLitTessellation" ENDHLSL } - Pass - { - Name "ForwardEmissiveForDeferred" - Tags{ "LightMode" = "ForwardEmissiveForDeferred" } // This pass is solely used with deferred opaque Material that have emissive - - Blend One One - // In case of forward we want to have depth equal for opaque mesh - ZTest [_ZTestDepthEqualForOpaque] - ZWrite [_ZWrite] - Cull [_CullModeForward] - - HLSLPROGRAM - - #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque - - #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED - // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI) - // Don't do it with debug display mode as it is possible there is no depth prepass in this case - #if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY) - #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST - #endif - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" - - #ifdef DEBUG_DISPLAY - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitSharePass.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/LayeredLit/LayeredLitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl" - - #pragma vertex Vert - #pragma fragment Frag - #pragma hull Hull - #pragma domain Domain - - ENDHLSL - } - Pass { Name "RayTracingPrepass" diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader index f97960c0df4..77dca94124d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.shader @@ -487,7 +487,6 @@ Shader "HDRP/Lit" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS - #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer @@ -899,51 +898,6 @@ Shader "HDRP/Lit" ENDHLSL } - Pass - { - Name "ForwardEmissiveForDeferred" - Tags{ "LightMode" = "ForwardEmissiveForDeferred" } // This pass is solely used with deferred opaque Material that have emissive - - Blend One One - // In case of forward we want to have depth equal for opaque mesh - ZTest [_ZTestDepthEqualForOpaque] - ZWrite [_ZWrite] - Cull [_CullModeForward] - - HLSLPROGRAM - - #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque - - #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED - // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI) - // Don't do it with debug display mode as it is possible there is no depth prepass in this case - #if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY) - #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST - #endif - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" - - #ifdef DEBUG_DISPLAY - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitSharePass.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl" - - #pragma vertex Vert - #pragma fragment Frag - - ENDHLSL - } - Pass { Name "TransparentDepthPostpass" diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl index f1e9b5302b1..6e52707b37a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitBuiltinData.hlsl @@ -23,19 +23,6 @@ void GetBuiltinData(FragInputs input, float3 V, inout PositionInputs posInput, S PostInitBuiltinData(V, posInput, surfaceData, builtinData); } -#ifdef _GBUFFER_NO_EMISSIVE // in case emissive is done in forward pass, do nothing in gbuffer pass -float3 GetEmissiveColor(SurfaceData surfaceData) -{ - return float3(0.0, 0.0, 0.0); -} - -#ifdef _EMISSIVE_COLOR_MAP -float3 GetEmissiveColor(SurfaceData surfaceData, UVMapping emissiveMapMapping) -{ - return float3(0.0, 0.0, 0.0); -} -#endif // _EMISSIVE_COLOR_MAP -#else float3 GetEmissiveColor(SurfaceData surfaceData) { return _EmissiveColor * lerp(float3(1.0, 1.0, 1.0), surfaceData.baseColor.rgb, _AlbedoAffectEmissive); @@ -50,8 +37,6 @@ float3 GetEmissiveColor(SurfaceData surfaceData, UVMapping emissiveMapMapping) } #endif // _EMISSIVE_COLOR_MAP -#endif // _GBUFFER_NO_EMISSIVE - void GetBuiltinData(FragInputs input, float3 V, inout PositionInputs posInput, SurfaceData surfaceData, float alpha, float3 bentNormalWS, float depthOffset, out BuiltinData builtinData) { #ifdef _EMISSIVE_COLOR_MAP diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader index f94bd1e44ad..08ffca85a85 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitTessellation.shader @@ -507,7 +507,6 @@ Shader "HDRP/LitTessellation" #pragma multi_compile_fragment DECALS_OFF DECALS_3RT DECALS_4RT #pragma multi_compile_fragment _ DECAL_SURFACE_GRADIENT #pragma multi_compile_fragment _ LIGHT_LAYERS - #pragma multi_compile_fragment _ _GBUFFER_NO_EMISSIVE #ifndef DEBUG_DISPLAY // When we have alpha test, we will force a depth prepass so we always bypass the clip instruction in the GBuffer @@ -938,53 +937,6 @@ Shader "HDRP/LitTessellation" ENDHLSL } - Pass - { - Name "ForwardEmissiveForDeferred" - Tags{ "LightMode" = "ForwardEmissiveForDeferred" } // This pass is solely used with deferred opaque Material that have emissive - - Blend One One - // In case of forward we want to have depth equal for opaque mesh - ZTest [_ZTestDepthEqualForOpaque] - ZWrite [_ZWrite] - Cull [_CullModeForward] - - HLSLPROGRAM - - #pragma only_renderers d3d11 playstation xboxone xboxseries vulkan metal switch - //enable GPU instancing support - #pragma multi_compile_instancing - #pragma multi_compile _ DOTS_INSTANCING_ON - // enable dithering LOD crossfade - #pragma multi_compile _ LOD_FADE_CROSSFADE - - #pragma multi_compile _ DEBUG_DISPLAY // This pass is only for opaque - - #define SHADERPASS SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED - // In case of opaque we don't want to perform the alpha test, it is done in depth prepass and we use depth equal for ztest (setup from UI) - // Don't do it with debug display mode as it is possible there is no depth prepass in this case - #if !defined(_SURFACE_TYPE_TRANSPARENT) && !defined(DEBUG_DISPLAY) - #define SHADERPASS_FORWARD_BYPASS_ALPHA_TEST - #endif - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Material.hlsl" - - #ifdef DEBUG_DISPLAY - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugDisplay.hlsl" - #endif - - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/ShaderPass/LitSharePass.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/LitData.hlsl" - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl" - - #pragma vertex Vert - #pragma fragment Frag - #pragma hull Hull - #pragma domain Domain - - ENDHLSL - } - Pass { Name "TransparentDepthPostpass" 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 c8e06c1e1ad..8671dc2de6e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDRenderPipeline.cs @@ -123,9 +123,8 @@ internal static HDRenderPipeline currentPipeline internal ShaderVariablesGlobal GetShaderVariablesGlobalCB() => m_ShaderVariablesGlobalCB; // The pass "SRPDefaultUnlit" is a fall back to legacy unlit rendering and is required to support unity 2d + unity UI that render in the scene. - // s_ForwardEmissiveForDeferredName is only in m_ForwardOnlyPassNames as it match the lit mode deferred, not required in forward ShaderTagId[] m_ForwardAndForwardOnlyPassNames = { HDShaderPassNames.s_ForwardOnlyName, HDShaderPassNames.s_ForwardName, HDShaderPassNames.s_SRPDefaultUnlitName, HDShaderPassNames.s_DecalMeshForwardEmissiveName }; - ShaderTagId[] m_ForwardOnlyPassNames = { HDShaderPassNames.s_ForwardOnlyName, HDShaderPassNames.s_SRPDefaultUnlitName, HDShaderPassNames.s_ForwardEmissiveForDeferredName, HDShaderPassNames.s_DecalMeshForwardEmissiveName }; + ShaderTagId[] m_ForwardOnlyPassNames = { HDShaderPassNames.s_ForwardOnlyName, HDShaderPassNames.s_SRPDefaultUnlitName, HDShaderPassNames.s_DecalMeshForwardEmissiveName }; ShaderTagId[] m_AllTransparentPassNames = { HDShaderPassNames.s_TransparentBackfaceName, HDShaderPassNames.s_ForwardOnlyName, @@ -934,9 +933,6 @@ void ConfigureKeywords(bool enableBakeShadowMask, HDCamera hdCamera, CommandBuff CoreUtils.SetKeyword(cmd, "LIGHT_LAYERS", hdCamera.frameSettings.IsEnabled(FrameSettingsField.LightLayers)); - CoreUtils.SetKeyword(cmd, "_GBUFFER_NO_EMISSIVE", (m_Asset.currentPlatformRenderPipelineSettings.supportedLitShaderMode != RenderPipelineSettings.SupportedLitShaderMode.ForwardOnly && - m_Asset.currentPlatformRenderPipelineSettings.supportForceForwardEmissive)); - // configure keyword for both decal.shader and material if (m_Asset.currentPlatformRenderPipelineSettings.supportDecals) { 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 388f529ffb2..b64a58d8a67 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/HDStringConstants.cs @@ -32,8 +32,6 @@ public static class HDShaderPassNames public static readonly string s_TransparentDepthPostpassStr = "TransparentDepthPostpass"; /// RayTracing Prepass pass name. public static readonly string s_RayTracingPrepassStr = "RayTracingPrepass"; - /// Forward emissive pass name. - public static readonly string s_ForwardEmissiveForDeferredStr = "ForwardEmissiveForDeferred"; /// Visibility DXR pass name. public static readonly string s_RayTracingVisibilityStr = "VisibilityDXR"; /// PathTracing DXR pass name. @@ -67,8 +65,6 @@ public static class HDShaderPassNames public static readonly ShaderTagId s_DepthForwardOnlyName = new ShaderTagId(s_DepthForwardOnlyStr); /// Forward Only shader tag id. public static readonly ShaderTagId s_ForwardOnlyName = new ShaderTagId(s_ForwardOnlyStr); - /// Forward Emissive shader tag id. - public static readonly ShaderTagId s_ForwardEmissiveForDeferredName = new ShaderTagId(s_ForwardEmissiveForDeferredStr); /// GBuffer shader tag id. public static readonly ShaderTagId s_GBufferName = new ShaderTagId(s_GBufferStr); /// GBufferWithPrepass shader tag id. diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs index 2c424a2ee3a..ae7f48b173c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs @@ -101,7 +101,6 @@ internal static RenderPipelineSettings NewDefault() supportRuntimeAOVAPI = false, supportDitheringCrossFade = true, supportTerrainHole = false, - supportForceForwardEmissive = false, planarReflectionResolution = new PlanarReflectionAtlasResolutionScalableSetting(new[] { PlanarReflectionAtlasResolution.Resolution256, PlanarReflectionAtlasResolution.Resolution1024, PlanarReflectionAtlasResolution.Resolution2048 }, @@ -339,8 +338,6 @@ public bool supportRuntimeDebugDisplay public ProbeVolumeTextureMemoryBudget probeVolumeMemoryBudget; /// Probe Volumes SH Bands. public ProbeVolumeSHBands probeVolumeSHBands; - /// Support Force forward emissive. - public bool supportForceForwardEmissive; /// Support ray tracing. public bool supportRayTracing; diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs index f96eb4f04e5..0edb034b56d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs @@ -8,7 +8,6 @@ enum ShaderPass { GBuffer, Forward, - ForwardEmissiveForDeferred, ForwardUnlit, DeferredLighting, DepthOnly, diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl deleted file mode 100644 index 6edeebffbe0..00000000000 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl +++ /dev/null @@ -1,80 +0,0 @@ -#if SHADERPASS != SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED -#error SHADERPASS_is_not_correctly_define -#endif - -#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/VertMesh.hlsl" - -PackedVaryingsType Vert(AttributesMesh inputMesh) -{ - VaryingsType varyingsType; - -#if defined(HAVE_RECURSIVE_RENDERING) - // If we have a recursive raytrace object, we will not render it. - // As we don't want to rely on renderqueue to exclude the object from the list, - // we cull it by settings position to NaN value. - // TODO: provide a solution to filter dyanmically recursive raytrace object in the DrawRenderer - if (_EnableRecursiveRayTracing && _RayTracing > 0.0) - { - ZERO_INITIALIZE(VaryingsType, varyingsType); // Divide by 0 should produce a NaN and thus cull the primitive. - } - else -#endif - { - varyingsType.vmesh = VertMesh(inputMesh); - } - - return PackVaryingsType(varyingsType); -} - -#ifdef TESSELLATION_ON - -PackedVaryingsToPS VertTesselation(VaryingsToDS input) -{ - VaryingsToPS output; - output.vmesh = VertMeshTesselation(input.vmesh); - - return PackVaryingsToPS(output); -} - -#include "Packages/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/TessellationShare.hlsl" - -#endif - -#ifdef UNITY_VIRTUAL_TEXTURING -#define VT_BUFFER_TARGET SV_Target1 -#define EXTRA_BUFFER_TARGET SV_Target2 -#else -#define EXTRA_BUFFER_TARGET SV_Target1 -#endif - -void Frag(PackedVaryingsToPS packedInput, - out float4 outColor : SV_Target0 - #ifdef UNITY_VIRTUAL_TEXTURING - ,out float4 outVTFeedback : VT_BUFFER_TARGET - #endif -) -{ - UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(packedInput); - FragInputs input = UnpackVaryingsToFragInputs(packedInput); - - // input.positionSS is SV_Position - PositionInputs posInput = GetPositionInput(input.positionSS.xy, _ScreenSize.zw, input.positionSS.z, input.positionSS.w, input.positionRWS.xyz, 0); - -#ifdef VARYINGS_NEED_POSITION_WS - float3 V = GetWorldSpaceNormalizeViewDir(input.positionRWS); -#else - // Unused - float3 V = float3(1.0, 1.0, 1.0); // Avoid the division by 0 -#endif - - SurfaceData surfaceData; - BuiltinData builtinData; - GetSurfaceAndBuiltinData(input, V, posInput, surfaceData, builtinData); - - BSDFData bsdfData = ConvertSurfaceDataToBSDFData(input.positionSS.xy, surfaceData); - outColor = float4(builtinData.emissiveColor * GetCurrentExposureMultiplier(), 1.0); - -#ifdef UNITY_VIRTUAL_TEXTURING - outVTFeedback = builtinData.vtPackedFeedback; -#endif -} diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl.meta b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl.meta deleted file mode 100644 index 31f3b2a0797..00000000000 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardEmissiveForDeferred.hlsl.meta +++ /dev/null @@ -1,10 +0,0 @@ -fileFormatVersion: 2 -guid: 04442e80dea211d449e2a935d34243c0 -ShaderImporter: - externalObjects: {} - defaultTextures: [] - nonModifiableTextures: [] - preprocessorOverride: 0 - userData: - assetBundleName: - assetBundleVariant: From 92c16d59ee8404209617bc5dc42d9c1d36deeeea Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 8 Sep 2021 11:10:12 +0200 Subject: [PATCH 06/30] More cleanup --- .../ScreenSpaceGlobalIllumination.compute | 5 -- ...enderPipeline.RaytracingIndirectDiffuse.cs | 55 +------------------ .../RaytracingIndirectDiffuse.compute | 27 --------- 3 files changed, 1 insertion(+), 86 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute index 8568248cad4..c233bdf0c6d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute @@ -350,11 +350,6 @@ void CONVERT_SSGI(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupThrea // In the future mixing this with light probes should increase significantly the image quality. float validityMask = 1.0f; - // Does this pixel recieve SSGI? - uint stencilValue = GetStencilValue(LOAD_TEXTURE2D_X(_StencilTexture, currentCoord)); - if ((stencilValue & _SsrStencilBit) == 0) - validityMask = 0.0; - // Output the color as well as the blend factor _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = float4(color, validityMask); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs index 94a7765b756..3c755ee73c0 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs @@ -13,7 +13,6 @@ public partial class HDRenderPipeline int m_RaytracingIndirectDiffuseHalfResKernel; int m_IndirectDiffuseUpscaleFullResKernel; int m_IndirectDiffuseUpscaleHalfResKernel; - int m_AdjustIndirectDiffuseWeightKernel; void InitRayTracedIndirectDiffuse() { @@ -24,7 +23,6 @@ void InitRayTracedIndirectDiffuse() m_RaytracingIndirectDiffuseHalfResKernel = indirectDiffuseShaderCS.FindKernel("RaytracingIndirectDiffuseHalfRes"); m_IndirectDiffuseUpscaleFullResKernel = indirectDiffuseShaderCS.FindKernel("IndirectDiffuseIntegrationUpscaleFullRes"); m_IndirectDiffuseUpscaleHalfResKernel = indirectDiffuseShaderCS.FindKernel("IndirectDiffuseIntegrationUpscaleHalfRes"); - m_AdjustIndirectDiffuseWeightKernel = indirectDiffuseShaderCS.FindKernel("AdjustIndirectDiffuseWeight"); } void ReleaseRayTracedIndirectDiffuse() @@ -264,62 +262,11 @@ class AdjustRTGIWeightPassData public int texHeight; public int viewCount; - // Additional resources - public int adjustWeightKernel; - public ComputeShader adjustWeightCS; - public TextureHandle depthPyramid; public TextureHandle stencilBuffer; public TextureHandle indirectDiffuseBuffer; } - - TextureHandle AdjustRTGIWeight(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle indirectDiffuseBuffer, TextureHandle depthPyramid, TextureHandle stencilBuffer) - { - using (var builder = renderGraph.AddRenderPass("Adjust the RTGI weight", out var passData, ProfilingSampler.Get(HDProfileId.RaytracingIndirectDiffuseAdjustWeight))) - { - builder.EnableAsyncCompute(false); - - // Set the camera parameters - passData.texWidth = hdCamera.actualWidth; - passData.texHeight = hdCamera.actualHeight; - passData.viewCount = hdCamera.viewCount; - - // Grab the right kernel - passData.adjustWeightCS = m_GlobalSettings.renderPipelineRayTracingResources.indirectDiffuseRaytracingCS; - passData.adjustWeightKernel = m_AdjustIndirectDiffuseWeightKernel; - - passData.depthPyramid = builder.ReadTexture(depthPyramid); - passData.stencilBuffer = builder.ReadTexture(stencilBuffer); - passData.indirectDiffuseBuffer = builder.ReadWriteTexture(indirectDiffuseBuffer); - - builder.SetRenderFunc( - (AdjustRTGIWeightPassData data, RenderGraphContext ctx) => - { - // Input data - ctx.cmd.SetComputeTextureParam(data.adjustWeightCS, data.adjustWeightKernel, HDShaderIDs._DepthTexture, data.depthPyramid); - ctx.cmd.SetComputeTextureParam(data.adjustWeightCS, data.adjustWeightKernel, HDShaderIDs._StencilTexture, data.stencilBuffer, 0, RenderTextureSubElement.Stencil); - ctx.cmd.SetComputeIntParams(data.adjustWeightCS, HDShaderIDs._SsrStencilBit, (int)StencilUsage.TraceReflectionRay); - - // In/Output buffer - ctx.cmd.SetComputeTextureParam(data.adjustWeightCS, data.adjustWeightKernel, HDShaderIDs._IndirectDiffuseTextureRW, data.indirectDiffuseBuffer); - - // Texture dimensions - int texWidth = data.texWidth; - int texHeight = data.texHeight; - - // Evaluate the dispatch parameters - int areaTileSize = 8; - int numTilesXHR = (texWidth + (areaTileSize - 1)) / areaTileSize; - int numTilesYHR = (texHeight + (areaTileSize - 1)) / areaTileSize; - - // Compute the texture - ctx.cmd.DispatchCompute(data.adjustWeightCS, data.adjustWeightKernel, numTilesXHR, numTilesYHR, data.viewCount); - }); - - return passData.indirectDiffuseBuffer; - } - } - + static RTHandle RequestRayTracedIndirectDiffuseHistoryTexture(HDCamera hdCamera) { return hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.RaytracedIndirectDiffuseHF) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute index 20e5bafe196..6ddffeaa1c5 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute @@ -2,7 +2,6 @@ #pragma kernel RaytracingIndirectDiffuseFullRes #pragma kernel IndirectDiffuseIntegrationUpscaleHalfRes #pragma kernel IndirectDiffuseIntegrationUpscaleFullRes -#pragma kernel AdjustIndirectDiffuseWeight #pragma only_renderers d3d11 ps5 @@ -450,29 +449,3 @@ void IndirectDiffuseIntegrationUpscaleFullRes(uint3 dispatchThreadId : SV_Dispat _UpscaledIndirectDiffuseTextureRW[COORD_TEXTURE2D_X(targetCoord)] = float4(lightingSum / weightSum, 1.0); } - -RW_TEXTURE2D_X(float4, _IndirectDiffuseTextureRW); - -[numthreads(RAYTRACING_INDIRECT_DIFFUSE_TILE_SIZE, RAYTRACING_INDIRECT_DIFFUSE_TILE_SIZE, 1)] -void AdjustIndirectDiffuseWeight(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID, uint2 groupId : SV_GroupID) -{ - UNITY_XR_ASSIGN_VIEW_INDEX(dispatchThreadId.z); - uint2 sourceCoord = dispatchThreadId.xy; - - // Fetch the depth - float depth = LOAD_TEXTURE2D_X(_DepthTexture, sourceCoord).x; - // If this is a background pixel, there is nothing to do - if (depth == UNITY_RAW_FAR_CLIP_VALUE) - return; - - float4 previousGIValue = _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(sourceCoord)]; - - // Nullify the weight if the surface is not supposed to recieve SSGI - uint stencilValue = GetStencilValue(LOAD_TEXTURE2D_X(_StencilTexture, sourceCoord)); - if ((stencilValue & _SsrStencilBit) == 0) - previousGIValue.w = 0.0f; - else - previousGIValue.w = 1.0f; - - _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(sourceCoord)] = previousGIValue; -} From c7f741b3e1176234f217ee02e90768a4aff8931f Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 8 Sep 2021 15:04:00 +0200 Subject: [PATCH 07/30] fix compilation --- ...RenderPipeline.RaytracingIndirectDiffuse.cs | 18 ------------------ 1 file changed, 18 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs index 3c755ee73c0..7b293112445 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs @@ -254,18 +254,6 @@ TextureHandle UpscaleRTGI(RenderGraph renderGraph, HDCamera hdCamera, GlobalIllu return passData.outputBuffer; } } - - class AdjustRTGIWeightPassData - { - // Camera parameters - public int texWidth; - public int texHeight; - public int viewCount; - - public TextureHandle depthPyramid; - public TextureHandle stencilBuffer; - public TextureHandle indirectDiffuseBuffer; - } static RTHandle RequestRayTracedIndirectDiffuseHistoryTexture(HDCamera hdCamera) { @@ -300,9 +288,6 @@ TextureHandle RenderIndirectDiffusePerformance(RenderGraph renderGraph, HDCamera // Denoise if required rtgiResult = DenoiseRTGI(renderGraph, hdCamera, rtgiResult, prepassOutput.depthPyramidTexture, prepassOutput.normalBuffer, prepassOutput.resolvedMotionVectorsBuffer, historyValidationTexture, fullResolution); - // Adjust the weight - rtgiResult = AdjustRTGIWeight(renderGraph, hdCamera, rtgiResult, prepassOutput.depthPyramidTexture, prepassOutput.stencilBuffer); - return rtgiResult; } @@ -441,9 +426,6 @@ TextureHandle RenderIndirectDiffuseQuality(RenderGraph renderGraph, HDCamera hdC // Denoise if required rtgiResult = DenoiseRTGI(renderGraph, hdCamera, rtgiResult, depthPyramid, normalBuffer, motionVectors, historyValidationTexture, true); - // Adjust the weight - rtgiResult = AdjustRTGIWeight(renderGraph, hdCamera, rtgiResult, depthPyramid, stencilBuffer); - return rtgiResult; } From 76bfaba902305dd646e7a4bc6321a900acf4fd48 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Wed, 8 Sep 2021 15:15:10 +0200 Subject: [PATCH 08/30] More cleanup --- .../Documentation~/Override-Screen-Space-GI.md | 7 ++++--- .../Material/ShaderGraph/Templates/ShaderPass.template | 1 - .../Editor/Material/UIBlocks/SurfaceOptionUIBlock.cs | 2 +- .../RenderPipeline/Raytracing/GlobalIlluminationEditor.cs | 2 -- 4 files changed, 5 insertions(+), 7 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 95222856e61..38e208b6ed3 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -72,14 +72,15 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and | - **Denoiser Radius** | Set the radius of the spatio-temporal filter. | | - **Second Denoiser Pass** | Enable this feature to process a second denoiser pass. This helps to remove noise from the effect. | -### Screen-space global illumination +### Screen-space global illumination Limitation * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. -### Ray-traced global illumination +### Ray-traced global illumination Limitation * Currently, ray tracing in HDRP does not support [decals](decal.md). This means that ray-traced global illumination does not affect decals in your Scene. +* Emissive decals do not contribute to global illumination because HDRP renders them later in the render pipeline. ### Mixed global illumination -* In Mixed tracing mode, emissive decals do not contribute to global illumination because HDRP renders them later in the render pipeline. For the same reason, emissive Materials that use Force Forward Emissive also do not contribute to global illumination. +* The Mixed tracing mode is only useful if Lit shader mode is Deferred and have the same limitation than Ray Tracing mode. Otherwise it is the same than Ray Tracing mode. diff --git a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template index 7fc31249d78..76662e28e0e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template +++ b/com.unity.render-pipelines.high-definition/Editor/Material/ShaderGraph/Templates/ShaderPass.template @@ -302,7 +302,6 @@ Pass $LightingGI: builtinData.bakeDiffuseLighting = surfaceDescription.BakedGI; $BackLightingGI: builtinData.backBakeDiffuseLighting = surfaceDescription.BakedBackGI; - // If we want to force forward emissive and we have GBuffer pass, don't do anything $SurfaceDescription.Emission: builtinData.emissiveColor = surfaceDescription.Emission; // Note this will not fully work on transparent surfaces (can check with _SURFACE_TYPE_TRANSPARENT define) 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 2426547b166..df035c824b4 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 @@ -137,7 +137,7 @@ internal static class Styles public static GUIContent specularAAThresholdText = new GUIContent("Threshold", "Controls the effect of Specular AA reduction. A values of 0 does not apply reduction, higher values allow higher reduction."); // SSR - public static GUIContent receivesSSRText = new GUIContent("Receive SSR/SSGI", "When enabled, this Material can receive screen space reflections and screen space global illumination."); + public static GUIContent receivesSSRText = new GUIContent("Receive SSR", "When enabled, this Material can receive screen space reflections."); public static GUIContent receivesSSRTransparentText = new GUIContent("Receive SSR Transparent", "When enabled, this Material can receive screen space reflections."); public static GUIContent opaqueCullModeText = new GUIContent("Cull Mode", "For opaque objects, change the cull mode of the object."); diff --git a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs index 45d5933e9f1..cf9d9846e3e 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/Raytracing/GlobalIlluminationEditor.cs @@ -173,8 +173,6 @@ public override void OnInspectorGUI() } PropertyField(m_Enable); - if (m_Enable.value.boolValue) - EditorGUILayout.HelpBox("Real-time Global Illumination overwrites emissive data in deferred rendering mode. To recover the emissive contribution, either use Force Forward Emissive or disable Receive SSR/SSGI flag on the emissive materials.", MessageType.Info); EditorGUILayout.Space(); // If ray tracing is supported display the content of the volume component From 90860215c5339eed2b82da4ecd340fbe3312c25d Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 00:53:27 +0200 Subject: [PATCH 09/30] Add full support for emissive and AO for APV/SSGI/RTGI/Mixed --- .../Runtime/Lighting/LightLoop/LightLoop.cs | 1 - .../Lighting/LightLoop/LightLoop.cs.hlsl | 1 - .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 146 +++++++++--------- .../ScreenSpaceGlobalIllumination.compute | 6 +- .../Runtime/Material/Builtin/BuiltinData.cs | 3 + .../Material/Builtin/BuiltinData.cs.hlsl | 1 + .../Runtime/Material/BuiltinGIUtilities.hlsl | 65 ++------ .../Runtime/Material/BuiltinUtilities.hlsl | 35 ++--- .../Runtime/Material/Lit/Lit.hlsl | 140 +++++++++++------ .../HDRenderPipeline.LightLoop.cs | 18 --- 10 files changed, 195 insertions(+), 221 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 7779140a83b..651de3789b6 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 @@ -82,7 +82,6 @@ internal enum LightFeatureFlags Sky = 1 << 16, SSRefraction = 1 << 17, SSReflection = 1 << 18, - ProbeVolume = 1 << 19 // If adding more light be sure to not overflow LightDefinitions.s_LightFeatureMaskFlags } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl index dca8236c2c2..4678a89f812 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.cs.hlsl @@ -32,7 +32,6 @@ #define LIGHTFEATUREFLAGS_SKY (65536) #define LIGHTFEATUREFLAGS_SSREFRACTION (131072) #define LIGHTFEATUREFLAGS_SSREFLECTION (262144) -#define LIGHTFEATUREFLAGS_PROBE_VOLUME (524288) // // UnityEngine.Rendering.HighDefinition.LightDefinitions: static fields diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index a4b8184f5f1..f18f80b0e0e 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -391,71 +391,91 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS } #endif + // Explanation about APV and SSGI/RTGI/Mixed effects steps in the rendering pipeline. + // All effects will output only Emissive inside the lighting buffer (gbuffer3) in case of deferred (For APV this is done only if we are not a lightmap). + // The Lightmaps/Lightprobes contribution is 0 for those cases. Code enforce it in SampleBakedGI(). The remaining code of Material pass (and the debug code) + // is exactly the same with or without effects on, including the EncodeToGbuffer. + // builtinData.isLightmap is used by APV to know if we have lightmap or not and is harcoded based on preprocessor in InitBuiltinData() + // AO is also store with a hack in Gbuffer3 if possible. Otherwise it is set to 1. + // In case of regular deferred path (when effects aren't enable) AO is already apply on lightmap and emissive is added on to of it. All is inside bakeDiffuseLighting and emissiveColor is 0. AO must be 1 + // When effects are enabled and for APV we don't have lightmaps, bakeDiffuseLighting is 0 and emissiveColor contain emissive (Either in deferred or forward) and AO should be the real AO value. + // Then in the lightloop in below code we will evalaute APV or read the indirectDiffuseTexture to fill bakeDiffuseLighting. + // We will then just do all the regular step we do with bakeDiffuseLighting in PostInitBuiltinData() + // No code change is required to handle AO, it is the same for all path. + // Note: With current approach, Decals Emissive aren't taken into account by RTGI and by the Mixed method. + // Note2: With current approach, Transparent Emissive works with SSGI and RTGI but can cause artifact with Mixed (RayMarch part could get a hit and thus avoid Raytrace path) + // Note3: Forward opaque emissive work in all cases. The current code flow with Emissive store in GBuffer3 is only to manage the case of Opaque Lit Material with Emissive in case of deferred + // Note4: Only APV can handle backFace lighting, all other effects are front face only. + + // If we use SSGI/RTGI/Mixed effect, we are fully replacing the value of builtinData.bakeDiffuseLighting which is 0 at this step. + // If we are APV we only replace the non lightmaps part. + bool replaceBakeDiffuseLighting = false; +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) + float3 lightInReflDir = float3(-1, -1, -1); // This variable is used with APV for tinting reflection probe - see code for LIGHTFEATUREFLAGS_ENV +#endif +#if !defined(_SURFACE_TYPE_TRANSPARENT) // No SSGI/RTGI/Mixed effect on transparent + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) + replaceBakeDiffuseLighting = true; +#endif #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - float3 lightInReflDir = -1; - bool uninitializedGI = IsUninitializedGI(builtinData.bakeDiffuseLighting); - // If probe volume feature is enabled, this bit is enabled for all tiles to handle ambient probe fallback. - // Even so, the bound resources might be invalid in some cases, so we still need to check on _EnableProbeVolumes. - bool apvEnabled = (featureFlags & LIGHTFEATUREFLAGS_PROBE_VOLUME) && _EnableProbeVolumes; + if (!builtinData.isLightmap) + replaceBakeDiffuseLighting = true; +#endif - if (!apvEnabled) + if (replaceBakeDiffuseLighting) { - builtinData.bakeDiffuseLighting = (uninitializedGI && !apvEnabled) ? float3(0.0, 0.0, 0.0) : builtinData.bakeDiffuseLighting; - builtinData.backBakeDiffuseLighting = (uninitializedGI && !apvEnabled) ? float3(0.0, 0.0, 0.0) : builtinData.backBakeDiffuseLighting; - } - else - { - if (uninitializedGI) + BuiltinData tempBuiltinData; + ZERO_INITIALIZE(BuiltinData, tempBuiltinData); + +#if !defined(_SURFACE_TYPE_TRANSPARENT) + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) + { + tempBuiltinData.bakeDiffuseLighting = LOAD_TEXTURE2D_X(_IndirectDiffuseTexture, posInput.positionSS).xyz * GetInverseCurrentExposureMultiplier(); + } + else +#endif { - float3 R = reflect(-V, bsdfData.normalWS); - // Need to make sure not to apply ModifyBakedDiffuseLighting() twice to our bakeDiffuseLighting data, which could happen if we are dealing with initialized data (light maps). - // Create a local BuiltinData variable here, and then add results to builtinData.bakeDiffuseLighting at the end. - BuiltinData apvBuiltinData; - ZERO_INITIALIZE(BuiltinData, apvBuiltinData); - SetAsUninitializedGI(apvBuiltinData.bakeDiffuseLighting); - SetAsUninitializedGI(apvBuiltinData.backBakeDiffuseLighting); - - EvaluateAdaptiveProbeVolume(GetAbsolutePositionWS(posInput.positionWS), - bsdfData.normalWS, - -bsdfData.normalWS, - R, - V, - posInput.positionSS, - apvBuiltinData.bakeDiffuseLighting, - apvBuiltinData.backBakeDiffuseLighting, - lightInReflDir); - - float indirectDiffuseMultiplier = GetIndirectDiffuseMultiplier(builtinData.renderingLayers); - apvBuiltinData.bakeDiffuseLighting *= indirectDiffuseMultiplier; - apvBuiltinData.backBakeDiffuseLighting *= indirectDiffuseMultiplier; +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) + if (_EnableProbeVolumes) + { + // Reflect normal to get lighting for reflection probe tinting + float3 R = reflect(-V, bsdfData.normalWS); + + EvaluateAdaptiveProbeVolume(GetAbsolutePositionWS(posInput.positionWS), + bsdfData.normalWS, + -bsdfData.normalWS, + R, + V, + posInput.positionSS, + tempBuiltinData.bakeDiffuseLighting, + tempBuiltinData.backBakeDiffuseLighting, + lightInReflDir); + } + else // If probe volume is disabled we fallback on the ambient probes + { + tempBuiltinData = EvaluateAmbientProbe(bsdfData.normalWS); + tempBuiltinData = EvaluateAmbientProbe(-bsdfData.normalWS); + } +#endif + } #ifdef MODIFY_BAKED_DIFFUSE_LIGHTING #ifdef DEBUG_DISPLAY - // When the lux meter is enabled, we don't want the albedo of the material to modify the diffuse baked lighting - if (_DebugLightingMode != DEBUGLIGHTINGMODE_LUX_METER) + // When the lux meter is enabled, we don't want the albedo of the material to modify the diffuse baked lighting + if (_DebugLightingMode != DEBUGLIGHTINGMODE_LUX_METER) #endif - ModifyBakedDiffuseLighting(V, posInput, preLightData, bsdfData, apvBuiltinData); + ModifyBakedDiffuseLighting(V, posInput, preLightData, bsdfData, tempBuiltinData); -#endif + // This is applied only on bakeDiffuseLighting as ModifyBakedDiffuseLighting combine both bakeDiffuseLighting and backBakeDiffuseLighting + tempBuiltinData.bakeDiffuseLighting *= GetIndirectDiffuseMultiplier(builtinData.renderingLayers); -#if (SHADERPASS == SHADERPASS_DEFERRED_LIGHTING) - // If we are deferred we shouldn't apply baked AO here as it was already apply for lightmap. - // When using probe volumes for the pixel (i.e. we have uninitialized GI), we include the surfaceData.ambientOcclusion as - // payload information alongside the un-init flag. - // It should not be applied in forward as in this case the baked AO is correctly apply in PostBSDF() - // This is applied only on bakeDiffuseLighting as ModifyBakedDiffuseLighting combine both bakeDiffuseLighting and backBakeDiffuseLighting - float surfaceDataAO = ExtractPayloadFromUninitializedGI(builtinData.bakeDiffuseLighting); - apvBuiltinData.bakeDiffuseLighting *= surfaceDataAO; -#endif + ApplyDebugToBuiltinData(tempBuiltinData); // This will not affect emissive as we don't use it - ApplyDebugToBuiltinData(apvBuiltinData); + // Replace original data + builtinData.bakeDiffuseLighting = tempBuiltinData.bakeDiffuseLighting; - // Note: builtinDataProbeVolumes.bakeDiffuseLighting and builtinDataProbeVolumes.backBakeDiffuseLighting were combine inside of ModifyBakedDiffuseLighting(). - builtinData.bakeDiffuseLighting = apvBuiltinData.bakeDiffuseLighting; - } - } -#endif + } // if (replaceBakeDiffuseLighting) // Reflection probes are sorted by volume (in the increasing order). if (featureFlags & LIGHTFEATUREFLAGS_ENV) @@ -613,28 +633,6 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS } #endif -#if !defined(_SURFACE_TYPE_TRANSPARENT) - // If we use any global illumination effect (SSGI or RTGI) we will replace fully the value of builtinData.bakeDiffuseLighting which contain nothing - if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) - { - BuiltinData builtinDataSSGI; - ZERO_INITIALIZE(BuiltinData, builtinDataSSGI); - builtinDataSSGI.bakeDiffuseLighting = LOAD_TEXTURE2D_X(_IndirectDiffuseTexture, posInput.positionSS).xyz * GetInverseCurrentExposureMultiplier(); - builtinDataSSGI.bakeDiffuseLighting *= GetIndirectDiffuseMultiplier(builtinData.renderingLayers); - - // TODO: try to see if we can share code with probe volume -#ifdef MODIFY_BAKED_DIFFUSE_LIGHTING -#ifdef DEBUG_DISPLAY - // When the lux meter is enabled, we don't want the albedo of the material to modify the diffuse baked lighting - if (_DebugLightingMode != DEBUGLIGHTINGMODE_LUX_METER) -#endif - ModifyBakedDiffuseLighting(V, posInput, preLightData, bsdfData, builtinDataSSGI); - -#endif - builtinData.bakeDiffuseLighting = builtinDataSSGI.bakeDiffuseLighting; - } -#endif - ApplyDebugToLighting(context, builtinData, aggregateLighting); // Note: We can't apply the IndirectDiffuseMultiplier here as with GBuffer, Emissive is part of the bakeDiffuseLighting. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute index c233bdf0c6d..0642d952dee 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute @@ -264,16 +264,14 @@ void REPROJECT_GLOBAL_ILLUMINATION(uint3 dispatchThreadId : SV_DispatchThreadID, { BuiltinData apvBuiltinData; ZERO_INITIALIZE(BuiltinData, apvBuiltinData); - SetAsUninitializedGI(apvBuiltinData.bakeDiffuseLighting); - SetAsUninitializedGI(apvBuiltinData.backBakeDiffuseLighting); EvaluateAdaptiveProbeVolume(GetAbsolutePositionWS(posInput.positionWS), normalData.normalWS, - -normalData.normalWS, + -normalData.normalWS, // Not used GetWorldSpaceNormalizeViewDir(posInput.positionWS), posInput.positionSS, apvBuiltinData.bakeDiffuseLighting, - apvBuiltinData.backBakeDiffuseLighting); + apvBuiltinData.backBakeDiffuseLighting); // Not used color = apvBuiltinData.bakeDiffuseLighting * GetCurrentExposureMultiplier(); invalid = false; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs index 624904c14e5..bf36993293d 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs @@ -58,6 +58,9 @@ public struct BuiltinData public float distortionBlur; // Define the color buffer mipmap level to use // Misc + [SurfaceDataAttributes("Is Lightmap")] + public uint isLightmap; // Currently only use with APV + [SurfaceDataAttributes("Rendering Layers")] public uint renderingLayers; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl index e97e9e04e3a..7cb0bdcd918 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl @@ -39,6 +39,7 @@ struct BuiltinData real2 motionVector; real2 distortion; real distortionBlur; + uint isLightmap; uint renderingLayers; float depthOffset; #if defined(UNITY_VIRTUAL_TEXTURING) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl index 459f1ccec8b..448ad4fb97a 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl @@ -19,40 +19,15 @@ real3 EvaluateAmbientProbe(real3 normalWS) return SampleSH9(SHCoefficients, normalWS); } +// Alias to make code less confusing as the same code is used to evaluate Ambient Probe and also to evaluate builtin light probe (which include ambient probe + local lights) +#define EvaluateAmbientProbe EvaluateLightProbe + #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) #include "Packages/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl" - -// y channel is reserved for potential payload information to carry alongside the unintialized flag. -#define UNINITIALIZED_GI float3((1 << 11), 1, (1 << 10)) - -bool IsUninitializedGI(float3 bakedGI) -{ - const float3 unitializedGI = UNINITIALIZED_GI; - return all(bakedGI.xz == unitializedGI.xz); -} - - -void SetAsUninitializedGI(out float3 bakedGI) -{ - bakedGI = UNINITIALIZED_GI; -} - -float ExtractPayloadFromUninitializedGI(float3 inputBakedGI) -{ - float payload = 1.0f; - if (IsUninitializedGI(inputBakedGI)) - payload = inputBakedGI.y; - - return payload; -} - -void EncodePayloadWithUninitGI(float payload, inout float3 bakedGI) -{ - bakedGI.y = payload; -} #endif // Return camera relative probe volume world to object transformation + // Note: Probe volume here refer to LPPV not APV float4x4 GetProbeVolumeWorldToObject() { return ApplyCameraTranslationToInverseMatrix(unity_ProbeVolumeWorldToObject); @@ -123,11 +98,12 @@ void EvaluateLightProbeBuiltin(float3 positionRWS, float3 normalWS, float3 backN { if (unity_ProbeVolumeParams.x == 0.0) { - bakeDiffuseLighting += EvaluateAmbientProbe(normalWS); - backBakeDiffuseLighting += EvaluateAmbientProbe(backNormalWS); + bakeDiffuseLighting += EvaluateLightProbe(normalWS); + backBakeDiffuseLighting += EvaluateLightProbe(backNormalWS); } else { + // Note: Probe volume here refer to LPPV not APV SampleProbeVolumeSH4(TEXTURE3D_ARGS(unity_ProbeVolumeSH, samplerunity_ProbeVolumeSH), positionRWS, normalWS, backNormalWS, GetProbeVolumeWorldToObject(), unity_ProbeVolumeParams.y, unity_ProbeVolumeParams.z, unity_ProbeVolumeMin.xyz, unity_ProbeVolumeSizeInv.xyz, bakeDiffuseLighting, backBakeDiffuseLighting); } @@ -150,7 +126,7 @@ void SampleBakedGI( // Check if we have SSGI/RTGI/Mixed enabled in which case we don't want to read Lightmaps/Lightprobe at all. // This behavior only apply to opaque Materials as Transparent one don't receive SSGI/RTGI/Mixed lighting. // The check need to be here to work with both regular shader and shader graph - // Note: With Probe volume it will prevent to add the UNINITIALIZED_GI tag and the ProbeVolume will not be evaluate in the lightloop which is the desired behavior + // Note: With Probe volume the code is skip in the lightloop if any of those effects is enabled // We prevent to read GI only if we are not raytrace pass that are used to fill the RTGI/Mixed buffer need to be executed normaly #if !defined(_SURFACE_TYPE_TRANSPARENT) && (SHADERPASS != SHADERPASS_RAYTRACING_INDIRECT) && (SHADERPASS != SHADERPASS_RAYTRACING_GBUFFER) if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF) @@ -159,32 +135,11 @@ void SampleBakedGI( float3 positionRWS = posInputs.positionWS; -#define SAMPLE_LIGHTMAP (defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON)) -#define SAMPLE_PROBEVOLUME_BUILTIN (!SAMPLE_LIGHTMAP) - -#if SAMPLE_LIGHTMAP +#if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) EvaluateLightmap(positionRWS, normalWS, backNormalWS, uvStaticLightmap, uvDynamicLightmap, bakeDiffuseLighting, backBakeDiffuseLighting); -#endif - -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - // If probe volumes are evaluated in the lightloop, we place a sentinel value to detect that no lightmap data is present at the current pixel, - // and we can safely overwrite baked data value with value from probe volume evaluation in light loop. -#if !SAMPLE_LIGHTMAP - if (_EnableProbeVolumes) - SetAsUninitializedGI(bakeDiffuseLighting); - else - EvaluateLightProbeBuiltin(positionRWS, normalWS, backNormalWS, bakeDiffuseLighting, backBakeDiffuseLighting); - return; -#endif - -#elif SAMPLE_PROBEVOLUME_BUILTIN // SAMPLE_PROBEVOLUME_BUILTIN && !(defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) - +#elif !(defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2)) // With APV if we aren't a lightmap we do nothing. We will default to Ambient Probe in lightloop code if APV is disabled EvaluateLightProbeBuiltin(positionRWS, normalWS, backNormalWS, bakeDiffuseLighting, backBakeDiffuseLighting); - #endif - -#undef SAMPLE_LIGHTMAP -#undef SAMPLE_PROBEVOLUME_BUILTIN } // Function signature exposed in a shader graph node, to keep diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl index c6508a254ab..32024ecb539 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl @@ -49,12 +49,19 @@ void InitBuiltinData(PositionInputs posInput, float alpha, float3 normalWS, floa // Use uniform directly - The float need to be cast to uint (as unity don't support to set a uint as uniform) builtinData.renderingLayers = GetMeshRenderingLightLayer(); - // Sample lightmap/probevolume/lightprobe/volume proxy + // Sample lightmap/lightprobe/volume proxy builtinData.bakeDiffuseLighting = 0.0; builtinData.backBakeDiffuseLighting = 0.0; SampleBakedGI( posInput, normalWS, backNormalWS, builtinData.renderingLayers, texCoord1.xy, texCoord2.xy, builtinData.bakeDiffuseLighting, builtinData.backBakeDiffuseLighting); + builtinData.isLightmap = +#if defined(LIGHTMAP_ON) || defined(DYNAMICLIGHTMAP_ON) + 1; +#else + 0; +#endif + #ifdef SHADOWS_SHADOWMASK float4 shadowMask = SampleShadowMask(posInput.positionWS, texCoord1.xy); builtinData.shadowMask0 = shadowMask.x; @@ -103,23 +110,8 @@ void ModifyBakedDiffuseLighting(float3 V, PositionInputs posInput, SurfaceData s void PostInitBuiltinData( float3 V, PositionInputs posInput, SurfaceData surfaceData, inout BuiltinData builtinData) { -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - if (IsUninitializedGI(builtinData.bakeDiffuseLighting)) - { -#ifdef HAS_PAYLOAD_WITH_UNINIT_GI - EncodePayloadWithUninitGI(GetUninitializedGIPayload(surfaceData), builtinData.bakeDiffuseLighting); -#endif - return; - } -#else - // Apply control from the indirect lighting volume settings - This is apply here so we don't affect emissive - // color in case of lit deferred for example and avoid material to have to deal with it - - // Note: We only apply indirect multiplier for Material pass mode, for lightloop mode, the multiplier will be apply in lightloop - float multiplier = GetIndirectDiffuseMultiplier(builtinData.renderingLayers); - builtinData.bakeDiffuseLighting *= multiplier; - builtinData.backBakeDiffuseLighting *= multiplier; -#endif + // For APV (non lightmap case) and SSGI/RTGI/Mixed bakeDiffuseLighting is 0 and below code will not have any effect. + // ModifyBakedDiffuseLighting, GetIndirectDiffuseMultiplier and ApplyDebugToBuiltinData will be done in lightloop for those cases #ifdef MODIFY_BAKED_DIFFUSE_LIGHTING @@ -130,6 +122,13 @@ void PostInitBuiltinData( float3 V, PositionInputs posInput, SurfaceData surfa ModifyBakedDiffuseLighting(V, posInput, surfaceData, builtinData); #endif + + // Apply control from the indirect lighting volume settings - This is apply here so we don't affect emissive + // color in case of lit deferred for example and avoid material to have to deal with it + // This is applied only on bakeDiffuseLighting as ModifyBakedDiffuseLighting combine both bakeDiffuseLighting and backBakeDiffuseLighting + float multiplier = GetIndirectDiffuseMultiplier(builtinData.renderingLayers); + builtinData.bakeDiffuseLighting *= multiplier; + ApplyDebugToBuiltinData(builtinData); } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 29d0c121ba0..452798e8087 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -7,7 +7,9 @@ // Those define allow to include desired SSS/Transmission functions #define MATERIAL_INCLUDE_SUBSURFACESCATTERING #define MATERIAL_INCLUDE_TRANSMISSION -#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl" //For IsUninitializedGI +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl" //For APV +#endif #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/NormalBuffer.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/VolumeRendering.hlsl" @@ -96,40 +98,40 @@ static const uint kFeatureVariantFlags[NUM_FEATURE_VARIANTS] = // Precomputed illumination (no dynamic lights) with standard, SSS and transmission /* 1 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, // Precomputed illumination (no dynamic lights) for all material types - /* 2 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIAL_FEATURE_MASK_FLAGS, + /* 2 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIAL_FEATURE_MASK_FLAGS, /* 3 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 4 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_AREA | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 5 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 6 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 5 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 6 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 7 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIALFEATUREFLAGS_LIT_STANDARD, // Standard with SSS and Transmission /* 8 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 9 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_AREA | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 10 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 11 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 10 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 11 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 12 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIALFEATUREFLAGS_LIT_SUBSURFACE_SCATTERING | MATERIALFEATUREFLAGS_LIT_TRANSMISSION | MATERIALFEATUREFLAGS_LIT_STANDARD, // Anisotropy /* 13 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 14 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_AREA | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 15 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 16 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 15 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 16 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 17 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIALFEATUREFLAGS_LIT_ANISOTROPY | MATERIALFEATUREFLAGS_LIT_STANDARD, // Standard with clear coat /* 18 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 19 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_AREA | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 20 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 21 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 20 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 21 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 22 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIALFEATUREFLAGS_LIT_CLEAR_COAT | MATERIALFEATUREFLAGS_LIT_STANDARD, // Standard with Iridescence /* 23 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 24 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_AREA | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 25 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, - /* 26 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_PROBE_VOLUME | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 25 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, + /* 26 */ LIGHTFEATUREFLAGS_SKY | LIGHTFEATUREFLAGS_DIRECTIONAL | LIGHTFEATUREFLAGS_PUNCTUAL | LIGHTFEATUREFLAGS_ENV | LIGHTFEATUREFLAGS_SSREFLECTION | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 27 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIALFEATUREFLAGS_LIT_IRIDESCENCE | MATERIALFEATUREFLAGS_LIT_STANDARD, /* 28 */ LIGHT_FEATURE_MASK_FLAGS_OPAQUE | MATERIAL_FEATURE_MASK_FLAGS, // Catch all case with MATERIAL_FEATURE_MASK_FLAGS is needed in case we disable material classification @@ -482,7 +484,7 @@ BSDFData ConvertSurfaceDataToBSDFData(uint2 positionSS, SurfaceData surfaceData) //FeatureName Standard -//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion +//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion(7) / IsLightmap(1) //GBuffer1 normal.xy (1212), perceptualRoughness //GBuffer2 f0.r, f0.g, f0.b, featureID(3) / coatMask(5) //GBuffer3 bakedDiffuseLighting.rgb @@ -490,17 +492,17 @@ BSDFData ConvertSurfaceDataToBSDFData(uint2 positionSS, SurfaceData surfaceData) //FeatureName Subsurface Scattering + Transmission //GBuffer0 baseColor.r, baseColor.g, baseColor.b, diffusionProfile(4) / subsurfaceMask(4) //GBuffer1 normal.xy (1212), perceptualRoughness -//GBuffer2 specularOcclusion, thickness, diffusionProfile(4) / subsurfaceMask(4), featureID(3) / coatMask(5) +//GBuffer2 specularOcclusion(7) / IsLightmap(1), thickness, diffusionProfile(4) / subsurfaceMask(4), featureID(3) / coatMask(5) //GBuffer3 bakedDiffuseLighting.rgb //FeatureName Anisotropic -//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion +//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion(7) / IsLightmap(1) //GBuffer1 normal.xy (1212), perceptualRoughness //GBuffer2 anisotropy, tangent.x, tangent.sign(1) / metallic(5), featureID(3) / coatMask(5) //GBuffer3 bakedDiffuseLighting.rgb //FeatureName Irridescence -//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion +//GBuffer0 baseColor.r, baseColor.g, baseColor.b, specularOcclusion(7) / IsLightmap(1) //GBuffer1 normal.xy (1212), perceptualRoughness //GBuffer2 IOR, thickness, unused(3bit) / metallic(5), featureID(3) / coatMask(5) //GBuffer3 bakedDiffuseLighting.rgb @@ -537,9 +539,17 @@ void EncodeIntoGBuffer( SurfaceData surfaceData #endif ) { + // When using APV we need to know if we have lightmaps or not. + // we chose to encode this information into the specularOcclusion +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) + float encodedSpecularOcclusion = PackFloatInt8bit(surfaceData.specularOcclusion, builtinData.isLightmap, 128); +#else + float encodedSpecularOcclusion = surfaceData.specularOcclusion; +#endif + // RT0 - 8:8:8:8 sRGB // Warning: the contents are later overwritten for Standard and SSS! - outGBuffer0 = float4(surfaceData.baseColor, surfaceData.specularOcclusion); + outGBuffer0 = float4(surfaceData.baseColor, encodedSpecularOcclusion); // This encode normalWS and PerceptualSmoothness into GBuffer1 EncodeIntoNormalBuffer(ConvertSurfaceDataToNormalData(surfaceData), outGBuffer1); @@ -568,7 +578,7 @@ void EncodeIntoGBuffer( SurfaceData surfaceData // We duplicate the alpha channel of the G-Buffer 0 (for diffusion profile). // It allows us to delay reading the G-Buffer 0 until the end of the deferred lighting shader. - outGBuffer2.rgb = float3(surfaceData.specularOcclusion, surfaceData.thickness, outGBuffer0.a); + outGBuffer2.rgb = float3(encodedSpecularOcclusion, surfaceData.thickness, outGBuffer0.a); } else if (HasFlag(surfaceData.materialFeatures, MATERIALFEATUREFLAGS_LIT_ANISOTROPY)) { @@ -671,12 +681,7 @@ void EncodeIntoGBuffer( SurfaceData surfaceData // then remove bakeDiffuseLighting part. if (_DebugLightingMode == DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING) { - #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - if (!IsUninitializedGI(builtinData.bakeDiffuseLighting)) - #endif - { - builtinData.bakeDiffuseLighting = real3(0.0, 0.0, 0.0); - } + builtinData.bakeDiffuseLighting = real3(0.0, 0.0, 0.0); } else { @@ -685,24 +690,33 @@ void EncodeIntoGBuffer( SurfaceData surfaceData } #endif +// Random TAG which we expect will never match provided emissive or lightmap value +#define AO_IN_GBUFFER3_TAG float3((1 << 11), 1, (1 << 10)) + // RT3 - 11f:11f:10f - // In deferred we encode emissive color with bakeDiffuseLighting. We don't have the room to store emissiveColor. + // In deferred we encode emissive color with bakeDiffuseLighting. We don't have the room to store emissiveColor separately. // It mean that any futher process that affect bakeDiffuseLighting will also affect emissiveColor, like SSAO for example. + // For APV (non lightmap case) and SSGI/RTGI/Mixed bakeDiffuseLighting is 0 and below code will simply store emissiveColor + // Extra hack: In this last case, if emissiveColor is 0 then we store AO inside the buffer with a tag. + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - - if (IsUninitializedGI(builtinData.bakeDiffuseLighting)) + || !builtinData.isLightmap +#endif + ) { - // builtinData.bakeDiffuseLighting contain uninitializedGI sentinel value. + if (all(builtinData.emissiveColor == 0.0)) + { + builtinData.emissiveColor.xz = AO_IN_GBUFFER3_TAG.xz; + builtinData.emissiveColor.y = surfaceData.ambientOcclusion; + } + else + { + builtinData.emissiveColor *= GetCurrentExposureMultiplier(); + } - // This means probe volumes will not get applied to this pixel, only emissiveColor will. - // When length(emissiveColor) is much greater than length(probeVolumeOutgoingRadiance), this will visually look reasonable. - // Unfortunately this will break down when emissiveColor is faded out (result will pop). - // TODO: If evaluating probe volumes in lightloop, only write out sentinel value here, and re-render emissive surfaces. - // Pre-expose lighting buffer - outGBuffer3 = float4(all(builtinData.emissiveColor == 0.0) ? builtinData.bakeDiffuseLighting : builtinData.emissiveColor * GetCurrentExposureMultiplier(), 0.0); + outGBuffer3 = float4(builtinData.emissiveColor, 0.0); } else -#endif { outGBuffer3 = float4(builtinData.bakeDiffuseLighting * surfaceData.ambientOcclusion + builtinData.emissiveColor, 0.0); // Pre-expose lighting buffer @@ -711,6 +725,7 @@ void EncodeIntoGBuffer( SurfaceData surfaceData #ifdef LIGHT_LAYERS // Note: we need to mask out only 8bits of the layer mask before encoding it as otherwise any value > 255 will map to all layers active + // If light layers is available, we take the opportunity to store AO in it to improve quality of indirect lighting with APV/SSGI/RTGI/Mixed OUT_GBUFFER_LIGHT_LAYERS = float4(0.0, 0.0, 0.0, (builtinData.renderingLayers & 0x000000FF) / 255.0); #endif @@ -745,21 +760,6 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd GBufferType1 inGBuffer1 = LOAD_TEXTURE2D_X(_GBufferTexture1, positionSS); GBufferType2 inGBuffer2 = LOAD_TEXTURE2D_X(_GBufferTexture2, positionSS); - // BuiltinData - builtinData.bakeDiffuseLighting = LOAD_TEXTURE2D_X(_GBufferTexture3, positionSS).rgb; // This also contain emissive (and * AO if no lightlayers) - -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - if (!IsUninitializedGI(builtinData.bakeDiffuseLighting)) -#endif - { - // Inverse pre-exposure - builtinData.bakeDiffuseLighting *= GetInverseCurrentExposureMultiplier(); // zero-div guard - } - - // In deferred ambient occlusion isn't available and is already apply on bakeDiffuseLighting for the GI part. - // Caution: even if we store it in the GBuffer we need to apply it on GI and not on emissive color, so AO must be 1.0 in deferred - bsdfData.ambientOcclusion = 1.0; - // Avoid to introduce a new variant for light layer as it is already long to compile if (_EnableLightLayers) { @@ -946,6 +946,46 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // perceptualRoughness can be modify by FillMaterialClearCoatData, so ConvertAnisotropyToClampRoughness must be call after ConvertAnisotropyToRoughness(bsdfData.perceptualRoughness, bsdfData.anisotropy, bsdfData.roughnessT, bsdfData.roughnessB); +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) + UnpackFloatInt8bit(bsdfData.specularOcclusion, 128, bsdfData.specularOcclusion, builtinData.isLightmap); +#endif + + // BuiltinData + // _GBufferTexture3 contain lightmaps/lightprobe and emissive by default. + // When any SSGI/RTGI/Mixed effect is enabled it contain emissive only + // When APV is enabled it contain lightmaps or emissive. We use builtinData.isLightmap to know if we are emissive only + // In the regular case the lightmaps/lightprobe are multiply by AO before adding emissive + float3 gbuffer3 = LOAD_TEXTURE2D_X(_GBufferTexture3, positionSS).rgb; + + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF +#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) + || !builtinData.isLightmap +#endif + ) + { + // In deferred case, AO is apply during the EncodeToGbuffer pass on bakeDiffuseLighting data but not emissive + // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive + // But in the case we are inside this condition (mean one of the SSGI/RTGI/Mixed or APV effect is on), it mean we have store emissive only and bakeDiffuseLighting will be init in lightloop. + // Then we could use the regular path (like in Forward) and get correct rendering. + // For this we rely on a hack. We assume that having baseColor + Emissive is not common and that on top of this having this combination that have AO not white is very rare. Then we chose + // to store AO if there is no emissive, and in case of emissive we use 1.0 for AO (i.e neutral value). This effectively prevent the rare combination describe above but should be an acceptable tradeoff. + if (gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz) + { + bsdfData.ambientOcclusion = gbuffer3.y; + } + else + { + builtinData.emissiveColor = gbuffer3 * GetInverseCurrentExposureMultiplier(); + bsdfData.ambientOcclusion = 1.0; + } + } + else + { + bsdfData.ambientOcclusion = 1.0; + // Inverse pre-exposure + builtinData.bakeDiffuseLighting = gbuffer3 * GetInverseCurrentExposureMultiplier(); + } + ApplyDebugToBSDFData(bsdfData); return pixelFeatureFlags; 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 28c6f24cfaf..6462ef3e9ea 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 @@ -51,7 +51,6 @@ class BuildGPULightListPassData public bool computeMaterialVariants; public bool computeLightVariants; public bool skyEnabled; - public bool probeVolumeEnabled; public LightList lightList; // Clear Light lists @@ -236,16 +235,6 @@ static void BuildPerTileLightList(BuildGPULightListPassData data, ref bool tileF baseFeatureFlags |= LightDefinitions.s_MaterialFeatureMaskFlags; } - if (data.probeVolumeEnabled) - { - // If probe volume feature is enabled, we toggle this feature on for all tiles. - // This is necessary because all tiles must sample ambient probe fallback. - // It is possible we could save a little bit of work by having 2x feature flags for probe volumes: - // one specifiying which tiles contain probe volumes, - // and another triggered for all tiles to handle fallback. - baseFeatureFlags |= (uint)LightFeatureFlags.ProbeVolume; - } - localLightListCB.g_BaseFeatureFlags = baseFeatureFlags; cmd.SetComputeBufferParam(data.buildPerTileLightListShader, data.buildPerTileLightListKernel, HDShaderIDs.g_TileFeatureFlags, data.output.tileFeatureFlags); @@ -310,11 +299,6 @@ static void BuildDispatchIndirectArguments(BuildGPULightListPassData data, bool { baseFeatureFlags |= LightDefinitions.s_LightFeatureMaskFlags; } - if (data.probeVolumeEnabled) - { - // TODO: Verify that we should be globally enabling ProbeVolume feature for all tiles here, or if we should be using per-tile culling. - baseFeatureFlags |= (uint)LightFeatureFlags.ProbeVolume; - } // If we haven't run the light list building, we are missing some basic lighting flags. if (!tileFlagsWritten) @@ -497,7 +481,6 @@ unsafe void PrepareBuildGPULightListPassData( passData.lightList = m_lightList; passData.skyEnabled = m_SkyManager.IsLightingSkyValid(hdCamera); passData.useComputeAsPixel = DeferredUseComputeAsPixel(hdCamera.frameSettings); - passData.probeVolumeEnabled = hdCamera.frameSettings.IsEnabled(FrameSettingsField.ProbeVolume); bool isProjectionOblique = GeometryUtils.IsProjectionMatrixOblique(m_LightListProjMatrices[0]); @@ -620,7 +603,6 @@ unsafe void PrepareBuildGPULightListPassData( var nrBigTilesX = (m_MaxCameraWidth + 63) / 64; var nrBigTilesY = (m_MaxCameraHeight + 63) / 64; var nrBigTiles = nrBigTilesX * nrBigTilesY * m_MaxViewCount; - // TODO: (Nick) In the case of Probe Volumes, this buffer could be trimmed down / tuned more specifically to probe volumes if we added a s_MaxNrBigTileProbeVolumesPlusOne value. passData.output.bigTileLightList = builder.WriteComputeBuffer( renderGraph.CreateComputeBuffer(new ComputeBufferDesc(LightDefinitions.s_MaxNrBigTileLightsPlusOne * nrBigTiles, sizeof(uint)) { name = "BigTiles" })); } From 5762ddfa303ada01e08a78eba855aa54ac78d226 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 01:10:41 +0200 Subject: [PATCH 10/30] Additional correction --- .../Runtime/Material/Lit/Lit.hlsl | 73 ++++++++----------- 1 file changed, 30 insertions(+), 43 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 452798e8087..b6aaf621a72 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -690,37 +690,26 @@ void EncodeIntoGBuffer( SurfaceData surfaceData } #endif -// Random TAG which we expect will never match provided emissive or lightmap value -#define AO_IN_GBUFFER3_TAG float3((1 << 11), 1, (1 << 10)) + // Random TAG which we expect will never match provided emissive or lightmap value + #define AO_IN_GBUFFER3_TAG float3((1 << 11), 1, (1 << 10)) // RT3 - 11f:11f:10f // In deferred we encode emissive color with bakeDiffuseLighting. We don't have the room to store emissiveColor separately. - // It mean that any futher process that affect bakeDiffuseLighting will also affect emissiveColor, like SSAO for example. + // It mean that any futher process that affect bakeDiffuseLighting in the lightloop will also affect emissiveColor, like SSAO for example. // For APV (non lightmap case) and SSGI/RTGI/Mixed bakeDiffuseLighting is 0 and below code will simply store emissiveColor // Extra hack: In this last case, if emissiveColor is 0 then we store AO inside the buffer with a tag. - if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - || !builtinData.isLightmap -#endif - ) - { - if (all(builtinData.emissiveColor == 0.0)) - { - builtinData.emissiveColor.xz = AO_IN_GBUFFER3_TAG.xz; - builtinData.emissiveColor.y = surfaceData.ambientOcclusion; - } - else - { - builtinData.emissiveColor *= GetCurrentExposureMultiplier(); - } - - outGBuffer3 = float4(builtinData.emissiveColor, 0.0); - } - else + outGBuffer3 = float4(builtinData.bakeDiffuseLighting * surfaceData.ambientOcclusion + builtinData.emissiveColor, 0.0); + // Pre-expose lighting buffer + outGBuffer3.rgb *= GetCurrentExposureMultiplier(); + + // If this is 0 it mean that both bakeDiffuseLighting and emissiveColor are 0 and we are potentially in case of one effect + // so store AO instead. It doesn't matter if it is a false positive as result will be correct, this is to reduce code divergence + // Note: We assume that having non black baseColor * AO * lighting + Emissive is uncommon / rare (We expect mostly baseColor * AO * lighting or Emissive or baseColor * lighting + Emissive) + // and use this information as a tradeoff to improve quality in all others cases + if (all(outGBuffer3 == 0.0)) { - outGBuffer3 = float4(builtinData.bakeDiffuseLighting * surfaceData.ambientOcclusion + builtinData.emissiveColor, 0.0); - // Pre-expose lighting buffer - outGBuffer3.rgb *= GetCurrentExposureMultiplier(); + outGBuffer3.xz = AO_IN_GBUFFER3_TAG.xz; + outGBuffer3.y = surfaceData.ambientOcclusion; } #ifdef LIGHT_LAYERS @@ -957,33 +946,31 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // In the regular case the lightmaps/lightprobe are multiply by AO before adding emissive float3 gbuffer3 = LOAD_TEXTURE2D_X(_GBufferTexture3, positionSS).rgb; + + // In deferred case, AO is apply during the EncodeToGbuffer pass on bakeDiffuseLighting data but not emissive + // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive + // As explain in encoding step for SSGI/RTGI/Mixed and APV not using lightmap, we rely on a hack to retrieve AO + // Then we could use the regular path (like in Forward) and get correct rendering. + if (gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz) + bsdfData.ambientOcclusion = gbuffer3.y; + else + { + gbuffer3 *= GetInverseCurrentExposureMultiplier(); + bsdfData.ambientOcclusion = 1.0; + } + + // For SSGI/RTGI/Mixed and APV not using lightmap we load the content of gbuffer3 in emissive, otherwise it is lightmap/lightprobe + emissive if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) || !builtinData.isLightmap #endif ) { - // In deferred case, AO is apply during the EncodeToGbuffer pass on bakeDiffuseLighting data but not emissive - // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive - // But in the case we are inside this condition (mean one of the SSGI/RTGI/Mixed or APV effect is on), it mean we have store emissive only and bakeDiffuseLighting will be init in lightloop. - // Then we could use the regular path (like in Forward) and get correct rendering. - // For this we rely on a hack. We assume that having baseColor + Emissive is not common and that on top of this having this combination that have AO not white is very rare. Then we chose - // to store AO if there is no emissive, and in case of emissive we use 1.0 for AO (i.e neutral value). This effectively prevent the rare combination describe above but should be an acceptable tradeoff. - if (gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz) - { - bsdfData.ambientOcclusion = gbuffer3.y; - } - else - { - builtinData.emissiveColor = gbuffer3 * GetInverseCurrentExposureMultiplier(); - bsdfData.ambientOcclusion = 1.0; - } + builtinData.emissiveColor = gbuffer3; } else { - bsdfData.ambientOcclusion = 1.0; - // Inverse pre-exposure - builtinData.bakeDiffuseLighting = gbuffer3 * GetInverseCurrentExposureMultiplier(); + builtinData.bakeDiffuseLighting = gbuffer3; } ApplyDebugToBSDFData(bsdfData); From 808339c0d17a29d4c99571e81c5b0f03d0b744c1 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 01:56:57 +0200 Subject: [PATCH 11/30] Update hlsl file --- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 6 +-- .../Material/Builtin/BuiltinData.cs.hlsl | 10 ++-- .../Runtime/Material/BuiltinGIUtilities.hlsl | 2 +- .../Runtime/Material/Lit/Lit.hlsl | 7 ++- .../ShaderPass/ShaderPass.cs.hlsl | 49 +++++++++---------- 5 files changed, 38 insertions(+), 36 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index f18f80b0e0e..e628e9f178c 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -454,8 +454,8 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS } else // If probe volume is disabled we fallback on the ambient probes { - tempBuiltinData = EvaluateAmbientProbe(bsdfData.normalWS); - tempBuiltinData = EvaluateAmbientProbe(-bsdfData.normalWS); + tempBuiltinData.bakeDiffuseLighting = EvaluateAmbientProbe(bsdfData.normalWS); + tempBuiltinData.backBakeDiffuseLighting = EvaluateAmbientProbe(-bsdfData.normalWS); } #endif } @@ -466,7 +466,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS if (_DebugLightingMode != DEBUGLIGHTINGMODE_LUX_METER) #endif ModifyBakedDiffuseLighting(V, posInput, preLightData, bsdfData, tempBuiltinData); - +#endif // This is applied only on bakeDiffuseLighting as ModifyBakedDiffuseLighting combine both bakeDiffuseLighting and backBakeDiffuseLighting tempBuiltinData.bakeDiffuseLighting *= GetIndirectDiffuseMultiplier(builtinData.renderingLayers); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl index 7cb0bdcd918..b62f4e67e03 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Builtin/BuiltinData.cs.hlsl @@ -19,9 +19,10 @@ #define DEBUGVIEW_BUILTIN_BUILTINDATA_MOTION_VECTOR (109) #define DEBUGVIEW_BUILTIN_BUILTINDATA_DISTORTION (110) #define DEBUGVIEW_BUILTIN_BUILTINDATA_DISTORTION_BLUR (111) -#define DEBUGVIEW_BUILTIN_BUILTINDATA_RENDERING_LAYERS (112) -#define DEBUGVIEW_BUILTIN_BUILTINDATA_DEPTH_OFFSET (113) -#define DEBUGVIEW_BUILTIN_BUILTINDATA_VT_PACKED_FEEDBACK (114) +#define DEBUGVIEW_BUILTIN_BUILTINDATA_IS_LIGHTMAP (112) +#define DEBUGVIEW_BUILTIN_BUILTINDATA_RENDERING_LAYERS (113) +#define DEBUGVIEW_BUILTIN_BUILTINDATA_DEPTH_OFFSET (114) +#define DEBUGVIEW_BUILTIN_BUILTINDATA_VT_PACKED_FEEDBACK (115) // Generated from UnityEngine.Rendering.HighDefinition.Builtin+BuiltinData // PackingRules = Exact @@ -100,6 +101,9 @@ void GetGeneratedBuiltinDataDebug(uint paramId, BuiltinData builtindata, inout f case DEBUGVIEW_BUILTIN_BUILTINDATA_DISTORTION_BLUR: result = builtindata.distortionBlur.xxx; break; + case DEBUGVIEW_BUILTIN_BUILTINDATA_IS_LIGHTMAP: + result = GetIndexColor(builtindata.isLightmap); + break; case DEBUGVIEW_BUILTIN_BUILTINDATA_RENDERING_LAYERS: result = GetIndexColor(builtindata.renderingLayers); break; diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl index 448ad4fb97a..cb4300164bf 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl @@ -20,7 +20,7 @@ real3 EvaluateAmbientProbe(real3 normalWS) } // Alias to make code less confusing as the same code is used to evaluate Ambient Probe and also to evaluate builtin light probe (which include ambient probe + local lights) -#define EvaluateAmbientProbe EvaluateLightProbe +#define EvaluateLightProbe EvaluateAmbientProbe #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) #include "Packages/com.unity.render-pipelines.core/Runtime/Lighting/ProbeVolume/ProbeVolume.hlsl" diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index b6aaf621a72..09c6976838b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -7,9 +7,7 @@ // Those define allow to include desired SSS/Transmission functions #define MATERIAL_INCLUDE_SUBSURFACESCATTERING #define MATERIAL_INCLUDE_TRANSMISSION -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) -#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl" //For APV -#endif +#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinGIUtilities.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/SubsurfaceScattering/SubsurfaceScattering.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/NormalBuffer.hlsl" #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/VolumeRendering.hlsl" @@ -951,7 +949,8 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive // As explain in encoding step for SSGI/RTGI/Mixed and APV not using lightmap, we rely on a hack to retrieve AO // Then we could use the regular path (like in Forward) and get correct rendering. - if (gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz) + const float3 AoInGbuffer3Tag = AO_IN_GBUFFER3_TAG; + if (all(gbuffer3.xz == AoInGbuffer3Tag.xz)) bsdfData.ambientOcclusion = gbuffer3.y; else { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl index 22d68e0d95c..721a20de047 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPass.cs.hlsl @@ -9,31 +9,30 @@ // #define SHADERPASS_GBUFFER (0) #define SHADERPASS_FORWARD (1) -#define SHADERPASS_FORWARD_EMISSIVE_FOR_DEFERRED (2) -#define SHADERPASS_FORWARD_UNLIT (3) -#define SHADERPASS_DEFERRED_LIGHTING (4) -#define SHADERPASS_DEPTH_ONLY (5) -#define SHADERPASS_TRANSPARENT_DEPTH_PREPASS (6) -#define SHADERPASS_TRANSPARENT_DEPTH_POSTPASS (7) -#define SHADERPASS_MOTION_VECTORS (8) -#define SHADERPASS_DISTORTION (9) -#define SHADERPASS_LIGHT_TRANSPORT (10) -#define SHADERPASS_SHADOWS (11) -#define SHADERPASS_SUBSURFACE_SCATTERING (12) -#define SHADERPASS_VOLUMETRIC_LIGHTING (13) -#define SHADERPASS_DBUFFER_PROJECTOR (14) -#define SHADERPASS_DBUFFER_MESH (15) -#define SHADERPASS_FORWARD_EMISSIVE_PROJECTOR (16) -#define SHADERPASS_FORWARD_EMISSIVE_MESH (17) -#define SHADERPASS_RAYTRACING (18) -#define SHADERPASS_RAYTRACING_INDIRECT (19) -#define SHADERPASS_RAYTRACING_VISIBILITY (20) -#define SHADERPASS_RAYTRACING_FORWARD (21) -#define SHADERPASS_RAYTRACING_GBUFFER (22) -#define SHADERPASS_RAYTRACING_SUB_SURFACE (23) -#define SHADERPASS_PATH_TRACING (24) -#define SHADERPASS_CONSTANT (25) -#define SHADERPASS_FULL_SCREEN_DEBUG (26) +#define SHADERPASS_FORWARD_UNLIT (2) +#define SHADERPASS_DEFERRED_LIGHTING (3) +#define SHADERPASS_DEPTH_ONLY (4) +#define SHADERPASS_TRANSPARENT_DEPTH_PREPASS (5) +#define SHADERPASS_TRANSPARENT_DEPTH_POSTPASS (6) +#define SHADERPASS_MOTION_VECTORS (7) +#define SHADERPASS_DISTORTION (8) +#define SHADERPASS_LIGHT_TRANSPORT (9) +#define SHADERPASS_SHADOWS (10) +#define SHADERPASS_SUBSURFACE_SCATTERING (11) +#define SHADERPASS_VOLUMETRIC_LIGHTING (12) +#define SHADERPASS_DBUFFER_PROJECTOR (13) +#define SHADERPASS_DBUFFER_MESH (14) +#define SHADERPASS_FORWARD_EMISSIVE_PROJECTOR (15) +#define SHADERPASS_FORWARD_EMISSIVE_MESH (16) +#define SHADERPASS_RAYTRACING (17) +#define SHADERPASS_RAYTRACING_INDIRECT (18) +#define SHADERPASS_RAYTRACING_VISIBILITY (19) +#define SHADERPASS_RAYTRACING_FORWARD (20) +#define SHADERPASS_RAYTRACING_GBUFFER (21) +#define SHADERPASS_RAYTRACING_SUB_SURFACE (22) +#define SHADERPASS_PATH_TRACING (23) +#define SHADERPASS_CONSTANT (24) +#define SHADERPASS_FULL_SCREEN_DEBUG (25) #endif From f15aab5251a6054578c327ccd9f6f57f78a35140 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 02:27:54 +0200 Subject: [PATCH 12/30] Misc fixes --- com.unity.render-pipelines.high-definition/CHANGELOG.md | 1 + .../Editor/Material/ShaderGraph/HDShaderPasses.cs | 2 +- .../Editor/RenderPipeline/HDRenderPipelineUI.cs | 2 +- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 6 ------ .../Runtime/Material/Lit/Lit.hlsl | 3 +-- .../RenderPipeline/Settings/RenderPipelineSettings.cs | 4 ++-- 6 files changed, 6 insertions(+), 12 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index 97d43ebb61e..c204f51602a 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -14,6 +14,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed light anchor min distance value + properties not working with prefabs (case 1345509). - Fixed specular occlusion sharpness and over darkening at grazing angles. - Fixed edge bleeding when rendering volumetric clouds. +- Fixed the way we are handling emissive for SSGI/RTGI/Mixed and APV and remove ForceForwardEmissive code ### changed - Visual Environment ambient mode is now Dynamic by default. 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 1810d900efc..2005f898522 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 @@ -787,7 +787,7 @@ public static PassDescriptor GenerateGBuffer(bool useVFX, bool useTessellation) public static KeywordCollection GBufferKeywords = new KeywordCollection { - { CoreKeywordDescriptors.LightLayers } + { CoreKeywordDescriptors.LightLayers }, }; public static IncludeCollection GBufferIncludes = new IncludeCollection 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 5d0ad88dd7c..de9c36ef549 100644 --- a/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs +++ b/com.unity.render-pipelines.high-definition/Editor/RenderPipeline/HDRenderPipelineUI.cs @@ -995,7 +995,7 @@ static void SupportedSettingsInfoSection(SerializedHDRenderPipelineAsset seriali AppendSupport(builder, serialized.renderPipelineSettings.supportMotionVectors, Styles.supportMotionVectorContent); AppendSupport(builder, serialized.renderPipelineSettings.supportRuntimeAOVAPI, Styles.supportRuntimeAOVAPIContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDitheringCrossFade, Styles.supportDitheringCrossFadeContent); - AppendSupport(builder, serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); + AppendSupport(builder, serialized.renderPipelineSettings.supportTerrainHole, Styles.supportTerrainHoleContent); AppendSupport(builder, serialized.renderPipelineSettings.supportDistortion, Styles.supportDistortion); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentBackface, Styles.supportTransparentBackface); AppendSupport(builder, serialized.renderPipelineSettings.supportTransparentDepthPrepass, Styles.supportTransparentDepthPrepass); diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index e628e9f178c..88452bab657 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -1,11 +1,5 @@ #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Macros.hlsl" - -#if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Material/BuiltinUtilities.hlsl" -#else -// Required to have access to the indirectDiffuseMode enum in forward pass where we don't include BuiltinUtilities -#include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.cs.hlsl" -#endif #ifndef SCALARIZE_LIGHT_LOOP // We perform scalarization only for forward rendering as for deferred loads will already be scalar since tiles will match waves and therefore all threads will read from the same tile. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 09c6976838b..65e4e245456 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -949,8 +949,7 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive // As explain in encoding step for SSGI/RTGI/Mixed and APV not using lightmap, we rely on a hack to retrieve AO // Then we could use the regular path (like in Forward) and get correct rendering. - const float3 AoInGbuffer3Tag = AO_IN_GBUFFER3_TAG; - if (all(gbuffer3.xz == AoInGbuffer3Tag.xz)) + if (all(gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz)) bsdfData.ambientOcclusion = gbuffer3.y; else { diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs index ae7f48b173c..85973fb3b1b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Settings/RenderPipelineSettings.cs @@ -81,8 +81,8 @@ internal static RenderPipelineSettings NewDefault() supportSSAO = true, supportSubsurfaceScattering = true, sssSampleBudget = new IntScalableSetting(new[] { (int)DefaultSssSampleBudgetForQualityLevel.Low, - (int)DefaultSssSampleBudgetForQualityLevel.Medium, - (int)DefaultSssSampleBudgetForQualityLevel.High }, ScalableSettingSchemaId.With3Levels), + (int)DefaultSssSampleBudgetForQualityLevel.Medium, + (int)DefaultSssSampleBudgetForQualityLevel.High }, ScalableSettingSchemaId.With3Levels), supportVolumetrics = true, supportDistortion = true, supportTransparentBackface = true, From 0f4ca9bffbee1fb21e2fca3a306c0592a5c45e57 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 02:48:22 +0200 Subject: [PATCH 13/30] Formatting --- .../Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs index 7b293112445..c772eca1b86 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/HDRenderPipeline.RaytracingIndirectDiffuse.cs @@ -254,7 +254,7 @@ TextureHandle UpscaleRTGI(RenderGraph renderGraph, HDCamera hdCamera, GlobalIllu return passData.outputBuffer; } } - + static RTHandle RequestRayTracedIndirectDiffuseHistoryTexture(HDCamera hdCamera) { return hdCamera.GetCurrentFrameRT((int)HDCameraFrameHistoryType.RaytracedIndirectDiffuseHF) From 2cfb4da3cb0addc7eba227e261e02a545a6fc67c Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 03:13:47 +0200 Subject: [PATCH 14/30] Fix typo in lit.hlsl --- .../Runtime/Material/Lit/Lit.hlsl | 25 +++++++++---------- 1 file changed, 12 insertions(+), 13 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 65e4e245456..f8f773170b7 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -704,7 +704,7 @@ void EncodeIntoGBuffer( SurfaceData surfaceData // so store AO instead. It doesn't matter if it is a false positive as result will be correct, this is to reduce code divergence // Note: We assume that having non black baseColor * AO * lighting + Emissive is uncommon / rare (We expect mostly baseColor * AO * lighting or Emissive or baseColor * lighting + Emissive) // and use this information as a tradeoff to improve quality in all others cases - if (all(outGBuffer3 == 0.0)) + if (all(outGBuffer3.rgb == 0.0)) { outGBuffer3.xz = AO_IN_GBUFFER3_TAG.xz; outGBuffer3.y = surfaceData.ambientOcclusion; @@ -944,7 +944,6 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // In the regular case the lightmaps/lightprobe are multiply by AO before adding emissive float3 gbuffer3 = LOAD_TEXTURE2D_X(_GBufferTexture3, positionSS).rgb; - // In deferred case, AO is apply during the EncodeToGbuffer pass on bakeDiffuseLighting data but not emissive // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive // As explain in encoding step for SSGI/RTGI/Mixed and APV not using lightmap, we rely on a hack to retrieve AO @@ -955,20 +954,20 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd { gbuffer3 *= GetInverseCurrentExposureMultiplier(); bsdfData.ambientOcclusion = 1.0; - } - // For SSGI/RTGI/Mixed and APV not using lightmap we load the content of gbuffer3 in emissive, otherwise it is lightmap/lightprobe + emissive - if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF + // For SSGI/RTGI/Mixed and APV not using lightmap we load the content of gbuffer3 in emissive, otherwise it is lightmap/lightprobe + emissive + if (_IndirectDiffuseMode != INDIRECTDIFFUSEMODE_OFF #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - || !builtinData.isLightmap + || !builtinData.isLightmap #endif - ) - { - builtinData.emissiveColor = gbuffer3; - } - else - { - builtinData.bakeDiffuseLighting = gbuffer3; + ) + { + builtinData.emissiveColor = gbuffer3; + } + else + { + builtinData.bakeDiffuseLighting = gbuffer3; + } } ApplyDebugToBSDFData(bsdfData); From 0a37a98f1ad85dd65df5a6a916510bf50c5c8d64 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 10:55:05 +0200 Subject: [PATCH 15/30] Rename 2011 test to all Emissive --- ...ForDeferred.meta => 2011_AllEmissive.meta} | 0 ...rDeferred.unity => 2011_AllEmissive.unity} | 4996 ++++------------- ...unity.meta => 2011_AllEmissive.unity.meta} | 0 .../FabricEmissive.shadergraph | 0 .../FabricEmissive.shadergraph.meta | 0 .../ForceForward.meta | 0 .../ForceForward/FFLayeredLitEmissive.mat | 0 .../FFLayeredLitEmissive.mat.meta | 0 .../FFLayeredLitEmissiveATest.mat | 0 .../FFLayeredLitEmissiveATest.mat.meta | 0 .../FFLayeredLitEmissiveTransparent.mat | 0 .../FFLayeredLitEmissiveTransparent.mat.meta | 0 .../FFLayeredLitTessellationEmissive.mat | 0 .../FFLayeredLitTessellationEmissive.mat.meta | 0 .../FFLayeredLitTessellationEmissiveATest.mat | 0 ...yeredLitTessellationEmissiveATest.mat.meta | 0 ...eredLitTessellationEmissiveTransparent.mat | 0 ...itTessellationEmissiveTransparent.mat.meta | 0 .../ForceForward/FFLitEmissive.mat | 0 .../ForceForward/FFLitEmissive.mat.meta | 0 .../ForceForward/FFLitEmissiveATest.mat | 0 .../ForceForward/FFLitEmissiveATest.mat.meta | 0 .../ForceForward/FFLitEmissiveTransparent.mat | 0 .../FFLitEmissiveTransparent.mat.meta | 0 .../ForceForward/FFLitSGEmissive.mat | 0 .../ForceForward/FFLitSGEmissive.mat.meta | 0 .../ForceForward/FFLitSGEmissiveATest.mat | 0 .../FFLitSGEmissiveATest.mat.meta | 0 .../FFLitSGEmissiveTransparent.mat | 0 .../FFLitSGEmissiveTransparent.mat.meta | 0 .../FFLitTessellationEmissive.mat | 0 .../FFLitTessellationEmissive.mat.meta | 0 .../FFLitTessellationEmissiveATest.mat | 0 .../FFLitTessellationEmissiveATest.mat.meta | 0 .../FFLitTessellationEmissiveTransparent.mat | 0 ...itTessellationEmissiveTransparent.mat.meta | 0 .../LitSGEmissive.shadergraph | 0 .../LitSGEmissive.shadergraph.meta | 0 .../Regular.meta | 0 .../Regular/FabricEmissive.mat | 0 .../Regular/FabricEmissive.mat.meta | 0 .../Regular/FabricEmissiveATest.mat | 0 .../Regular/FabricEmissiveATest.mat.meta | 0 .../Regular/FabricEmissiveTransparent.mat | 0 .../FabricEmissiveTransparent.mat.meta | 0 .../Regular/LayeredLitEmissive.mat | 0 .../Regular/LayeredLitEmissive.mat.meta | 0 .../Regular/LayeredLitEmissiveATest.mat | 0 .../Regular/LayeredLitEmissiveATest.mat.meta | 0 .../Regular/LayeredLitEmissiveTransparent.mat | 0 .../LayeredLitEmissiveTransparent.mat.meta | 0 .../LayeredLitTessellationEmissive.mat | 0 .../LayeredLitTessellationEmissive.mat.meta | 0 .../LayeredLitTessellationEmissiveATest.mat | 0 ...yeredLitTessellationEmissiveATest.mat.meta | 0 ...eredLitTessellationEmissiveTransparent.mat | 0 ...itTessellationEmissiveTransparent.mat.meta | 0 .../Regular/LitEmissive.mat | 0 .../Regular/LitEmissive.mat.meta | 0 .../Regular/LitEmissiveATest.mat | 0 .../Regular/LitEmissiveATest.mat.meta | 0 .../Regular/LitEmissiveTransparent.mat | 0 .../Regular/LitEmissiveTransparent.mat.meta | 0 .../Regular/LitSGEmissive.mat | 0 .../Regular/LitSGEmissive.mat.meta | 0 .../Regular/LitSGEmissiveATest.mat | 0 .../Regular/LitSGEmissiveATest.mat.meta | 0 .../Regular/LitSGEmissiveTransparent.mat | 0 .../Regular/LitSGEmissiveTransparent.mat.meta | 0 .../Regular/LitTessellationEmissive.mat | 0 .../Regular/LitTessellationEmissive.mat.meta | 0 .../Regular/LitTessellationEmissiveATest.mat | 0 .../LitTessellationEmissiveATest.mat.meta | 0 .../LitTessellationEmissiveTransparent.mat | 0 ...itTessellationEmissiveTransparent.mat.meta | 0 .../Regular/UnLitEmissive.mat | 0 .../Regular/UnLitEmissive.mat.meta | 0 .../Regular/UnLitEmissiveATest.mat | 0 .../Regular/UnLitEmissiveATest.mat.meta | 0 .../Regular/UnLitEmissiveTransparent.mat | 0 .../Regular/UnLitEmissiveTransparent.mat.meta | 0 .../Regular/UnlitSGEmissive.mat | 0 .../Regular/UnlitSGEmissive.mat.meta | 0 .../Regular/UnlitSGEmissiveATest.mat | 0 .../Regular/UnlitSGEmissiveATest.mat.meta | 0 .../UnlitSGEmissiveATestTransparent.mat | 0 .../UnlitSGEmissiveATestTransparent.mat.meta | 0 .../UnlitSGEmissive.shadergraph | 0 .../UnlitSGEmissive.shadergraph.meta | 0 ...veForDeferred.png => 2011_AllEmissive.png} | 0 ...red.png.meta => 2011_AllEmissive.png.meta} | 0 ...veForDeferred.png => 2011_AllEmissive.png} | 0 ...red.png.meta => 2011_AllEmissive.png.meta} | 0 ...veForDeferred.png => 2011_AllEmissive.png} | 0 ...red.png.meta => 2011_AllEmissive.png.meta} | 0 ...veForDeferred.png => 2011_AllEmissive.png} | 0 ...red.png.meta => 2011_AllEmissive.png.meta} | 0 ...veForDeferred.png => 2011_AllEmissive.png} | 0 ...red.png.meta => 2011_AllEmissive.png.meta} | 0 99 files changed, 1231 insertions(+), 3765 deletions(-) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred.meta => 2011_AllEmissive.meta} (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred.unity => 2011_AllEmissive.unity} (64%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred.unity.meta => 2011_AllEmissive.unity.meta} (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/FabricEmissive.shadergraph (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/FabricEmissive.shadergraph.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitSGEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/ForceForward/FFLitTessellationEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/LitSGEmissive.shadergraph (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/LitSGEmissive.shadergraph.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/FabricEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LayeredLitTessellationEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitSGEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/LitTessellationEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissiveTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnLitEmissiveTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissive.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissive.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissiveATest.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissiveATest.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissiveATestTransparent.mat (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/Regular/UnlitSGEmissiveATestTransparent.mat.meta (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/UnlitSGEmissive.shadergraph (100%) rename TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/{2011_ForwardEmissiveForDeferred => 2011_AllEmissive}/UnlitSGEmissive.shadergraph.meta (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/{2011_ForwardEmissiveForDeferred.png => 2011_AllEmissive.png} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/{2011_ForwardEmissiveForDeferred.png.meta => 2011_AllEmissive.png.meta} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/{2011_ForwardEmissiveForDeferred.png => 2011_AllEmissive.png} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/{2011_ForwardEmissiveForDeferred.png.meta => 2011_AllEmissive.png.meta} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/{2011_ForwardEmissiveForDeferred.png => 2011_AllEmissive.png} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/{2011_ForwardEmissiveForDeferred.png.meta => 2011_AllEmissive.png.meta} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/{2011_ForwardEmissiveForDeferred.png => 2011_AllEmissive.png} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/{2011_ForwardEmissiveForDeferred.png.meta => 2011_AllEmissive.png.meta} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/{2011_ForwardEmissiveForDeferred.png => 2011_AllEmissive.png} (100%) rename TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/{2011_ForwardEmissiveForDeferred.png.meta => 2011_AllEmissive.png.meta} (100%) diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.unity b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.unity similarity index 64% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.unity rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.unity index 9ea1a612cea..ce7d83c40ff 100644 --- a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.unity +++ b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.unity @@ -153,6 +153,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 16.970001, y: -2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 23 @@ -221,121 +222,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 55204446} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &116662569 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 116662570} - - component: {fileID: 116662573} - - component: {fileID: 116662572} - - component: {fileID: 116662571} - 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 &116662570 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 116662569} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.51, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 6 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &116662571 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 116662569} - 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: 116662572} ---- !u!102 &116662572 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 116662569} - 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!23 &116662573 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 116662569} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &124020202 GameObject: m_ObjectHideFlags: 0 @@ -365,6 +251,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 12.91, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 18 @@ -462,6 +349,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 14.79, y: -0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 19 @@ -559,6 +447,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 7.95, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 4 @@ -656,6 +545,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 16.970001, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 24 @@ -753,6 +643,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 12.91, y: -2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 12 @@ -821,103 +712,6 @@ MeshFilter: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 190553793} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &266985559 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 266985560} - - component: {fileID: 266985563} - - component: {fileID: 266985562} - - component: {fileID: 266985561} - 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 &266985560 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 266985559} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &266985561 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 266985559} - 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!23 &266985562 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 266985559} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 83abd70e3aa528c4a98aa0f7b719507f, 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 &266985563 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 266985559} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} --- !u!1 &279537771 GameObject: m_ObjectHideFlags: 0 @@ -947,6 +741,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 14.75, y: -2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 20 @@ -1128,6 +923,7 @@ MonoBehaviour: m_BarnDoorAngle: 90 m_BarnDoorLength: 0.05 m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 m_ShadowCascadeRatios: - 0.05 - 0.2 @@ -1226,11 +1022,12 @@ Transform: m_LocalRotation: {x: 0.35355276, y: -0.35355347, z: -0.14644635, w: 0.85355365} m_LocalPosition: {x: 7.6099997, y: 4.05, z: 4.05} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: -45, z: 0} ---- !u!1 &358895845 +--- !u!1 &359222345 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1238,52 +1035,61 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 358895846} - - component: {fileID: 358895849} - - component: {fileID: 358895848} - - component: {fileID: 358895847} + - component: {fileID: 359222346} + - component: {fileID: 359222348} + - component: {fileID: 359222347} + - component: {fileID: 359222349} m_Layer: 0 - m_Name: Quad (11) + m_Name: LitTessellation m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &358895846 +--- !u!4 &359222346 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 358895845} + m_GameObject: {fileID: 359222345} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 7.95, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: 2.59, y: 0.5, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 9 + m_Father: {fileID: 2006409710} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &358895847 -MeshCollider: +--- !u!102 &359222347 +TextMesh: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 358895845} - 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!23 &358895848 + m_GameObject: {fileID: 359222345} + m_Text: LitTess + 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 &359222348 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 358895845} + m_GameObject: {fileID: 359222345} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1294,10 +1100,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: e52acf80e77046845b8c6a5fb89c2c8a, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1309,7 +1115,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -1319,130 +1125,25 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &358895849 -MeshFilter: +--- !u!114 &359222349 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 358895845} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &359222345 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 359222346} - - component: {fileID: 359222348} - - component: {fileID: 359222347} - - component: {fileID: 359222349} - m_Layer: 0 - m_Name: LitTessellation - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &359222346 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 359222345} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.59, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &359222347 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 359222345} - m_Text: LitTess - 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 &359222348 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 359222345} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &359222349 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 359222345} - 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: 359222347} ---- !u!1 &362976728 + m_GameObject: {fileID: 359222345} + 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: 359222347} +--- !u!1 &362976728 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1471,6 +1172,7 @@ Transform: m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} m_LocalPosition: {x: -0.5, y: -1.91, z: 0} m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2006409710} m_RootOrder: 8 @@ -1557,7 +1259,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &367343104 +--- !u!1 &489868361 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1565,78 +1267,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 367343105} - - component: {fileID: 367343108} - - component: {fileID: 367343107} - - component: {fileID: 367343106} + - component: {fileID: 489868362} + - component: {fileID: 489868365} + - component: {fileID: 489868364} + - component: {fileID: 489868363} m_Layer: 0 - m_Name: Lit + m_Name: Quad (17) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &367343105 +--- !u!4 &489868362 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367343104} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_GameObject: {fileID: 489868361} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 2.4099998, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 0 + m_Father: {fileID: 2119731245} + m_RootOrder: 14 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &367343106 -MonoBehaviour: +--- !u!64 &489868363 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367343104} + m_GameObject: {fileID: 489868361} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 367343107} ---- !u!102 &367343107 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367343104} - 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!23 &367343108 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &489868364 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367343104} + m_GameObject: {fileID: 489868361} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1647,10 +1324,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 4e290747b7d1fd04181c6cb5a1daac8c, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1662,7 +1339,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -1672,7 +1349,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &367462375 +--- !u!33 &489868365 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 489868361} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &574776555 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1680,78 +1365,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 367462376} - - component: {fileID: 367462379} - - component: {fileID: 367462378} - - component: {fileID: 367462377} + - component: {fileID: 574776556} + - component: {fileID: 574776559} + - component: {fileID: 574776558} + - component: {fileID: 574776557} m_Layer: 0 - m_Name: LayeredLitTessellation + m_Name: Quad (1) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &367462376 +--- !u!4 &574776556 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367462375} + m_GameObject: {fileID: 574776555} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 4.04, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_LocalPosition: {x: 2.4099998, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 3 + m_Father: {fileID: 2119731245} + m_RootOrder: 2 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &367462377 -MonoBehaviour: +--- !u!64 &574776557 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367462375} + m_GameObject: {fileID: 574776555} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 367462378} ---- !u!102 &367462378 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367462375} - m_Text: LayeredLitTess - 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 &367462379 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &574776558 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 367462375} + m_GameObject: {fileID: 574776555} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1762,10 +1422,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 2f3fc6e640dc5f84ea431e983b169fb7, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1777,7 +1437,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -1787,7 +1447,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &374319953 +--- !u!33 &574776559 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 574776555} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &617922107 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1795,38 +1463,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 374319954} - - component: {fileID: 374319957} - - component: {fileID: 374319956} - - component: {fileID: 374319955} - m_Layer: 0 - m_Name: Quad (18) - m_TagString: Untagged + - component: {fileID: 617922108} + - component: {fileID: 617922111} + - component: {fileID: 617922110} + - component: {fileID: 617922109} + m_Layer: 0 + m_Name: Quad + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &374319954 +--- !u!4 &617922108 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 374319953} + m_GameObject: {fileID: 617922107} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.1099997, y: -4, z: 0} + m_LocalPosition: {x: 0, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 13 + m_Father: {fileID: 2119731245} + m_RootOrder: 1 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &374319955 +--- !u!64 &617922109 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 374319953} + m_GameObject: {fileID: 617922107} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -1834,13 +1503,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &374319956 +--- !u!23 &617922110 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 374319953} + m_GameObject: {fileID: 617922107} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1854,7 +1523,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 25e9b994672a3a24fb03adabd75a1d50, type: 2} + - {fileID: 2100000, guid: 19791419257069d429ab7fd3939bb347, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -1876,53 +1545,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &374319957 +--- !u!33 &617922111 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 374319953} + m_GameObject: {fileID: 617922107} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &387886687 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 387886688} - m_Layer: 0 - m_Name: UI - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &387886688 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 387886687} - 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: 367343105} - - {fileID: 523999043} - - {fileID: 1713439167} - - {fileID: 367462376} - - {fileID: 1785018361} - - {fileID: 480752563} - - {fileID: 116662570} - - {fileID: 590485775} - m_Father: {fileID: 1160288515} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &474944595 +--- !u!1 &737178847 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -1930,38 +1561,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 474944596} - - component: {fileID: 474944599} - - component: {fileID: 474944598} - - component: {fileID: 474944597} + - component: {fileID: 737178848} + - component: {fileID: 737178851} + - component: {fileID: 737178850} + - component: {fileID: 737178849} m_Layer: 0 - m_Name: Quad (17) + m_Name: Quad (5) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &474944596 +--- !u!4 &737178848 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 474944595} + m_GameObject: {fileID: 737178847} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: -4, z: 0} + m_LocalPosition: {x: 12.95, y: -0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 12 + m_Father: {fileID: 2119731245} + m_RootOrder: 6 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &474944597 +--- !u!64 &737178849 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 474944595} + m_GameObject: {fileID: 737178847} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -1969,13 +1601,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &474944598 +--- !u!23 &737178850 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 474944595} + m_GameObject: {fileID: 737178847} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -1989,7 +1621,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 04ed477c1eff13542b2c37182db2d156, type: 2} + - {fileID: 2100000, guid: e50463dee10d3ef488127fff2284ac20, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2011,15 +1643,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &474944599 +--- !u!33 &737178851 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 474944595} + m_GameObject: {fileID: 737178847} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &480752562 +--- !u!1 &776624213 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2027,78 +1659,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 480752563} - - component: {fileID: 480752566} - - component: {fileID: 480752565} - - component: {fileID: 480752564} + - component: {fileID: 776624214} + - component: {fileID: 776624217} + - component: {fileID: 776624216} + - component: {fileID: 776624215} m_Layer: 0 - m_Name: alpha tested + m_Name: Quad (12) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &480752563 +--- !u!4 &776624214 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 480752562} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.37, y: -0.74, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_GameObject: {fileID: 776624213} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.91, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!114 &480752564 -MonoBehaviour: + m_Father: {fileID: 2119731245} + m_RootOrder: 11 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &776624215 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 480752562} + m_GameObject: {fileID: 776624213} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 480752565} ---- !u!102 &480752565 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 480752562} - m_Text: alpha tested - 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 &480752566 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &776624216 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 480752562} + m_GameObject: {fileID: 776624213} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2109,10 +1716,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 5d16023d0fb5e254fa3dbe99ef4e1256, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2124,7 +1731,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2134,7 +1741,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &489868361 +--- !u!33 &776624217 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 776624213} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &786274683 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2142,38 +1757,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 489868362} - - component: {fileID: 489868365} - - component: {fileID: 489868364} - - component: {fileID: 489868363} + - component: {fileID: 786274684} + - component: {fileID: 786274687} + - component: {fileID: 786274686} + - component: {fileID: 786274685} m_Layer: 0 - m_Name: Quad (17) + m_Name: Quad (22) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &489868362 +--- !u!4 &786274684 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 489868361} + m_GameObject: {fileID: 786274683} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: -4, z: 0} + m_LocalPosition: {x: 14.75, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} - m_RootOrder: 14 + m_RootOrder: 21 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &489868363 +--- !u!64 &786274685 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 489868361} + m_GameObject: {fileID: 786274683} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -2181,13 +1797,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &489868364 +--- !u!23 &786274686 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 489868361} + m_GameObject: {fileID: 786274683} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2201,7 +1817,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 4e290747b7d1fd04181c6cb5a1daac8c, type: 2} + - {fileID: 2100000, guid: 8a15aba9cf3176446a7923a03e42eb0e, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2223,15 +1839,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &489868365 +--- !u!33 &786274687 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 489868361} + m_GameObject: {fileID: 786274683} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &523999042 +--- !u!1 &816105117 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2239,78 +1855,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 523999043} - - component: {fileID: 523999046} - - component: {fileID: 523999045} - - component: {fileID: 523999044} + - component: {fileID: 816105118} + - component: {fileID: 816105121} + - component: {fileID: 816105120} + - component: {fileID: 816105119} m_Layer: 0 - m_Name: LayeredLit + m_Name: Quad (16) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &523999043 +--- !u!4 &816105118 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 523999042} + m_GameObject: {fileID: 816105117} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 1.21, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_LocalPosition: {x: 0, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 1 + m_Father: {fileID: 2119731245} + m_RootOrder: 13 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &523999044 -MonoBehaviour: +--- !u!64 &816105119 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 523999042} + m_GameObject: {fileID: 816105117} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 523999045} ---- !u!102 &523999045 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 523999042} - m_Text: LayeredLit - 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 &523999046 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &816105120 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 523999042} + m_GameObject: {fileID: 816105117} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2321,10 +1912,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: e22097a970a9e8143a30034cac91cae2, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2336,7 +1927,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2346,7 +1937,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &574776555 +--- !u!33 &816105121 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 816105117} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &849655695 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2354,52 +1953,61 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 574776556} - - component: {fileID: 574776559} - - component: {fileID: 574776558} - - component: {fileID: 574776557} - m_Layer: 0 - m_Name: Quad (1) - m_TagString: Untagged + - component: {fileID: 849655696} + - component: {fileID: 849655698} + - component: {fileID: 849655697} + - component: {fileID: 849655699} + m_Layer: 0 + m_Name: opaque + m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &574776556 +--- !u!4 &849655696 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574776555} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 849655695} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.5, y: 0.22, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &574776557 -MeshCollider: + m_Father: {fileID: 2006409710} + m_RootOrder: 4 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!102 &849655697 +TextMesh: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574776555} - 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!23 &574776558 + m_GameObject: {fileID: 849655695} + m_Text: opaque + 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 &849655698 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574776555} + m_GameObject: {fileID: 849655695} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2410,10 +2018,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 2f3fc6e640dc5f84ea431e983b169fb7, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2425,7 +2033,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2435,15 +2043,25 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &574776559 -MeshFilter: +--- !u!114 &849655699 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 574776555} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &590485774 + m_GameObject: {fileID: 849655695} + 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: 849655697} +--- !u!1 &897127798 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2451,78 +2069,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 590485775} - - component: {fileID: 590485778} - - component: {fileID: 590485777} - - component: {fileID: 590485776} + - component: {fileID: 897127799} + - component: {fileID: 897127802} + - component: {fileID: 897127801} + - component: {fileID: 897127800} m_Layer: 0 - m_Name: transparent + m_Name: Quad (4) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &590485775 +--- !u!4 &897127799 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 590485774} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.5, y: -1.91, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_GameObject: {fileID: 897127798} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.91, y: 0, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!114 &590485776 -MonoBehaviour: + m_Father: {fileID: 2119731245} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &897127800 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 590485774} + m_GameObject: {fileID: 897127798} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 590485777} ---- !u!102 &590485777 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 590485774} - m_Text: transparent - 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 &590485778 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &897127801 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 590485774} + m_GameObject: {fileID: 897127798} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2533,10 +2126,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 849737877b8648a43814fdeb3b6e9f3a, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2548,7 +2141,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2558,7 +2151,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &605620529 +--- !u!33 &897127802 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 897127798} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &938463391 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2566,52 +2167,61 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 605620530} - - component: {fileID: 605620533} - - component: {fileID: 605620532} - - component: {fileID: 605620531} + - component: {fileID: 938463392} + - component: {fileID: 938463394} + - component: {fileID: 938463393} + - component: {fileID: 938463395} m_Layer: 0 - m_Name: Quad (3) + m_Name: Lit m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &605620530 +--- !u!4 &938463392 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 605620529} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 7.95, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 938463391} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 0, y: 0.5, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 4 + m_Father: {fileID: 2006409710} + m_RootOrder: 0 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &605620531 -MeshCollider: +--- !u!102 &938463393 +TextMesh: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 605620529} - 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!23 &605620532 + m_GameObject: {fileID: 938463391} + 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!23 &938463394 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 605620529} + m_GameObject: {fileID: 938463391} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2622,10 +2232,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 94fab03a4744fb44bafd3b09d1a43405, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2637,7 +2247,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2647,15 +2257,25 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &605620533 -MeshFilter: +--- !u!114 &938463395 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 605620529} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &617922107 + m_GameObject: {fileID: 938463391} + 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: 938463393} +--- !u!1 &956799484 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2663,38 +2283,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 617922108} - - component: {fileID: 617922111} - - component: {fileID: 617922110} - - component: {fileID: 617922109} + - component: {fileID: 956799485} + - component: {fileID: 956799488} + - component: {fileID: 956799487} + - component: {fileID: 956799486} m_Layer: 0 - m_Name: Quad + m_Name: Quad (9) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &617922108 +--- !u!4 &956799485 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617922107} + m_GameObject: {fileID: 956799484} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: 0, z: 0} + m_LocalPosition: {x: 2.4099998, y: -2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} - m_RootOrder: 1 + m_RootOrder: 8 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &617922109 +--- !u!64 &956799486 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617922107} + m_GameObject: {fileID: 956799484} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -2702,13 +2323,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &617922110 +--- !u!23 &956799487 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617922107} + m_GameObject: {fileID: 956799484} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2722,7 +2343,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 19791419257069d429ab7fd3939bb347, type: 2} + - {fileID: 2100000, guid: cf410f298bc914d468cdbb95e8654468, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2744,15 +2365,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &617922111 +--- !u!33 &956799488 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 617922107} + m_GameObject: {fileID: 956799484} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &644170220 +--- !u!1 &976804929 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -2760,149 +2381,66 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 644170221} - - component: {fileID: 644170224} - - component: {fileID: 644170223} - - component: {fileID: 644170222} + - component: {fileID: 976804933} + - component: {fileID: 976804932} + - component: {fileID: 976804931} + - component: {fileID: 976804930} m_Layer: 0 - m_Name: Quad (19) + m_Name: All Material are Emissive m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &644170221 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 644170220} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 7.95, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 14 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &644170222 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 644170220} - 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!23 &644170223 -MeshRenderer: +--- !u!114 &976804930 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 644170220} + m_GameObject: {fileID: 976804929} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 60e58504b8f1c6244abb34f358dc2ee7, 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 &644170224 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 644170220} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &700010246 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 700010247} - - component: {fileID: 700010250} - - component: {fileID: 700010249} - - component: {fileID: 700010248} - m_Layer: 0 - m_Name: Quad - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &700010247 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 700010246} - 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: 1160288515} - m_RootOrder: 1 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &700010248 -MeshCollider: + 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: 700010246} - 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!23 &700010249 + m_GameObject: {fileID: 976804929} + m_Text: 'All material are emissive - Lit Shader Mode Deferred + +' + 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: 700010246} + m_GameObject: {fileID: 976804929} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -2913,10 +2451,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 2bbeaf3db26939143b73f0d39d385171, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -2928,7 +2466,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -2938,2109 +2476,160 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &700010250 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 700010246} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &737178847 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 737178848} - - component: {fileID: 737178851} - - component: {fileID: 737178850} - - component: {fileID: 737178849} - 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 &737178848 +--- !u!4 &976804933 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737178847} + m_GameObject: {fileID: 976804929} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 12.95, y: -0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: 4.18, y: 1, z: 0} + m_LocalScale: {x: 0.0786326, y: 0.0786326, z: 0.0786326} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 6 + m_Father: {fileID: 0} + m_RootOrder: 3 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &737178849 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737178847} - 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!23 &737178850 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737178847} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: e50463dee10d3ef488127fff2284ac20, 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 &737178851 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 737178847} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &776624213 -GameObject: +--- !u!1001 &999330731 +PrefabInstance: m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 776624214} - - component: {fileID: 776624217} - - component: {fileID: 776624216} - - component: {fileID: 776624215} - 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 &776624214 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 776624213} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &776624215 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 776624213} - 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!23 &776624216 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 776624213} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 5d16023d0fb5e254fa3dbe99ef4e1256, 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 &776624217 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 776624213} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &786274683 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 786274684} - - component: {fileID: 786274687} - - component: {fileID: 786274686} - - component: {fileID: 786274685} - m_Layer: 0 - m_Name: Quad (22) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &786274684 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 786274683} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 14.75, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 21 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &786274685 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 786274683} - 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!23 &786274686 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 786274683} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 8a15aba9cf3176446a7923a03e42eb0e, 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 &786274687 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 786274683} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &816105117 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 816105118} - - component: {fileID: 816105121} - - component: {fileID: 816105120} - - component: {fileID: 816105119} - m_Layer: 0 - m_Name: Quad (16) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &816105118 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 816105117} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 13 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &816105119 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 816105117} - 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!23 &816105120 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 816105117} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: e22097a970a9e8143a30034cac91cae2, 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 &816105121 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 816105117} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &830425685 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 830425686} - - component: {fileID: 830425689} - - component: {fileID: 830425688} - - component: {fileID: 830425687} - m_Layer: 0 - m_Name: Quad (16) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &830425686 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 830425685} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 11 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &830425687 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 830425685} - 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!23 &830425688 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 830425685} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 8aba4087b510fb34db4143d8b0708e15, 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 &830425689 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 830425685} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &849655695 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 849655696} - - component: {fileID: 849655698} - - component: {fileID: 849655697} - - component: {fileID: 849655699} - m_Layer: 0 - m_Name: opaque - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &849655696 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 849655695} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.5, y: 0.22, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!102 &849655697 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 849655695} - m_Text: opaque - 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 &849655698 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 849655695} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &849655699 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 849655695} - 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: 849655697} ---- !u!1 &878072511 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 878072512} - - component: {fileID: 878072515} - - component: {fileID: 878072514} - - component: {fileID: 878072513} - m_Layer: 0 - m_Name: Quad (20) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &878072512 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 878072511} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 15 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &878072513 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 878072511} - 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!23 &878072514 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 878072511} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 873e2d4ac3d6ff9439cc43c31107203b, 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 &878072515 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 878072511} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &897127798 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 897127799} - - component: {fileID: 897127802} - - component: {fileID: 897127801} - - component: {fileID: 897127800} - 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 &897127799 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 897127798} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &897127800 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 897127798} - 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!23 &897127801 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 897127798} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 849737877b8648a43814fdeb3b6e9f3a, 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 &897127802 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 897127798} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !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: Emissive with ForwardEmissiveForDeferred 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: 'Emissive with ForwardEmissiveForDeferred - - -' - 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_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!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: -3.22, 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 &938463391 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 938463392} - - component: {fileID: 938463394} - - component: {fileID: 938463393} - - component: {fileID: 938463395} - m_Layer: 0 - m_Name: Lit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &938463392 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938463391} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 0, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 0 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &938463393 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938463391} - 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!23 &938463394 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938463391} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &938463395 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 938463391} - 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: 938463393} ---- !u!1 &956799484 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 956799485} - - component: {fileID: 956799488} - - component: {fileID: 956799487} - - component: {fileID: 956799486} - 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 &956799485 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 956799484} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &956799486 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 956799484} - 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!23 &956799487 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 956799484} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: cf410f298bc914d468cdbb95e8654468, 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 &956799488 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 956799484} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 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: Emissive with no ForwardEmissiveForDeferred Text - 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: 'Emissive with no ForwardEmissiveForDeferred - -' - 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_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!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 &984040783 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 984040784} - - component: {fileID: 984040787} - - component: {fileID: 984040786} - - component: {fileID: 984040785} - 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 &984040784 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984040783} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.1099997, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 8 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &984040785 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984040783} - 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!23 &984040786 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984040783} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 020c8c3eddcfae64f9713d40cd898877, 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 &984040787 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 984040783} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !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_RootOrder - value: 0 - objectReference: {fileID: 0} - - 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.w - value: 1 - 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_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: far clip plane - value: 40 - objectReference: {fileID: 0} - - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: near clip plane - value: 30 - 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: customRenderingSettings - value: 1 - 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: m_RenderingPathCustomFrameSettings.bitDatas.data2 - value: 4539628428684427264 - 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: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, - type: 3} - propertyPath: renderGraphCompatible - value: 1 - 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} - 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 &1000397263 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1000397264} - - component: {fileID: 1000397267} - - component: {fileID: 1000397266} - - component: {fileID: 1000397265} - m_Layer: 0 - m_Name: Fabric - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1000397264 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1000397263} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 6.383, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1000397265 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1000397263} - 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: 1000397266} ---- !u!102 &1000397266 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1000397263} - 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!23 &1000397267 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1000397263} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &1011700007 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1011700008} - - component: {fileID: 1011700011} - - component: {fileID: 1011700010} - - component: {fileID: 1011700009} - 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 &1011700008 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011700007} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 7.95, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1011700009 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011700007} - 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!23 &1011700010 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011700007} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 7ce4fd3f684b4c94ca2a4999bc6b2b98, 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 &1011700011 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1011700007} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1043385714 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1043385715} - - component: {fileID: 1043385718} - - component: {fileID: 1043385717} - - component: {fileID: 1043385716} - m_Layer: 0 - m_Name: SG Unlit - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1043385715 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1043385714} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 8.46, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 10 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1043385716 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1043385714} - 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: 1043385717} ---- !u!102 &1043385717 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1043385714} - m_Text: SG Unlit - 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 &1043385718 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1043385714} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &1054853758 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1054853759} - - component: {fileID: 1054853762} - - component: {fileID: 1054853761} - - component: {fileID: 1054853760} - m_Layer: 0 - m_Name: Quad (19) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1054853759 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054853758} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 7.95, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 16 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1054853760 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054853758} - 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!23 &1054853761 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054853758} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 05a204edcfc97e44caa2fcac20970acb, 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 &1054853762 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1054853758} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1070265960 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1070265961} - - component: {fileID: 1070265964} - - component: {fileID: 1070265963} - - component: {fileID: 1070265962} - 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 &1070265961 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1070265960} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.1099997, y: -2, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 9 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1070265962 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1070265960} - 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!23 &1070265963 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1070265960} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: b77985de349b5274abaa1d395da11ff5, 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 &1070265964 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1070265960} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1114564887 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1114564888} - - component: {fileID: 1114564891} - - component: {fileID: 1114564890} - - component: {fileID: 1114564889} - m_Layer: 0 - m_Name: Quad (18) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1114564888 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114564887} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.1099997, y: -4, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 2119731245} - m_RootOrder: 15 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1114564889 -MeshCollider: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1114564887} - 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!23 &1114564890 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} + serializedVersion: 2 + m_Modification: + m_TransformParent: {fileID: 0} + m_Modifications: + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_RootOrder + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.x + value: 4.51 + objectReference: {fileID: 0} + - target: {fileID: 4209882255362944, guid: c07ace9ab142ca9469fa377877c2f1e7, type: 3} + propertyPath: m_LocalPosition.y + value: -0.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.w + value: 1 + 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_LocalEulerAnglesHint.x + value: 0 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: field of view + value: 8.992129 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: far clip plane + value: 40 + objectReference: {fileID: 0} + - target: {fileID: 20109210616973140, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: near clip plane + value: 30 + 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: 8 + 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: m_RenderingPathCustomFrameSettings.bitDatas.data1 + value: 70005818916701 + objectReference: {fileID: 0} + - target: {fileID: 114777190906822814, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: m_RenderingPathCustomFrameSettings.bitDatas.data2 + value: 4539628428684427264 + 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: 114995348509370400, guid: c07ace9ab142ca9469fa377877c2f1e7, + type: 3} + propertyPath: renderGraphCompatible + value: 1 + 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} + 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} - m_GameObject: {fileID: 1114564887} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 4634b13f5109ac04aa86585ea854a8eb, 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 &1114564891 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {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: 1114564887} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1158011234 + m_GameObject: {fileID: 0} + m_Enabled: 1 + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 9459100e7946cb84eb53a26a14473032, type: 3} + m_Name: + m_EditorClassIdentifier: +--- !u!1 &1000397263 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5048,102 +2637,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1158011235} - - component: {fileID: 1158011237} - - component: {fileID: 1158011236} - - component: {fileID: 1158011238} + - component: {fileID: 1000397264} + - component: {fileID: 1000397267} + - component: {fileID: 1000397266} + - component: {fileID: 1000397265} m_Layer: 0 - m_Name: LayeredLitTessellation + m_Name: Fabric m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1158011235 +--- !u!4 &1000397264 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1158011234} + m_GameObject: {fileID: 1000397263} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 4.04, y: 0.5, z: 0} + m_LocalPosition: {x: 6.383, y: 0.5, z: 0} m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2006409710} - m_RootOrder: 3 + m_RootOrder: 7 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!102 &1158011236 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1158011234} - m_Text: LayeredLitTess - 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 &1158011237 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1158011234} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &1158011238 +--- !u!114 &1000397265 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1158011234} + m_GameObject: {fileID: 1000397263} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} @@ -5154,49 +2680,16 @@ MonoBehaviour: targetCamera: {fileID: 999330732} forceTargetDimensions: {x: 200, y: 150} overrideTestSettings: 0 - textMesh: {fileID: 1158011236} ---- !u!1 &1159357247 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1159357248} - - component: {fileID: 1159357250} - - component: {fileID: 1159357249} - - component: {fileID: 1159357251} - m_Layer: 0 - m_Name: alpha tested - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1159357248 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1159357247} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.37, y: -0.74, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 5 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!102 &1159357249 + textMesh: {fileID: 1000397266} +--- !u!102 &1000397266 TextMesh: serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1159357247} - m_Text: alpha tested + m_GameObject: {fileID: 1000397263} + m_Text: Fabric m_OffsetZ: 0 m_CharacterSize: 1 m_LineSpacing: 1 @@ -5210,13 +2703,13 @@ TextMesh: m_Color: serializedVersion: 2 rgba: 4294967295 ---- !u!23 &1159357250 +--- !u!23 &1000397267 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1159357247} + m_GameObject: {fileID: 1000397263} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5252,71 +2745,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!114 &1159357251 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1159357247} - 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: 1159357249} ---- !u!1 &1160288514 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1160288515} - m_Layer: 0 - m_Name: Emissive block (1) - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1160288515 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1160288514} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -4.27, z: 0} - m_LocalScale: {x: 0.5, y: 0.5, z: 0.5} - m_Children: - - {fileID: 387886688} - - {fileID: 700010247} - - {fileID: 1546823736} - - {fileID: 1685204904} - - {fileID: 605620530} - - {fileID: 1226849262} - - {fileID: 1523315489} - - {fileID: 1193276682} - - {fileID: 984040784} - - {fileID: 358895846} - - {fileID: 266985560} - - {fileID: 830425686} - - {fileID: 474944596} - - {fileID: 374319954} - - {fileID: 644170221} - - {fileID: 878072512} - m_Father: {fileID: 0} - m_RootOrder: 7 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!1 &1193276681 +--- !u!1 &1011700007 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5324,38 +2753,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1193276682} - - component: {fileID: 1193276685} - - component: {fileID: 1193276684} - - component: {fileID: 1193276683} + - component: {fileID: 1011700008} + - component: {fileID: 1011700011} + - component: {fileID: 1011700010} + - component: {fileID: 1011700009} m_Layer: 0 - m_Name: Quad (9) + m_Name: Quad (11) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1193276682 +--- !u!4 &1011700008 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1193276681} + m_GameObject: {fileID: 1011700007} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: -2, z: 0} + m_LocalPosition: {x: 7.95, y: -2, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 7 + m_Father: {fileID: 2119731245} + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1193276683 +--- !u!64 &1011700009 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1193276681} + m_GameObject: {fileID: 1011700007} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -5363,13 +2793,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1193276684 +--- !u!23 &1011700010 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1193276681} + m_GameObject: {fileID: 1011700007} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5383,7 +2813,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: f88de1fca28318a4db4004976c775c01, type: 2} + - {fileID: 2100000, guid: 7ce4fd3f684b4c94ca2a4999bc6b2b98, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -5405,15 +2835,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1193276685 +--- !u!33 &1011700011 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1193276681} + m_GameObject: {fileID: 1011700007} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1226849261 +--- !u!1 &1043385714 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5421,52 +2851,79 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1226849262} - - component: {fileID: 1226849265} - - component: {fileID: 1226849264} - - component: {fileID: 1226849263} + - component: {fileID: 1043385715} + - component: {fileID: 1043385718} + - component: {fileID: 1043385717} + - component: {fileID: 1043385716} m_Layer: 0 - m_Name: Quad (4) + m_Name: SG Unlit m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1226849262 +--- !u!4 &1043385715 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1226849261} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_GameObject: {fileID: 1043385714} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 8.46, y: 0.5, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 5 + m_Father: {fileID: 2006409710} + m_RootOrder: 10 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1226849263 -MeshCollider: +--- !u!114 &1043385716 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1226849261} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1043385714} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1226849264 + 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: 1043385717} +--- !u!102 &1043385717 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1043385714} + m_Text: SG Unlit + 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 &1043385718 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1226849261} + m_GameObject: {fileID: 1043385714} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5477,10 +2934,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 9642428d07bfb4c4dad13acb8b5337a0, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -5492,7 +2949,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -5502,15 +2959,7 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1226849265 -MeshFilter: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1226849261} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1356309068 +--- !u!1 &1054853758 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5518,38 +2967,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1356309069} - - component: {fileID: 1356309072} - - component: {fileID: 1356309071} - - component: {fileID: 1356309070} + - component: {fileID: 1054853759} + - component: {fileID: 1054853762} + - component: {fileID: 1054853761} + - component: {fileID: 1054853760} m_Layer: 0 - m_Name: Quad (20) + m_Name: Quad (19) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1356309069 +--- !u!4 &1054853759 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1356309068} + m_GameObject: {fileID: 1054853758} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 10.91, y: -4, z: 0} + m_LocalPosition: {x: 7.95, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} - m_RootOrder: 17 + m_RootOrder: 16 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1356309070 +--- !u!64 &1054853760 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1356309068} + m_GameObject: {fileID: 1054853758} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -5557,13 +3007,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1356309071 +--- !u!23 &1054853761 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1356309068} + m_GameObject: {fileID: 1054853758} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5577,7 +3027,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 1023806f03a2d174d99772bd4b65cf3f, type: 2} + - {fileID: 2100000, guid: 05a204edcfc97e44caa2fcac20970acb, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -5599,15 +3049,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1356309072 +--- !u!33 &1054853762 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1356309068} + m_GameObject: {fileID: 1054853758} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1442353284 +--- !u!1 &1070265960 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5615,214 +3065,97 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1442353288} - - component: {fileID: 1442353287} - - component: {fileID: 1442353286} + - component: {fileID: 1070265961} + - component: {fileID: 1070265964} + - component: {fileID: 1070265963} + - component: {fileID: 1070265962} m_Layer: 0 - m_Name: Directional Light (2) + m_Name: Quad (10) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!114 &1442353286 -MonoBehaviour: +--- !u!4 &1070265961 +Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1442353284} + m_GameObject: {fileID: 1070265960} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 5.1099997, y: -2, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2119731245} + m_RootOrder: 9 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!64 &1070265962 +MeshCollider: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1070265960} + m_Material: {fileID: 0} + m_IsTrigger: 0 m_Enabled: 1 - m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} - m_Name: - m_EditorClassIdentifier: - m_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_VolumetricFadeDistance: 10000 - m_AffectDiffuse: 1 - m_AffectSpecular: 1 - m_NonLightmappedOnly: 0 - m_ShapeWidth: 0.5 - m_ShapeHeight: 0.5 - m_AspectRatio: 1 - m_ShapeRadius: 0 - 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_IncludeForRayTracing: 1 - m_AreaLightShadowCone: 120 - m_UseScreenSpaceShadows: 0 - m_InteractsWithSky: 1 - m_AngularDiameter: 0.5 - m_FlareSize: 2 - m_FlareTint: {r: 1, g: 1, b: 1, a: 1} - m_FlareFalloff: 4 - m_SurfaceTexture: {fileID: 0} - m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} - m_Distance: 1.5e+11 - m_UseRayTracedShadows: 0 - m_NumRayTracingSamples: 4 - m_FilterTracedShadow: 1 - m_FilterSizeTraced: 16 - m_SunLightConeAngle: 0.5 - m_LightShadowRadius: 0.5 - m_SemiTransparentShadow: 0 - m_ColorShadow: 1 - m_DistanceBasedFiltering: 0 - m_EvsmExponent: 15 - m_EvsmLightLeakBias: 0 - m_EvsmVarianceBias: 0.00001 - m_EvsmBlurPasses: 0 - m_LightlayersMask: 1 - m_LinkShadowLayers: 1 - m_ShadowNearPlane: 0.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_AlwaysDrawDynamicShadows: 0 - m_UpdateShadowOnLightMovement: 0 - m_CachedShadowTranslationThreshold: 0.01 - m_CachedShadowAngularThreshold: 0.5 - m_BarnDoorAngle: 90 - m_BarnDoorLength: 0.05 - m_preserveCachedShadow: 0 - m_ShadowCascadeRatios: - - 0.05 - - 0.2 - - 0.3 - m_ShadowCascadeBorders: - - 0.2 - - 0.2 - - 0.2 - - 0.2 - m_ShadowAlgorithm: 0 - m_ShadowVariant: 3 - m_ShadowPrecision: 0 - useOldInspector: 0 - useVolumetric: 1 - featuresFoldout: 1 - m_AreaLightEmissiveMeshShadowCastingMode: 0 - m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 - m_AreaLightEmissiveMeshLayer: -1 - m_Version: 11 - m_ObsoleteShadowResolutionTier: 1 - m_ObsoleteUseShadowQualitySettings: 0 - m_ObsoleteCustomShadowResolution: 512 - m_ObsoleteContactShadows: 0 - m_PointlightHDType: 0 - m_SpotLightShape: 0 - m_AreaLightShape: 0 ---- !u!108 &1442353287 -Light: + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1070265963 +MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1442353284} + m_GameObject: {fileID: 1070265960} 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_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 257 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: b77985de349b5274abaa1d395da11ff5, 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 &1070265964 +MeshFilter: 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 &1523315488 + m_GameObject: {fileID: 1070265960} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1114564887 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5830,38 +3163,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1523315489} - - component: {fileID: 1523315492} - - component: {fileID: 1523315491} - - component: {fileID: 1523315490} + - component: {fileID: 1114564888} + - component: {fileID: 1114564891} + - component: {fileID: 1114564890} + - component: {fileID: 1114564889} m_Layer: 0 - m_Name: Quad (8) + m_Name: Quad (18) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1523315489 +--- !u!4 &1114564888 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523315488} + m_GameObject: {fileID: 1114564887} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 0, y: -2, z: 0} + m_LocalPosition: {x: 5.1099997, y: -4, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 6 + m_Father: {fileID: 2119731245} + m_RootOrder: 15 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1523315490 +--- !u!64 &1114564889 MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523315488} + m_GameObject: {fileID: 1114564887} m_Material: {fileID: 0} m_IsTrigger: 0 m_Enabled: 1 @@ -5869,13 +3203,13 @@ MeshCollider: m_Convex: 0 m_CookingOptions: 30 m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1523315491 +--- !u!23 &1114564890 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523315488} + m_GameObject: {fileID: 1114564887} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5889,7 +3223,7 @@ MeshRenderer: m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: b969230fe268c6f458d2593850e9fd92, type: 2} + - {fileID: 2100000, guid: 4634b13f5109ac04aa86585ea854a8eb, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -5911,15 +3245,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1523315492 +--- !u!33 &1114564891 MeshFilter: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1523315488} + m_GameObject: {fileID: 1114564887} m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1546823735 +--- !u!1 &1158011234 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -5927,52 +3261,177 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1546823736} - - component: {fileID: 1546823739} - - component: {fileID: 1546823738} - - component: {fileID: 1546823737} + - component: {fileID: 1158011235} + - component: {fileID: 1158011237} + - component: {fileID: 1158011236} + - component: {fileID: 1158011238} m_Layer: 0 - m_Name: Quad (1) + m_Name: LayeredLitTessellation m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1546823736 +--- !u!4 &1158011235 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546823735} + m_GameObject: {fileID: 1158011234} m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.4099998, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} + m_LocalPosition: {x: 4.04, y: 0.5, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 2006409710} + m_RootOrder: 3 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!102 &1158011236 +TextMesh: + serializedVersion: 3 + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158011234} + m_Text: LayeredLitTess + 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 &1158011237 +MeshRenderer: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158011234} + m_Enabled: 1 + m_CastShadows: 1 + m_ReceiveShadows: 1 + m_DynamicOccludee: 1 + m_StaticShadowCaster: 0 + m_MotionVectors: 1 + m_LightProbeUsage: 1 + m_ReflectionProbeUsage: 1 + m_RayTracingMode: 2 + m_RayTraceProcedural: 0 + m_RenderingLayerMask: 4294967295 + m_RendererPriority: 0 + m_Materials: + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + m_StaticBatchInfo: + firstSubMesh: 0 + subMeshCount: 0 + m_StaticBatchRoot: {fileID: 0} + m_ProbeAnchor: {fileID: 0} + m_LightProbeVolumeOverride: {fileID: 0} + m_ScaleInLightmap: 1 + m_ReceiveGI: 1 + m_PreserveUVs: 0 + m_IgnoreNormalsForChartDetection: 0 + m_ImportantGI: 0 + m_StitchLightmapSeams: 0 + m_SelectedEditorRenderState: 3 + m_MinimumChartSize: 4 + m_AutoUVMaxDistance: 0.5 + m_AutoUVMaxAngle: 89 + m_LightmapParameters: {fileID: 0} + m_SortingLayerID: 0 + m_SortingLayer: 0 + m_SortingOrder: 0 + m_AdditionalVertexStreams: {fileID: 0} +--- !u!114 &1158011238 +MonoBehaviour: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1158011234} + 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: 1158011236} +--- !u!1 &1159357247 +GameObject: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + serializedVersion: 6 + m_Component: + - component: {fileID: 1159357248} + - component: {fileID: 1159357250} + - component: {fileID: 1159357249} + - component: {fileID: 1159357251} + m_Layer: 0 + m_Name: alpha tested + m_TagString: Untagged + m_Icon: {fileID: 0} + m_NavMeshLayer: 0 + m_StaticEditorFlags: 0 + m_IsActive: 1 +--- !u!4 &1159357248 +Transform: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1159357247} + m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} + m_LocalPosition: {x: -0.37, y: -0.74, z: 0} + m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 2 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1546823737 -MeshCollider: + m_Father: {fileID: 2006409710} + m_RootOrder: 5 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} +--- !u!102 &1159357249 +TextMesh: + serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546823735} - 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!23 &1546823738 + m_GameObject: {fileID: 1159357247} + m_Text: alpha tested + 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 &1159357250 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546823735} + m_GameObject: {fileID: 1159357247} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -5983,10 +3442,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 + m_RenderingLayerMask: 4294967295 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 233fd0267d7087e459a6a92903220135, type: 2} + - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -5998,7 +3457,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 1 + m_StitchLightmapSeams: 0 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -6008,15 +3467,25 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!33 &1546823739 -MeshFilter: +--- !u!114 &1159357251 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1546823735} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1593256218 + m_GameObject: {fileID: 1159357247} + 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: 1159357249} +--- !u!1 &1356309068 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6024,78 +3493,53 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1593256219} - - component: {fileID: 1593256222} - - component: {fileID: 1593256221} - - component: {fileID: 1593256220} + - component: {fileID: 1356309069} + - component: {fileID: 1356309072} + - component: {fileID: 1356309071} + - component: {fileID: 1356309070} m_Layer: 0 - m_Name: Unlit + m_Name: Quad (20) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1593256219 +--- !u!4 &1356309069 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1593256218} - m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} - m_LocalPosition: {x: 7.36, y: 0.5, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_GameObject: {fileID: 1356309068} + m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} + m_LocalPosition: {x: 10.91, y: -4, z: 0} + m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 2006409710} - m_RootOrder: 9 + m_Father: {fileID: 2119731245} + m_RootOrder: 17 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1593256220 -MonoBehaviour: +--- !u!64 &1356309070 +MeshCollider: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1593256218} + m_GameObject: {fileID: 1356309068} + m_Material: {fileID: 0} + m_IsTrigger: 0 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: 1593256221} ---- !u!102 &1593256221 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1593256218} - m_Text: Unlit - 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 &1593256222 + serializedVersion: 4 + m_Convex: 0 + m_CookingOptions: 30 + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!23 &1356309071 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1593256218} + m_GameObject: {fileID: 1356309068} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -6106,10 +3550,10 @@ MeshRenderer: m_ReflectionProbeUsage: 1 m_RayTracingMode: 2 m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 + m_RenderingLayerMask: 257 m_RendererPriority: 0 m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} + - {fileID: 2100000, guid: 1023806f03a2d174d99772bd4b65cf3f, type: 2} m_StaticBatchInfo: firstSubMesh: 0 subMeshCount: 0 @@ -6121,7 +3565,7 @@ MeshRenderer: m_PreserveUVs: 0 m_IgnoreNormalsForChartDetection: 0 m_ImportantGI: 0 - m_StitchLightmapSeams: 0 + m_StitchLightmapSeams: 1 m_SelectedEditorRenderState: 3 m_MinimumChartSize: 4 m_AutoUVMaxDistance: 0.5 @@ -6131,7 +3575,15 @@ MeshRenderer: m_SortingLayer: 0 m_SortingOrder: 0 m_AdditionalVertexStreams: {fileID: 0} ---- !u!1 &1685204903 +--- !u!33 &1356309072 +MeshFilter: + m_ObjectHideFlags: 0 + m_CorrespondingSourceObject: {fileID: 0} + m_PrefabInstance: {fileID: 0} + m_PrefabAsset: {fileID: 0} + m_GameObject: {fileID: 1356309068} + m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} +--- !u!1 &1442353284 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6139,96 +3591,216 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1685204904} - - component: {fileID: 1685204907} - - component: {fileID: 1685204906} - - component: {fileID: 1685204905} + - component: {fileID: 1442353288} + - component: {fileID: 1442353287} + - component: {fileID: 1442353286} m_Layer: 0 - m_Name: Quad (2) + m_Name: Directional Light (2) m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1685204904 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1685204903} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 5.1099997, y: 0, z: 0} - m_LocalScale: {x: 1, y: 1, z: 1} - m_Children: [] - m_Father: {fileID: 1160288515} - m_RootOrder: 3 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!64 &1685204905 -MeshCollider: +--- !u!114 &1442353286 +MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1685204903} - m_Material: {fileID: 0} - m_IsTrigger: 0 + m_GameObject: {fileID: 1442353284} m_Enabled: 1 - serializedVersion: 4 - m_Convex: 0 - m_CookingOptions: 30 - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!23 &1685204906 -MeshRenderer: + m_EditorHideFlags: 0 + m_Script: {fileID: 11500000, guid: 7a68c43fe1f2a47cfa234b5eeaa98012, type: 3} + m_Name: + m_EditorClassIdentifier: + 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_VolumetricFadeDistance: 10000 + m_AffectDiffuse: 1 + m_AffectSpecular: 1 + m_NonLightmappedOnly: 0 + m_ShapeWidth: 0.5 + m_ShapeHeight: 0.5 + m_AspectRatio: 1 + m_ShapeRadius: 0 + 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_IncludeForRayTracing: 1 + m_AreaLightShadowCone: 120 + m_UseScreenSpaceShadows: 0 + m_InteractsWithSky: 1 + m_AngularDiameter: 0.5 + m_FlareSize: 2 + m_FlareTint: {r: 1, g: 1, b: 1, a: 1} + m_FlareFalloff: 4 + m_SurfaceTexture: {fileID: 0} + m_SurfaceTint: {r: 1, g: 1, b: 1, a: 1} + m_Distance: 1.5e+11 + m_UseRayTracedShadows: 0 + m_NumRayTracingSamples: 4 + m_FilterTracedShadow: 1 + m_FilterSizeTraced: 16 + m_SunLightConeAngle: 0.5 + m_LightShadowRadius: 0.5 + m_SemiTransparentShadow: 0 + m_ColorShadow: 1 + m_DistanceBasedFiltering: 0 + m_EvsmExponent: 15 + m_EvsmLightLeakBias: 0 + m_EvsmVarianceBias: 0.00001 + m_EvsmBlurPasses: 0 + m_LightlayersMask: 1 + m_LinkShadowLayers: 1 + m_ShadowNearPlane: 0.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_AlwaysDrawDynamicShadows: 0 + m_UpdateShadowOnLightMovement: 0 + m_CachedShadowTranslationThreshold: 0.01 + m_CachedShadowAngularThreshold: 0.5 + m_BarnDoorAngle: 90 + m_BarnDoorLength: 0.05 + m_preserveCachedShadow: 0 + m_OnDemandShadowRenderOnPlacement: 1 + m_ShadowCascadeRatios: + - 0.05 + - 0.2 + - 0.3 + m_ShadowCascadeBorders: + - 0.2 + - 0.2 + - 0.2 + - 0.2 + m_ShadowAlgorithm: 0 + m_ShadowVariant: 3 + m_ShadowPrecision: 0 + useOldInspector: 0 + useVolumetric: 1 + featuresFoldout: 1 + m_AreaLightEmissiveMeshShadowCastingMode: 0 + m_AreaLightEmissiveMeshMotionVectorGenerationMode: 0 + m_AreaLightEmissiveMeshLayer: -1 + m_Version: 11 + m_ObsoleteShadowResolutionTier: 1 + m_ObsoleteUseShadowQualitySettings: 0 + m_ObsoleteCustomShadowResolution: 512 + m_ObsoleteContactShadows: 0 + m_PointlightHDType: 0 + m_SpotLightShape: 0 + m_AreaLightShape: 0 +--- !u!108 &1442353287 +Light: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1685204903} + m_GameObject: {fileID: 1442353284} m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 257 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: be8f97f1d2f5b7f4cad24cd22a37f3e0, 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 &1685204907 -MeshFilter: + 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: 1685204903} - m_Mesh: {fileID: 10210, guid: 0000000000000000e000000000000000, type: 0} ---- !u!1 &1713439166 + 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_ConstrainProportionsScale: 0 + m_Children: [] + m_Father: {fileID: 0} + m_RootOrder: 2 + m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} +--- !u!1 &1593256218 GameObject: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} @@ -6236,38 +3808,39 @@ GameObject: m_PrefabAsset: {fileID: 0} serializedVersion: 6 m_Component: - - component: {fileID: 1713439167} - - component: {fileID: 1713439170} - - component: {fileID: 1713439169} - - component: {fileID: 1713439168} + - component: {fileID: 1593256219} + - component: {fileID: 1593256222} + - component: {fileID: 1593256221} + - component: {fileID: 1593256220} m_Layer: 0 - m_Name: LitTessellation + m_Name: Unlit m_TagString: Untagged m_Icon: {fileID: 0} m_NavMeshLayer: 0 m_StaticEditorFlags: 0 m_IsActive: 1 ---- !u!4 &1713439167 +--- !u!4 &1593256219 Transform: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1713439166} - m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} - m_LocalPosition: {x: 2.59, y: 0.5, z: 0} + m_GameObject: {fileID: 1593256218} + m_LocalRotation: {x: 0, y: 0, z: 0, w: 1} + m_LocalPosition: {x: 7.36, y: 0.5, z: 0} m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 2 + m_Father: {fileID: 2006409710} + m_RootOrder: 9 m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0} ---- !u!114 &1713439168 +--- !u!114 &1593256220 MonoBehaviour: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1713439166} + m_GameObject: {fileID: 1593256218} m_Enabled: 1 m_EditorHideFlags: 0 m_Script: {fileID: 11500000, guid: 1843972f86a70ad4f9ac115809638244, type: 3} @@ -6278,16 +3851,16 @@ MonoBehaviour: targetCamera: {fileID: 999330732} forceTargetDimensions: {x: 200, y: 150} overrideTestSettings: 0 - textMesh: {fileID: 1713439169} ---- !u!102 &1713439169 + textMesh: {fileID: 1593256221} +--- !u!102 &1593256221 TextMesh: serializedVersion: 3 m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1713439166} - m_Text: LitTess + m_GameObject: {fileID: 1593256218} + m_Text: Unlit m_OffsetZ: 0 m_CharacterSize: 1 m_LineSpacing: 1 @@ -6301,13 +3874,13 @@ TextMesh: m_Color: serializedVersion: 2 rgba: 4294967295 ---- !u!23 &1713439170 +--- !u!23 &1593256222 MeshRenderer: m_ObjectHideFlags: 0 m_CorrespondingSourceObject: {fileID: 0} m_PrefabInstance: {fileID: 0} m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1713439166} + m_GameObject: {fileID: 1593256218} m_Enabled: 1 m_CastShadows: 1 m_ReceiveShadows: 1 @@ -6372,6 +3945,7 @@ Transform: 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_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 7 @@ -6469,6 +4043,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 1.21, y: 0.5, z: 0} m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2006409710} m_RootOrder: 1 @@ -6555,121 +4130,6 @@ MonoBehaviour: forceTargetDimensions: {x: 200, y: 150} overrideTestSettings: 0 textMesh: {fileID: 1762936946} ---- !u!1 &1785018360 -GameObject: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - serializedVersion: 6 - m_Component: - - component: {fileID: 1785018361} - - component: {fileID: 1785018364} - - component: {fileID: 1785018363} - - component: {fileID: 1785018362} - m_Layer: 0 - m_Name: opaque - m_TagString: Untagged - m_Icon: {fileID: 0} - m_NavMeshLayer: 0 - m_StaticEditorFlags: 0 - m_IsActive: 1 ---- !u!4 &1785018361 -Transform: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785018360} - m_LocalRotation: {x: 0, y: 0, z: 0.7071068, w: 0.7071068} - m_LocalPosition: {x: -0.5, y: 0.22, z: 0} - m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} - m_Children: [] - m_Father: {fileID: 387886688} - m_RootOrder: 4 - m_LocalEulerAnglesHint: {x: 0, y: 0, z: 90} ---- !u!114 &1785018362 -MonoBehaviour: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785018360} - 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: 1785018363} ---- !u!102 &1785018363 -TextMesh: - serializedVersion: 3 - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785018360} - m_Text: opaque - 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 &1785018364 -MeshRenderer: - m_ObjectHideFlags: 0 - m_CorrespondingSourceObject: {fileID: 0} - m_PrefabInstance: {fileID: 0} - m_PrefabAsset: {fileID: 0} - m_GameObject: {fileID: 1785018360} - m_Enabled: 1 - m_CastShadows: 1 - m_ReceiveShadows: 1 - m_DynamicOccludee: 1 - m_StaticShadowCaster: 0 - m_MotionVectors: 1 - m_LightProbeUsage: 1 - m_ReflectionProbeUsage: 1 - m_RayTracingMode: 2 - m_RayTraceProcedural: 0 - m_RenderingLayerMask: 4294967295 - m_RendererPriority: 0 - m_Materials: - - {fileID: 2100000, guid: 306d620c715872046bf76568b7f382d4, type: 3} - m_StaticBatchInfo: - firstSubMesh: 0 - subMeshCount: 0 - m_StaticBatchRoot: {fileID: 0} - m_ProbeAnchor: {fileID: 0} - m_LightProbeVolumeOverride: {fileID: 0} - m_ScaleInLightmap: 1 - m_ReceiveGI: 1 - m_PreserveUVs: 0 - m_IgnoreNormalsForChartDetection: 0 - m_ImportantGI: 0 - m_StitchLightmapSeams: 0 - m_SelectedEditorRenderState: 3 - m_MinimumChartSize: 4 - m_AutoUVMaxDistance: 0.5 - m_AutoUVMaxAngle: 89 - m_LightmapParameters: {fileID: 0} - m_SortingLayerID: 0 - m_SortingLayer: 0 - m_SortingOrder: 0 - m_AdditionalVertexStreams: {fileID: 0} --- !u!1 &1832014488 GameObject: m_ObjectHideFlags: 0 @@ -6699,6 +4159,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 17.01, y: -0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 22 @@ -6796,6 +4257,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 5.51, y: 0.5, z: 0} m_LocalScale: {x: 0.12117338, y: 0.12117338, z: 0.12117338} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2006409710} m_RootOrder: 6 @@ -6908,6 +4370,7 @@ Transform: 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_ConstrainProportionsScale: 0 m_Children: - {fileID: 938463392} - {fileID: 1762936945} @@ -7016,9 +4479,10 @@ Transform: m_LocalRotation: {x: 0, y: 0.7071068, z: -0.7071068, w: 0} m_LocalPosition: {x: 4.2, y: 0.31, z: 2.05} m_LocalScale: {x: 2, y: 2, z: 2} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 0} - m_RootOrder: 6 + m_RootOrder: 5 m_LocalEulerAnglesHint: {x: 90, y: 180, z: 0} --- !u!1 &2081599096 GameObject: @@ -7049,6 +4513,7 @@ Transform: m_LocalRotation: {x: -0, y: -0, z: -0, w: 1} m_LocalPosition: {x: 5.1099997, y: 0, z: 0} m_LocalScale: {x: 1, y: 1, z: 1} + m_ConstrainProportionsScale: 0 m_Children: [] m_Father: {fileID: 2119731245} m_RootOrder: 3 @@ -7143,6 +4608,7 @@ Transform: 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_ConstrainProportionsScale: 0 m_Children: - {fileID: 2006409710} - {fileID: 617922108} diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.unity.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.unity.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred.unity.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive.unity.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/FabricEmissive.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/FabricEmissive.shadergraph similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/FabricEmissive.shadergraph rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/FabricEmissive.shadergraph diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/FabricEmissive.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/FabricEmissive.shadergraph.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/FabricEmissive.shadergraph.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/FabricEmissive.shadergraph.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLayeredLitTessellationEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitSGEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitSGEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/ForceForward/FFLitTessellationEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/ForceForward/FFLitTessellationEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/LitSGEmissive.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/LitSGEmissive.shadergraph similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/LitSGEmissive.shadergraph rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/LitSGEmissive.shadergraph diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/LitSGEmissive.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/LitSGEmissive.shadergraph.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/LitSGEmissive.shadergraph.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/LitSGEmissive.shadergraph.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/FabricEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/FabricEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LayeredLitTessellationEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LayeredLitTessellationEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitSGEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitSGEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/LitTessellationEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/LitTessellationEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnLitEmissiveTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnLitEmissiveTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissive.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissive.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissive.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissive.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissive.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissive.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissive.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissive.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATest.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATest.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATest.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATest.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATest.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATest.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATest.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATest.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATestTransparent.mat b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATestTransparent.mat similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATestTransparent.mat rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATestTransparent.mat diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATestTransparent.mat.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATestTransparent.mat.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/Regular/UnlitSGEmissiveATestTransparent.mat.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/Regular/UnlitSGEmissiveATestTransparent.mat.meta diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/UnlitSGEmissive.shadergraph b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/UnlitSGEmissive.shadergraph similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/UnlitSGEmissive.shadergraph rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/UnlitSGEmissive.shadergraph diff --git a/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/UnlitSGEmissive.shadergraph.meta b/TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/UnlitSGEmissive.shadergraph.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_ForwardEmissiveForDeferred/UnlitSGEmissive.shadergraph.meta rename to TestProjects/HDRP_Tests/Assets/GraphicTests/Scenes/2x_Lighting/2011_AllEmissive/UnlitSGEmissive.shadergraph.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png.meta rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_ForwardEmissiveForDeferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_ForwardEmissiveForDeferred.png rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_ForwardEmissiveForDeferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_ForwardEmissiveForDeferred.png.meta rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_ForwardEmissiveForDeferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_ForwardEmissiveForDeferred.png rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_ForwardEmissiveForDeferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_ForwardEmissiveForDeferred.png.meta rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_ForwardEmissiveForDeferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_ForwardEmissiveForDeferred.png rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_ForwardEmissiveForDeferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_ForwardEmissiveForDeferred.png.meta rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png.meta diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png.meta b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png.meta similarity index 100% rename from TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_ForwardEmissiveForDeferred.png.meta rename to TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png.meta From 053d9cb8fdea89892665d848f8aae796f50fed19 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 11:41:14 +0200 Subject: [PATCH 16/30] Update Emissive lighting test for unlit --- .../ShaderPass/ShaderPassForwardUnlit.hlsl | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardUnlit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardUnlit.hlsl index c94be329648..4fb4ab93885 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardUnlit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/ShaderPass/ShaderPassForwardUnlit.hlsl @@ -117,8 +117,24 @@ void Frag(PackedVaryingsToPS packedInput, bsdfData.color *= GetScreenSpaceAmbientOcclusion(input.positionSS.xy); #endif +#ifdef DEBUG_DISPLAY + // Handle debug lighting mode here as there is no lightloop for unlit. + // For unlit we let all unlit object appear + if (_DebugLightingMode >= DEBUGLIGHTINGMODE_DIFFUSE_LIGHTING && _DebugLightingMode <= DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING) + { + if (_DebugLightingMode != DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING) + { + builtinData.emissiveColor = 0.0; + } + else + { + bsdfData.color = 0.0; + } + } +#endif + // Note: we must not access bsdfData in shader pass, but for unlit we make an exception and assume it should have a color field - float4 outResult = ApplyBlendMode(bsdfData.color*GetDeExposureMultiplier() + builtinData.emissiveColor * GetCurrentExposureMultiplier(), builtinData.opacity); + float4 outResult = ApplyBlendMode(bsdfData.color * GetDeExposureMultiplier() + builtinData.emissiveColor * GetCurrentExposureMultiplier(), builtinData.opacity); outResult = EvaluateAtmosphericScattering(posInput, V, outResult); #ifdef DEBUG_DISPLAY From 2302f45e9b88d8f3b1d76adff1f8da7395a4daf5 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 12:14:04 +0200 Subject: [PATCH 17/30] Fix Lightloop --- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index 88452bab657..8a4ee3bead6 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -61,7 +61,7 @@ void ApplyDebugToLighting(LightLoopContext context, inout BuiltinData builtinDat _DebugLightingMode == DEBUGLIGHTINGMODE_REFLECTION_LIGHTING || _DebugLightingMode == DEBUGLIGHTINGMODE_REFRACTION_LIGHTING #if (SHADERPASS != SHADERPASS_DEFERRED_LIGHTING) - || _DebugLightingMode == DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING // With deferred, Emissive is store in builtinData.bakeDiffuseLighting + || _DebugLightingMode == DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING // With deferred, Emissive is store in builtinData.bakeDiffuseLighting (See Lit.hlsl EncodeToGbuffer) #endif ) { @@ -466,6 +466,14 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS ApplyDebugToBuiltinData(tempBuiltinData); // This will not affect emissive as we don't use it +#if defined(DEBUG_DISPLAY) && (SHADERPASS == SHADERPASS_DEFERRED_LIGHTING) + // We need to handle the specific case of deferred for debug lighting mode here + if (_DebugLightingMode == DEBUGLIGHTINGMODE_EMISSIVE_LIGHTING) + { + tempBuiltinData.bakeDiffuseLighting = real3(0.0, 0.0, 0.0); + } +#endif + // Replace original data builtinData.bakeDiffuseLighting = tempBuiltinData.bakeDiffuseLighting; From 1fa9da943ba1f1ad1ecaffe1626f12259db905ab Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 13:46:23 +0200 Subject: [PATCH 18/30] update DXR GI screenshots --- .../Direct3D12/None/301_GlobalIlluminationPerfFull.png | 4 ++-- .../None/301_GlobalIlluminationPerfFullLightLayers.png | 4 ++-- .../Direct3D12/None/302_GlobalIlluminationPerfHalf.png | 4 ++-- .../Direct3D12/None/303_GlobalIlluminationQuality.png | 4 ++-- .../Direct3D12/None/303_GlobalIlluminationQualityExposure.png | 4 ++-- .../Direct3D12/None/304_GlobalIlluminationDenoised1.png | 4 ++-- .../Direct3D12/None/305_GlobalIlluminationDenoisedHalf1.png | 4 ++-- .../Direct3D12/None/306_GlobalIlluminationDenoised2.png | 4 ++-- .../Direct3D12/None/307_GlobalIlluminationFog.png | 4 ++-- 9 files changed, 18 insertions(+), 18 deletions(-) diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFull.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFull.png index 98e722a8d3b..4c771316096 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFull.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFull.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19e28ac0e894404d694c9ac70855755fe01596769ad3d1e8a618cd523c40baa1 -size 361133 +oid sha256:c915acc99222d8eaff5f616e73c52e3927ec16ffdc5222b514b6fc2a8192c91a +size 362643 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFullLightLayers.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFullLightLayers.png index 98e722a8d3b..4c771316096 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFullLightLayers.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/301_GlobalIlluminationPerfFullLightLayers.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:19e28ac0e894404d694c9ac70855755fe01596769ad3d1e8a618cd523c40baa1 -size 361133 +oid sha256:c915acc99222d8eaff5f616e73c52e3927ec16ffdc5222b514b6fc2a8192c91a +size 362643 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/302_GlobalIlluminationPerfHalf.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/302_GlobalIlluminationPerfHalf.png index b6fa1eb3960..c08fdd11aa4 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/302_GlobalIlluminationPerfHalf.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/302_GlobalIlluminationPerfHalf.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:22a623d6cd18e742f05b84e5abec8af9fe248d98581dcc5cbb0f4ef66f5aef8d -size 227119 +oid sha256:94239f6906e437ae4bc1cfbcb2dfd316f0d91cc739b7d484981562e0be339589 +size 227028 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQuality.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQuality.png index 49245b9d140..c54993febee 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQuality.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQuality.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:b0f7eb25079d2f05d572abab210fef261e9820c88ba1e67d06fce1af33b78bdb -size 672991 +oid sha256:ab38a36f4f46b4d7070770c0f7323448020d89b75c51652bfc7f839f7f3f7ebb +size 688124 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQualityExposure.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQualityExposure.png index c22ec1688b7..e864e636c77 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQualityExposure.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/303_GlobalIlluminationQualityExposure.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:cd7f7ad43ce24544092a6b60b30658071cce98b0992c8d79c43d448ae44b6694 -size 530981 +oid sha256:998d5d3abcf50dea89437afdf5784732a8c193a2f0ec82e3231e14157b272d0d +size 544417 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/304_GlobalIlluminationDenoised1.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/304_GlobalIlluminationDenoised1.png index cfb9894f3aa..ec0090af04f 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/304_GlobalIlluminationDenoised1.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/304_GlobalIlluminationDenoised1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8b6c8ccffa6d9939daed78f1e48cff9ceddcbb7ebe9dd54ab1d8ebf883564f30 -size 309630 +oid sha256:ff8febf9968f80f8a16c1238f670ad6ec71c09fcb3eb97e121dd3c346d3222cb +size 309926 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/305_GlobalIlluminationDenoisedHalf1.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/305_GlobalIlluminationDenoisedHalf1.png index 817b8a3f392..99fde4d39fc 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/305_GlobalIlluminationDenoisedHalf1.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/305_GlobalIlluminationDenoisedHalf1.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f7ef2da9edb0956984360c7e00007070cdb1a560ae294a571bc206b4a1f7c4a6 -size 421597 +oid sha256:8bb0aec08c9cbcb69860e4b5729882a3c1567efbbbd2b4cacae40c3723867579 +size 422208 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/306_GlobalIlluminationDenoised2.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/306_GlobalIlluminationDenoised2.png index 51b3dab5d77..8adf817fda8 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/306_GlobalIlluminationDenoised2.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/306_GlobalIlluminationDenoised2.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5ed85f83e27272f6b8c946a6ca845825091a73e4069ddd187389e487a11f414a -size 234357 +oid sha256:be309f9f58a02961717529add87c8cdc5718f68e952ca7489bbae309d9b6c0fd +size 232705 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/307_GlobalIlluminationFog.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/307_GlobalIlluminationFog.png index d6f652c0974..6097c409b43 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/307_GlobalIlluminationFog.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/307_GlobalIlluminationFog.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:a6b70e182df13076e4336f110e0d3afc16bcd7da48f345c58f0940b5eb5708ee -size 229934 +oid sha256:65aef5e4a310a9585c4eb06adefdf2a2e1355e3e9dfad0be4a5ea0c72eb1c249 +size 229396 From 04e30007099590acbf6f77c072b8acc078dd471c Mon Sep 17 00:00:00 2001 From: Anis Benyoub Date: Thu, 9 Sep 2021 14:12:31 +0200 Subject: [PATCH 19/30] Removed unused pass --- ...rPipeline.ScreenSpaceGlobalIllumination.cs | 91 +------------------ .../ScreenSpaceGlobalIllumination.compute | 50 +--------- .../RaytracingIndirectDiffuse.compute | 4 - 3 files changed, 2 insertions(+), 143 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs index 3d0cbc80939..2867a04def8 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs @@ -358,92 +358,6 @@ TextureHandle UpscaleSSGI(RenderGraph renderGraph, HDCamera hdCamera, GlobalIllu } } - class ConvertSSGIPassData - { - // Camera parameters - public int texWidth; - public int texHeight; - public int viewCount; - - // Compute Shader - public ComputeShader ssGICS; - public int convertKernel; - public ComputeBuffer offsetBuffer; - - // Prepass buffers - public TextureHandle depthTexture; - public TextureHandle stencilBuffer; - public TextureHandle normalBuffer; - - // Input buffers - public TextureHandle inputBuffer; - - // Output buffer - public TextureHandle outputBuffer; - } - - TextureHandle ConvertSSGI(RenderGraph renderGraph, HDCamera hdCamera, bool fullResolution, - TextureHandle depthPyramid, TextureHandle stencilBuffer, TextureHandle normalBuffer, - TextureHandle inputBuffer) - { - using (var builder = renderGraph.AddRenderPass("Convert SSGI", out var passData, ProfilingSampler.Get(HDProfileId.SSGIConvert))) - { - builder.EnableAsyncCompute(false); - - // Set the camera parameters - if (fullResolution) - { - passData.texWidth = hdCamera.actualWidth; - passData.texHeight = hdCamera.actualHeight; - } - else - { - passData.texWidth = hdCamera.actualWidth / 2; - passData.texHeight = hdCamera.actualHeight / 2; - } - passData.viewCount = hdCamera.viewCount; - - // Grab the right kernel - passData.ssGICS = m_Asset.renderPipelineResources.shaders.screenSpaceGlobalIlluminationCS; - passData.convertKernel = fullResolution ? m_ConvertSSGIKernel : m_ConvertSSGIHalfKernel; - - passData.offsetBuffer = m_DepthBufferMipChainInfo.GetOffsetBufferData(m_DepthPyramidMipLevelOffsetsBuffer); - - passData.depthTexture = builder.ReadTexture(depthPyramid); - passData.stencilBuffer = builder.ReadTexture(stencilBuffer); - passData.normalBuffer = builder.ReadTexture(normalBuffer); - passData.inputBuffer = builder.ReadWriteTexture(inputBuffer); - // Output buffer - passData.outputBuffer = builder.WriteTexture(renderGraph.CreateTexture(new TextureDesc(Vector2.one, true, true) - { colorFormat = GraphicsFormat.R16G16B16A16_SFloat, enableRandomWrite = true, name = "SSGI Converted" })); - - builder.SetRenderFunc( - (ConvertSSGIPassData data, RenderGraphContext ctx) => - { - // Re-evaluate the dispatch parameters (we are evaluating the upsample in full resolution) - int ssgiTileSize = 8; - int numTilesXHR = (data.texWidth + (ssgiTileSize - 1)) / ssgiTileSize; - int numTilesYHR = (data.texHeight + (ssgiTileSize - 1)) / ssgiTileSize; - - // Scalars - ctx.cmd.SetComputeIntParams(data.ssGICS, HDShaderIDs._SsrStencilBit, (int)StencilUsage.TraceReflectionRay); - - // Prepass data - ctx.cmd.SetComputeTextureParam(data.ssGICS, data.convertKernel, HDShaderIDs._DepthTexture, data.depthTexture); - ctx.cmd.SetComputeTextureParam(data.ssGICS, data.convertKernel, HDShaderIDs._NormalBufferTexture, data.normalBuffer); - ctx.cmd.SetComputeTextureParam(data.ssGICS, data.convertKernel, HDShaderIDs._StencilTexture, data.stencilBuffer, 0, RenderTextureSubElement.Stencil); - ctx.cmd.SetComputeBufferParam(data.ssGICS, data.convertKernel, HDShaderIDs._DepthPyramidMipLevelOffsets, data.offsetBuffer); - - ctx.cmd.SetComputeTextureParam(data.ssGICS, data.convertKernel, HDShaderIDs._IndirectDiffuseTexture, data.inputBuffer); - - ctx.cmd.SetComputeTextureParam(data.ssGICS, data.convertKernel, HDShaderIDs._IndirectDiffuseTextureRW, data.outputBuffer); - - ctx.cmd.DispatchCompute(data.ssGICS, data.convertKernel, numTilesXHR, numTilesYHR, data.viewCount); - }); - return passData.outputBuffer; - } - } - TextureHandle DenoiseSSGI(RenderGraph renderGraph, HDCamera hdCamera, TextureHandle rtGIBuffer, TextureHandle depthPyramid, TextureHandle normalBuffer, TextureHandle motionVectorBuffer, TextureHandle historyValidationTexture, bool fullResolution) { var giSettings = hdCamera.volumeStack.GetComponent(); @@ -526,13 +440,10 @@ TextureHandle RenderSSGI(RenderGraph renderGraph, HDCamera hdCamera, // Denoise the result TextureHandle denoisedSSGI = DenoiseSSGI(renderGraph, hdCamera, colorBuffer, depthPyramid, normalBuffer, motionVectorsBuffer, historyValidationTexture, giSettings.fullResolutionSS.value); - // Convert back the result to RGB space - colorBuffer = ConvertSSGI(renderGraph, hdCamera, giSettings.fullResolutionSS.value, depthPyramid, stencilBuffer, normalBuffer, denoisedSSGI); - // Upscale it if required // If this was a half resolution effect, we still have to upscale it if (!giSettings.fullResolutionSS.value) - colorBuffer = UpscaleSSGI(renderGraph, hdCamera, giSettings, info, depthPyramid, colorBuffer); + colorBuffer = UpscaleSSGI(renderGraph, hdCamera, giSettings, info, depthPyramid, denoisedSSGI); return colorBuffer; } diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute index 0642d952dee..885359ed244 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute @@ -25,8 +25,6 @@ #pragma kernel TraceGlobalIlluminationHalf TRACE_GLOBAL_ILLUMINATION=TraceGlobalIlluminationHalf GI_TRACE HALF_RES #pragma kernel ReprojectGlobalIllumination REPROJECT_GLOBAL_ILLUMINATION=ReprojectGlobalIllumination GI_REPROJECT #pragma kernel ReprojectGlobalIlluminationHalf REPROJECT_GLOBAL_ILLUMINATION=ReprojectGlobalIlluminationHalf GI_REPROJECT HALF_RES -#pragma kernel ConvertSSGI CONVERT_SSGI=ConvertSSGI -#pragma kernel ConvertSSGIHalf CONVERT_SSGI=ConvertSSGIHalf HALF_RES #pragma multi_compile PROBE_VOLUMES_OFF PROBE_VOLUMES_L1 PROBE_VOLUMES_L2 @@ -38,9 +36,6 @@ #define SSGI_CLAMP_VALUE 7.0f -// Disabled for now -//#define PERCEPTUAL_SPACE - // Input depth pyramid texture TEXTURE2D_X(_DepthTexture); // Stencil buffer of the current frame @@ -303,51 +298,8 @@ void REPROJECT_GLOBAL_ILLUMINATION(uint3 dispatchThreadId : SV_DispatchThreadID, // Convert back to HSV space color = HsvToRgb(color); - // We tone map the signal. Due to the very small budget for denoising, we need to compress the range of the signal before denoising - #ifdef PERCEPTUAL_SPACE - color *= rcp(1.0 + color); - #endif - // We are simply interested to know if the intersected pixel was moving, so we multiply it by a big number // TODO: make this process not binary // Write the output to the target pixel _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = float4(color, 1.0f); -} - - -[numthreads(INDIRECT_DIFFUSE_TILE_SIZE, INDIRECT_DIFFUSE_TILE_SIZE, 1)] -void CONVERT_SSGI(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID, uint2 groupId : SV_GroupID) -{ - UNITY_XR_ASSIGN_VIEW_INDEX(dispatchThreadId.z); - - // Fetch the current pixel coordinate - uint2 currentCoord = dispatchThreadId.xy; - - // If the depth of this pixel is the depth of the background, we can end the process right away -#if HALF_RES - currentCoord = currentCoord * 2; -#endif - - // Fetch the depth of the current pixel - float deviceDepth = LOAD_TEXTURE2D_X(_DepthTexture, currentCoord).x; - - if (deviceDepth == UNITY_RAW_FAR_CLIP_VALUE) - { - _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = float4(0.0, 0.0, 0.0, 0.0); - return; - } - - // Grab the color value - float3 color = LOAD_TEXTURE2D_X(_IndirectDiffuseTexture, dispatchThreadId.xy).xyz; - - // We invert the tonemap - #ifdef PERCEPTUAL_SPACE - color *= rcp(1.0 - color); - #endif - - // In the future mixing this with light probes should increase significantly the image quality. - float validityMask = 1.0f; - - // Output the color as well as the blend factor - _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = float4(color, validityMask); -} +} \ No newline at end of file diff --git a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute index 6ddffeaa1c5..d2fdf69cd15 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/RenderPipeline/Raytracing/Shaders/IndirectDiffuse/RaytracingIndirectDiffuse.compute @@ -32,10 +32,6 @@ TEXTURE2D_X(_DepthTexture); RW_TEXTURE2D_X(float4, _RaytracingDirectionBuffer); -// Flag value that defines if a given pixel recieves reflections or not -TEXTURE2D_X_UINT2(_StencilTexture); -int _SsrStencilBit; - [numthreads(RAYTRACING_INDIRECT_DIFFUSE_TILE_SIZE, RAYTRACING_INDIRECT_DIFFUSE_TILE_SIZE, 1)] void RaytracingIndirectDiffuseHalfRes(uint3 dispatchThreadId : SV_DispatchThreadID, uint2 groupThreadId : SV_GroupThreadID, uint2 groupId : SV_GroupID) { From c220e8cc2e938ba59135ab094e490b816ba00ff6 Mon Sep 17 00:00:00 2001 From: Anis Benyoub Date: Thu, 9 Sep 2021 14:38:16 +0200 Subject: [PATCH 20/30] woops --- .../HDRenderPipeline.ScreenSpaceGlobalIllumination.cs | 4 ---- 1 file changed, 4 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs index 2867a04def8..7599324acac 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/HDRenderPipeline.ScreenSpaceGlobalIllumination.cs @@ -11,8 +11,6 @@ public partial class HDRenderPipeline int m_ReprojectGlobalIlluminationKernel; int m_ReprojectGlobalIlluminationHalfKernel; int m_BilateralUpSampleColorKernel; - int m_ConvertSSGIKernel; - int m_ConvertSSGIHalfKernel; void InitScreenSpaceGlobalIllumination() { @@ -28,8 +26,6 @@ void InitScreenSpaceGlobalIllumination() m_ReprojectGlobalIlluminationKernel = ssGICS.FindKernel("ReprojectGlobalIllumination"); m_ReprojectGlobalIlluminationHalfKernel = ssGICS.FindKernel("ReprojectGlobalIlluminationHalf"); m_BilateralUpSampleColorKernel = bilateralUpsampleCS.FindKernel("BilateralUpSampleColor"); - m_ConvertSSGIKernel = ssGICS.FindKernel("ConvertSSGI"); - m_ConvertSSGIHalfKernel = ssGICS.FindKernel("ConvertSSGIHalf"); } } From 7738276f64db3e2bb8a3e9cbd28fe3330b01f636 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 15:35:14 +0200 Subject: [PATCH 21/30] Update all emissive screenshots --- .../Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png | 4 ++-- .../Linear/OSXEditor/Metal/None/2011_AllEmissive.png | 4 ++-- .../Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png | 4 ++-- .../Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png | 4 ++-- .../Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png | 4 ++-- 5 files changed, 10 insertions(+), 10 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png index 51b617131bf..239ed5c4f77 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/LinuxEditor/Vulkan/None/2011_AllEmissive.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f66b2bc28453feb7f396ff8363128f3364289ce8977372721773c97861f9f12d -size 141609 +oid sha256:1dcd4743c81806e8e09577780391eea3b89e472e50459e20a78d89a1ad74be4b +size 136631 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png index 5b3571d9655..f4f3cf9231e 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2011_AllEmissive.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0a8604a35ad0f2bc25bd23411991379c9df6db770d6f81233ca1186cf6667280 -size 142124 +oid sha256:d8c86dd038810035977f9498c2ff13a94932a12470e4bef05ed303fea1de8fee +size 136706 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png index fe3913b7d2c..239ed5c4f77 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D11/None/2011_AllEmissive.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8de14adc656bca1e4aeb4bb9dfd4fd009c9b4748861eb0172e5066d4b1b6a071 -size 142644 +oid sha256:1dcd4743c81806e8e09577780391eea3b89e472e50459e20a78d89a1ad74be4b +size 136631 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png index fe3913b7d2c..01c33925a8f 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2011_AllEmissive.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:8de14adc656bca1e4aeb4bb9dfd4fd009c9b4748861eb0172e5066d4b1b6a071 -size 142644 +oid sha256:1b1026a56f6e34fd15e4b1781be83a173ce7e6ff67cd7f6f6f1509243262a0a0 +size 136632 diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png index 51b617131bf..239ed5c4f77 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Vulkan/None/2011_AllEmissive.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:f66b2bc28453feb7f396ff8363128f3364289ce8977372721773c97861f9f12d -size 141609 +oid sha256:1dcd4743c81806e8e09577780391eea3b89e472e50459e20a78d89a1ad74be4b +size 136631 From 312ee3464f32cadaebb1308af1311584776a543e Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 19:10:45 +0200 Subject: [PATCH 22/30] Update documentation --- .../CHANGELOG.md | 1 + .../Documentation~/Override-Screen-Space-GI.md | 9 --------- .../Upgrading-from-2021.1-to-2021.2.md | 14 +++++--------- .../Documentation~/snippets/tracing-modes.md | 17 ++++++++++++++++- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 7 +++---- .../Runtime/Material/Lit/Lit.hlsl | 6 ------ .../Runtime/Material/Lit/SimpleLit.hlsl | 6 ------ 7 files changed, 25 insertions(+), 35 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/CHANGELOG.md b/com.unity.render-pipelines.high-definition/CHANGELOG.md index c204f51602a..a98e169bf36 100644 --- a/com.unity.render-pipelines.high-definition/CHANGELOG.md +++ b/com.unity.render-pipelines.high-definition/CHANGELOG.md @@ -15,6 +15,7 @@ and this project adheres to [Semantic Versioning](http://semver.org/spec/v2.0.0. - Fixed specular occlusion sharpness and over darkening at grazing angles. - Fixed edge bleeding when rendering volumetric clouds. - Fixed the way we are handling emissive for SSGI/RTGI/Mixed and APV and remove ForceForwardEmissive code +- Fixed EmissiveLighting Debug Light mode not managing correctly emissive for unlit ### changed - Visual Environment ambient mode is now Dynamic by default. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 38e208b6ed3..226d42accf6 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -75,12 +75,3 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and ### Screen-space global illumination Limitation * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. - -### Ray-traced global illumination Limitation - -* Currently, ray tracing in HDRP does not support [decals](decal.md). This means that ray-traced global illumination does not affect decals in your Scene. -* Emissive decals do not contribute to global illumination because HDRP renders them later in the render pipeline. - - ### Mixed global illumination - -* The Mixed tracing mode is only useful if Lit shader mode is Deferred and have the same limitation than Ray Tracing mode. Otherwise it is the same than Ray Tracing mode. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md index 287157cb722..729e90f3ffd 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Upgrading-from-2021.1-to-2021.2.md @@ -6,15 +6,6 @@ In the High Definition Render Pipeline (HDRP), some features work differently be The following shader code behaviour has changed slightly for HDRP version 12.x -### Ambient occlusion for probe volume global illumination - -From HDRP2021.2, when you apply ambient occlusion (AO) on a deferred Material to probe volume global illumination (GI) you need to define the following in the Material script: - -* A `HAS_PAYLOAD_WITH_UNINIT_GI` constant -* A `float GetUninitializedGIPayload(SurfaceData surfaceData)` function that returns the AO factor that you want to apply. - -You don't need to do anything differently for forward only Materials. - ### Decals Decals in HDRP have changed in the following ways: @@ -52,6 +43,11 @@ HDRP 2021.2 includes the new `ClearFlag.Stencil` function. Use this to clear all From HDRP 2021.2, `ClearFlag.Depth` does not clear stencils. +### Remove of Receive SSGI flags + +From HDRP2021.2, it is no longer required to use the receive SSGI flags to have Emissive compatible with Screen Space Global Illumination and related. +For this reasons the receive SSGI flags have been removed and is no longer available. + ## HDRP Global Settings HDRP 2021.2 introduces a new HDRP Global Settings Asset which saves all settings that are unrelated to which HDRP Asset is active. diff --git a/com.unity.render-pipelines.high-definition/Documentation~/snippets/tracing-modes.md b/com.unity.render-pipelines.high-definition/Documentation~/snippets/tracing-modes.md index 8c9379d31cf..b4c43c6bd26 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/snippets/tracing-modes.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/snippets/tracing-modes.md @@ -8,7 +8,7 @@ The properties visible in the Inspector change depending on the option you selec ### Mixed tracing -This option uses ray marching to intersect on-screen geometry and uses ray tracing to intersect off-screen geometry. This enables HDRP to include on-screen opaque particles, vertex animations, and decals when it processes the effect. This option only works in [Performance mode](../Ray-Tracing-Getting-Started.md#ray-tracing-mode). +This option uses ray marching to intersect on-screen geometry and uses ray tracing to intersect off-screen geometry. This enables HDRP to include on-screen opaque particles, vertex animations, and decals when it processes the effect. This option only works in [Performance mode](../Ray-Tracing-Getting-Started.md#ray-tracing-mode) and with Lit Shader Mode setup to Deferred. In mixed tracing mode, HDRP processes screen-space ray marching in the GBuffer. This means that it can only use GameObjects rendered using the [deferred](../Forward-And-Deferred-Rendering.md) rendering path. For example, HDRP renders transparent GameObjects in the forward rendering path which means they do not appear in the GBuffer and thus not in effects that use mixed tracing. @@ -25,3 +25,18 @@ In mixed tracing mode, HDRP still uses ray tracing for any geometry inside the r ![](../Images/mixed-tracing-ray-traced-no-deform.png) *This is the Scene from the perspective of the ray tracing mode. See how the original, non-deformed, cliff face geometry hides the rock and bush that were on the right-hand side of the Scene.* + +### Tracing Modes Limitation + +#### Ray Marching + +* Transparent Emissive Material are taken into account only when Rendering Pass is set to "Before Refraction". + +#### Ray Tracing + +* Transparent Emissive Material are not taken into account. +* No [decals](decal.md) are supported including Emissive Decals. + +#### Mixed Tracing + +* The Mixed tracing mode is only useful if Lit shader mode is Deferred and have the same limitation than Ray Tracing mode. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index 8a4ee3bead6..f130d2c13a3 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -396,10 +396,9 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS // Then in the lightloop in below code we will evalaute APV or read the indirectDiffuseTexture to fill bakeDiffuseLighting. // We will then just do all the regular step we do with bakeDiffuseLighting in PostInitBuiltinData() // No code change is required to handle AO, it is the same for all path. - // Note: With current approach, Decals Emissive aren't taken into account by RTGI and by the Mixed method. - // Note2: With current approach, Transparent Emissive works with SSGI and RTGI but can cause artifact with Mixed (RayMarch part could get a hit and thus avoid Raytrace path) - // Note3: Forward opaque emissive work in all cases. The current code flow with Emissive store in GBuffer3 is only to manage the case of Opaque Lit Material with Emissive in case of deferred - // Note4: Only APV can handle backFace lighting, all other effects are front face only. + // Note: Decals Emissive and Transparent Emissve aren't taken into account by RTGI/Mixed. + // Forward opaque emissive work in all cases. The current code flow with Emissive store in GBuffer3 is only to manage the case of Opaque Lit Material with Emissive in case of deferred + // Only APV can handle backFace lighting, all other effects are front face only. // If we use SSGI/RTGI/Mixed effect, we are fully replacing the value of builtinData.bakeDiffuseLighting which is 0 at this step. // If we are APV we only replace the non lightmaps part. diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index f8f773170b7..693edbede45 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -203,12 +203,6 @@ float GetAmbientOcclusionForMicroShadowing(BSDFData bsdfData) return sourceAO; } -#define HAS_PAYLOAD_WITH_UNINIT_GI -float GetUninitializedGIPayload(SurfaceData surfaceData) -{ - return surfaceData.ambientOcclusion; -} - #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightDefinition.cs.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/Reflection/VolumeProjection.hlsl" #include "Packages/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceTracing.hlsl" diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/SimpleLit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/SimpleLit.hlsl index b420caa939d..0748c7e8119 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/SimpleLit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/SimpleLit.hlsl @@ -42,12 +42,6 @@ float GetAmbientOcclusionForMicroShadowing(BSDFData bsdfData) return 1.0; // Don't do microshadowing for simpleLit } -#define HAS_PAYLOAD_WITH_UNINIT_GI -float GetUninitializedGIPayload(SurfaceData surfaceData) -{ - return surfaceData.ambientOcclusion; -} - // This function is similar to ApplyDebugToSurfaceData but for BSDFData void ApplyDebugToBSDFData(inout BSDFData bsdfData) { From 0525a3c5aba614f5a1c1b3f5925e85194b0be352 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 19:12:26 +0200 Subject: [PATCH 23/30] Formatting --- .../ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute index 885359ed244..5a9c81382ee 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/ScreenSpaceLighting/ScreenSpaceGlobalIllumination.compute @@ -302,4 +302,4 @@ void REPROJECT_GLOBAL_ILLUMINATION(uint3 dispatchThreadId : SV_DispatchThreadID, // TODO: make this process not binary // Write the output to the target pixel _IndirectDiffuseTextureRW[COORD_TEXTURE2D_X(dispatchThreadId.xy)] = float4(color, 1.0f); -} \ No newline at end of file +} From 260cbf546158e3112c792b65649a089cb0b0bea8 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Thu, 9 Sep 2021 19:45:16 +0200 Subject: [PATCH 24/30] Fixe screenshots --- ...1000_RaytracingQualityKeyword_MaterialQuality_Indirect.png | 4 ++-- .../None/2000_Debug_ScreenSpaceGlobalIllumination.png | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_MaterialQuality_Indirect.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_MaterialQuality_Indirect.png index e2f96bba87b..e1eb5af9a11 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_MaterialQuality_Indirect.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/1000_RaytracingQualityKeyword_MaterialQuality_Indirect.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5fb48fa7d68da0a8f3cb7014af815f2024cc8889714c3ea0ff3d507f85f2e7f9 -size 424863 +oid sha256:a9a4cd79b305700bbe0ae528ad68d80c269ca004f3f763472954e61b280d8aed +size 405329 diff --git a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2000_Debug_ScreenSpaceGlobalIllumination.png b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2000_Debug_ScreenSpaceGlobalIllumination.png index 34ab72e0bca..a903e2e9df8 100644 --- a/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2000_Debug_ScreenSpaceGlobalIllumination.png +++ b/TestProjects/HDRP_DXR_Tests/Assets/ReferenceImages/Linear/WindowsEditor/Direct3D12/None/2000_Debug_ScreenSpaceGlobalIllumination.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:9a778d7e6d667cfecd5abd6a1fbefd6303d9649a63fac38a69c9f06d6cabbe60 -size 877743 +oid sha256:ead342e9cf2bb163f8e4837b0aeeb78b029450db0247e6b5c179ca19b740b3ed +size 932891 From f8055b735043dfad9b04e33fc1b539f405476ebb Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Sep 2021 14:57:39 +0200 Subject: [PATCH 25/30] small fix for debug view of GBuffer --- .../Runtime/Debug/DebugViewMaterialGBuffer.shader | 4 +++- .../Runtime/Material/Lit/Lit.hlsl | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader index 0af8fa010d2..f38d5a0b6bb 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader @@ -84,7 +84,9 @@ Shader "Hidden/HDRP/DebugViewMaterialGBuffer" else if (bufferIndex == DEBUGVIEWGBUFFER_BAKE_DIFFUSE_LIGHTING_WITH_ALBEDO_PLUS_EMISSIVE) { result = builtinData.bakeDiffuseLighting; - result *= GetCurrentExposureMultiplier(); + #define AO_IN_GBUFFER3_TAG float3((1 << 11), 1, (1 << 10)) + if (!all(gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz)) + result *= GetInverseCurrentExposureMultiplier(); needLinearToSRGB = true; } #ifdef SHADOWS_SHADOWMASK diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index 693edbede45..b6c8d42c119 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -942,7 +942,7 @@ uint DecodeFromGBuffer(uint2 positionSS, uint tileFeatureFlags, out BSDFData bsd // This cause quality issue because it prevent us to combine it correctly with SSAO (i.e min(SSAO, AO)) + SSAO is apply on emissive // As explain in encoding step for SSGI/RTGI/Mixed and APV not using lightmap, we rely on a hack to retrieve AO // Then we could use the regular path (like in Forward) and get correct rendering. - if (all(gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz)) + if (all(gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz)) //Note: this check is duplicate in debugViewMaterialGBuffer.shader bsdfData.ambientOcclusion = gbuffer3.y; else { From 87778e434058ab23a38eb6df9f2066e8fa88ce34 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Sep 2021 16:56:01 +0200 Subject: [PATCH 26/30] Update Override-Screen-Space-GI.md --- .../Documentation~/Override-Screen-Space-GI.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 226d42accf6..5888a94b020 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -75,3 +75,5 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and ### Screen-space global illumination Limitation * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. +* When lit shader mode is setup to deferred the Ambient Occlusion from Lit shader will be combine with Screen space Ambient Occlusion (if it is enabled) and apply on the indirect lighting result where there is no Emissive contribution. This is similar behavior than rendering with lit shader mode setup to forward. If the Material have an emissive contribution then Ambient Occlusion is setup to one. + From 2a3754b709fcc4e624151001e13b9ee34ba1467b Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Sep 2021 19:07:28 +0200 Subject: [PATCH 27/30] Add programmer documentation in code --- .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 23 +++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index f130d2c13a3..ef0e50e6407 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -385,6 +385,29 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS } #endif + //--------------------------------------- + // Sum up of operations on indirect diffuse lighting + // Let's define SSGI as SSGI/RTGI/Mixed or APV without lightmaps + // Let's define GI as Lightmaps/Lightprobe/APV with lightmaps + + // By default we do those operations in deferred + // GBuffer pass : GI * AO + Emissive -> lightingbuffer + // Lightloop : indirectDiffuse = lightingbuffer; indirectDiffuse * SSAO + // Note that SSAO is apply on emissive in this case and we have double occlusion between AO and SSAO on indirectDiffuse + + // By default we do those operation in forward + // Lightloop : indirectDiffuse = GI; indirectDiffuse * min(AO, SSAO) + Emissive + + // With any SSGI effect we are performing those operations in deferred + // GBuffer pass : Emissive == 0 ? AmbientOcclusion -> EncodeIn(lightingbuffer) : Emissive -> lightingbuffer + // Lightloop : indirectDiffuse = SSGI; Emissive = lightingbuffer; AmbientOcclusion = Extract(lightingbuffer) or 1.0; + // indirectDiffuse * min(AO, SSAO) + Emissive + // Note that mean that we have the same behavior than forward path if Emissive is 0 + + // With any SSGI effect we are performing those operations in Forward + // Lightloop : indirectDiffuse = SSGI; indirectDiffuse * min(AO, SSAO) + Emissive + //--------------------------------------- + // Explanation about APV and SSGI/RTGI/Mixed effects steps in the rendering pipeline. // All effects will output only Emissive inside the lighting buffer (gbuffer3) in case of deferred (For APV this is done only if we are not a lightmap). // The Lightmaps/Lightprobes contribution is 0 for those cases. Code enforce it in SampleBakedGI(). The remaining code of Material pass (and the debug code) From ec221edb1df5ed885bfdef935a50ed086ac9539d Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Fri, 10 Sep 2021 22:09:10 +0200 Subject: [PATCH 28/30] Formatting --- .../Documentation~/Override-Screen-Space-GI.md | 1 - .../Runtime/Lighting/LightLoop/LightLoop.hlsl | 2 +- .../Runtime/Material/Lit/Lit.hlsl | 1 - 3 files changed, 1 insertion(+), 3 deletions(-) diff --git a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md index 5888a94b020..fb2d8375b53 100644 --- a/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md +++ b/com.unity.render-pipelines.high-definition/Documentation~/Override-Screen-Space-GI.md @@ -76,4 +76,3 @@ HDRP uses the [Volume](Volumes.md) framework to calculate SSGI, so to enable and * When rendering [Reflection Probes](Reflection-Probe.md) screen space global illumination is not supported. * When lit shader mode is setup to deferred the Ambient Occlusion from Lit shader will be combine with Screen space Ambient Occlusion (if it is enabled) and apply on the indirect lighting result where there is no Emissive contribution. This is similar behavior than rendering with lit shader mode setup to forward. If the Material have an emissive contribution then Ambient Occlusion is setup to one. - diff --git a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl index ef0e50e6407..190b4559d5b 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Lighting/LightLoop/LightLoop.hlsl @@ -427,7 +427,7 @@ void LightLoop( float3 V, PositionInputs posInput, PreLightData preLightData, BS // If we are APV we only replace the non lightmaps part. bool replaceBakeDiffuseLighting = false; #if defined(PROBE_VOLUMES_L1) || defined(PROBE_VOLUMES_L2) - float3 lightInReflDir = float3(-1, -1, -1); // This variable is used with APV for tinting reflection probe - see code for LIGHTFEATUREFLAGS_ENV + float3 lightInReflDir = float3(-1, -1, -1); // This variable is used with APV for reflection probe normalization - see code for LIGHTFEATUREFLAGS_ENV #endif #if !defined(_SURFACE_TYPE_TRANSPARENT) // No SSGI/RTGI/Mixed effect on transparent diff --git a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl index b6c8d42c119..f391c7bf599 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl +++ b/com.unity.render-pipelines.high-definition/Runtime/Material/Lit/Lit.hlsl @@ -706,7 +706,6 @@ void EncodeIntoGBuffer( SurfaceData surfaceData #ifdef LIGHT_LAYERS // Note: we need to mask out only 8bits of the layer mask before encoding it as otherwise any value > 255 will map to all layers active - // If light layers is available, we take the opportunity to store AO in it to improve quality of indirect lighting with APV/SSGI/RTGI/Mixed OUT_GBUFFER_LIGHT_LAYERS = float4(0.0, 0.0, 0.0, (builtinData.renderingLayers & 0x000000FF) / 255.0); #endif From bfa23e55c64c741f8cc6a1a4fa041d645b92a597 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Sun, 12 Sep 2021 14:30:52 +0200 Subject: [PATCH 29/30] Update DebugViewMaterialGBuffer.shader --- .../Runtime/Debug/DebugViewMaterialGBuffer.shader | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader index f38d5a0b6bb..d7573e04e64 100644 --- a/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader +++ b/com.unity.render-pipelines.high-definition/Runtime/Debug/DebugViewMaterialGBuffer.shader @@ -85,7 +85,7 @@ Shader "Hidden/HDRP/DebugViewMaterialGBuffer" { result = builtinData.bakeDiffuseLighting; #define AO_IN_GBUFFER3_TAG float3((1 << 11), 1, (1 << 10)) - if (!all(gbuffer3.xz == AO_IN_GBUFFER3_TAG.xz)) + if (!all(result.xz == AO_IN_GBUFFER3_TAG.xz)) result *= GetInverseCurrentExposureMultiplier(); needLinearToSRGB = true; } From 901985199405202776fe8a45245091c5d93adb47 Mon Sep 17 00:00:00 2001 From: Sebastien Lagarde Date: Sun, 12 Sep 2021 18:47:41 +0200 Subject: [PATCH 30/30] Update 2505_Area_Light_ShadowMask_Baking.png --- .../Metal/None/2505_Area_Light_ShadowMask_Baking.png | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2505_Area_Light_ShadowMask_Baking.png b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2505_Area_Light_ShadowMask_Baking.png index 13216ea5c04..048dd3284fb 100644 --- a/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2505_Area_Light_ShadowMask_Baking.png +++ b/TestProjects/HDRP_Tests/Assets/ReferenceImages/Linear/OSXEditor/Metal/None/2505_Area_Light_ShadowMask_Baking.png @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:296d3596c3504a3be38fdb0459df9aa0415aa4279cc6ab8eabd79b1f2aead821 -size 136986 +oid sha256:78988b202e4aaf08d27ca213efa45bc2621d7485a53d43ef9ad5c0f50c2549d7 +size 137217