diff --git a/.gitignore b/.gitignore index af8e1747..3d928c3d 100644 --- a/.gitignore +++ b/.gitignore @@ -25,3 +25,6 @@ libCesiumForUnityNative-*.so.meta libCesiumForUnityNative-*.dylib libCesiumForUnityNative-*.dylib.meta Documentation~/Reference/ +bin.meta +obj.meta + diff --git a/CHANGES.md b/CHANGES.md index fa69a783..98634e39 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -6,6 +6,8 @@ - Added an option to `Cesium3DTileset` to enable tangent generation on the CPU for any tiles that are missing them. +- Flat normals are now generated in the pixel shader when rendering lit models that do not include normals. + ## v1.18.0 - 2025-09-02 ##### Additions :tada: diff --git a/Runtime/Resources/CesiumDefaultTilesetMaterial.mat b/Runtime/Resources/CesiumDefaultTilesetMaterial.mat index 2f9b4d27..51299739 100644 --- a/Runtime/Resources/CesiumDefaultTilesetMaterial.mat +++ b/Runtime/Resources/CesiumDefaultTilesetMaterial.mat @@ -23,13 +23,15 @@ Material: m_Name: CesiumDefaultTilesetMaterial m_Shader: {fileID: -6465566751694194690, guid: 407c0cff68611ac46a65eec87a5203f5, type: 3} + m_Parent: {fileID: 0} + m_ModifiedSerializedProperties: 0 m_ValidKeywords: - _ALPHATEST_ON - _BUILTIN_ALPHATEST_ON - _BUILTIN_AlphaClip + m_InvalidKeywords: - _DISABLE_SSR_TRANSPARENT - _DOUBLESIDED_ON - m_InvalidKeywords: [] m_LightmapFlags: 2 m_EnableInstancingVariants: 0 m_DoubleSidedGI: 1 @@ -43,6 +45,7 @@ Material: - TransparentBackface - RayTracingPrepass - MOTIONVECTORS + m_LockedProperties: m_SavedProperties: serializedVersion: 3 m_TexEnvs: @@ -101,7 +104,7 @@ Material: - _AlphaCutoffEnable: 1 - _AlphaDstBlend: 0 - _AlphaSrcBlend: 1 - - _AlphaToMask: 0 + - _AlphaToMask: 1 - _AlphaToMaskInspectorValue: 0 - _BUILTIN_AlphaClip: 1 - _BUILTIN_Blend: 0 @@ -116,6 +119,7 @@ Material: - _BUILTIN_ZWriteControl: 0 - _Blend: 0 - _BlendMode: 0 + - _BlendModePreserveSpecular: 0 - _CastShadows: 1 - _ConservativeDepthOffsetEnable: 0 - _Cull: 0 @@ -168,6 +172,7 @@ Material: - _ZWrite: 1 - _ZWriteControl: 0 - _baseColorTextureCoordinateIndex: 0 + - _computeFlatNormals: 0 - _emissiveTextureCoordinateIndex: 0 - _metallicRoughnessTextureCoordinateIndex: 0 - _normalMapScale: 0 @@ -222,4 +227,4 @@ MonoBehaviour: m_Script: {fileID: 11500000, guid: d0353a89b1f911e48b9e16bdc9f2e058, type: 3} m_Name: m_EditorClassIdentifier: - version: 5 + version: 7 diff --git a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph index 2dc62129..b49bcab1 100644 --- a/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph +++ b/Runtime/Resources/CesiumDefaultTilesetShader.shadergraph @@ -113,6 +113,9 @@ }, { "m_Id": "c369ad6ca064434fbb046fb6d2bca6a4" + }, + { + "m_Id": "6cb1312b5f6141b9ba8b8f67370dbf8f" } ], "m_Keywords": [], @@ -452,6 +455,54 @@ }, { "m_Id": "5fef7f4d4afb4fa9a428dfc4eb653dc5" + }, + { + "m_Id": "c86d6ff811944260a0a178bd87667660" + }, + { + "m_Id": "a45a227e5fc24030b7373e4822cb23a5" + }, + { + "m_Id": "16187569ba8647619aeff7c78cd44bf0" + }, + { + "m_Id": "26b50b73d7584d738ec741528e3919d2" + }, + { + "m_Id": "a4e96b8e69b44e7f9214b41558530c06" + }, + { + "m_Id": "cd790485106e402fa8d831c299674502" + }, + { + "m_Id": "1e024566d590460c9716e8bcdcba2ece" + }, + { + "m_Id": "54089ffc784c48d8aa0a8a5eca7a846a" + }, + { + "m_Id": "873faf653391473781711c89bc29e2f5" + }, + { + "m_Id": "868a96f538664302a00f6880cbb29ca8" + }, + { + "m_Id": "17ca69882cb74acebe447d1023d2c4f8" + }, + { + "m_Id": "d3804c5f98964b87b2c5dffacb400873" + }, + { + "m_Id": "8ebc5517f6f24cd8ae0a0c78ab7049be" + }, + { + "m_Id": "7b77e46038904eb3addc679d4d6a4e06" + }, + { + "m_Id": "55c3767d21cb4c1ca90d4ccb4da6f02d" + }, + { + "m_Id": "a61374c3ecf943f79e1c1c86664c457d" } ], "m_GroupDatas": [ @@ -475,6 +526,9 @@ }, { "m_Id": "17fca4c4bf154cdfb4da09cd13cad27c" + }, + { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" } ], "m_StickyNoteDatas": [ @@ -549,7 +603,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "a308cd02a0b642a786cb6ed1aeb208a6" + "m_Id": "d3804c5f98964b87b2c5dffacb400873" }, "m_SlotId": 0 } @@ -694,6 +748,20 @@ "m_SlotId": 1 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "17ca69882cb74acebe447d1023d2c4f8" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "868a96f538664302a00f6880cbb29ca8" + }, + "m_SlotId": 2 + } + }, { "m_OutputSlot": { "m_Node": { @@ -722,6 +790,20 @@ "m_SlotId": 1843696189 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "1e024566d590460c9716e8bcdcba2ece" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "54089ffc784c48d8aa0a8a5eca7a846a" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -820,6 +902,48 @@ "m_SlotId": -1177420189 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "26b50b73d7584d738ec741528e3919d2" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "17ca69882cb74acebe447d1023d2c4f8" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "26b50b73d7584d738ec741528e3919d2" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "3a08d0a60405435fa92432d670b09f6d" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "26b50b73d7584d738ec741528e3919d2" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -969,7 +1093,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "d12188a9cb824131bf5ec7a1ca5a2ee6" + "m_Id": "55c3767d21cb4c1ca90d4ccb4da6f02d" }, "m_SlotId": 0 } @@ -1030,6 +1154,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "54089ffc784c48d8aa0a8a5eca7a846a" + }, + "m_SlotId": 2 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "873faf653391473781711c89bc29e2f5" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1137,7 +1275,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" + "m_Id": "26b50b73d7584d738ec741528e3919d2" }, "m_SlotId": 0 } @@ -1324,6 +1462,20 @@ "m_SlotId": 2 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "873faf653391473781711c89bc29e2f5" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "868a96f538664302a00f6880cbb29ca8" + }, + "m_SlotId": 1 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1562,6 +1714,34 @@ "m_SlotId": -1906785015 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a4e96b8e69b44e7f9214b41558530c06" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "1e024566d590460c9716e8bcdcba2ece" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "a4e96b8e69b44e7f9214b41558530c06" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "cd790485106e402fa8d831c299674502" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1585,7 +1765,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "3a08d0a60405435fa92432d670b09f6d" + "m_Id": "c86d6ff811944260a0a178bd87667660" }, "m_SlotId": 0 } @@ -1851,7 +2031,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "350ba852757d40bab5b55c9841ef5c9f" + "m_Id": "7b77e46038904eb3addc679d4d6a4e06" }, "m_SlotId": 0 } @@ -1870,6 +2050,20 @@ "m_SlotId": -590019148 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "cd790485106e402fa8d831c299674502" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "54089ffc784c48d8aa0a8a5eca7a846a" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -1991,7 +2185,7 @@ }, "m_InputSlot": { "m_Node": { - "m_Id": "15b4aee3e1aa4be1a43a4f138e704d3e" + "m_Id": "8ebc5517f6f24cd8ae0a0c78ab7049be" }, "m_SlotId": 0 } @@ -2164,7 +2358,7 @@ "m_Id": "3a08d0a60405435fa92432d670b09f6d" }, { - "m_Id": "2eacb23513544fc097cb3007f3134d97" + "m_Id": "16187569ba8647619aeff7c78cd44bf0" }, { "m_Id": "e5ca7bb83a9d4a5b99c6b17e8aa77844" @@ -2175,6 +2369,9 @@ { "m_Id": "15b4aee3e1aa4be1a43a4f138e704d3e" }, + { + "m_Id": "2eacb23513544fc097cb3007f3134d97" + }, { "m_Id": "350ba852757d40bab5b55c9841ef5c9f" }, @@ -2205,6 +2402,7 @@ "m_OutputNode": { "m_Id": "" }, + "m_SubDatas": [], "m_ActiveTargets": [ { "m_Id": "b775f4bce7404108b3fedfee711c3cef" @@ -2261,6 +2459,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2307,6 +2506,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2338,6 +2538,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "0345a43c2c8f4eac90eb7f4108bff2d2", + "m_Id": 0, + "m_DisplayName": "A", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "A", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -2436,6 +2659,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2479,6 +2703,27 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "056e3a1e943142b883d32081411c68d2", + "m_Id": 0, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -2564,6 +2809,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2770,6 +3016,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2865,6 +3112,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -2886,6 +3134,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0dd2d0b033d04d11a56641e96fc3eb61", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -2964,10 +3236,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1017.9999389648438, - "y": 551.5999755859375, - "width": 291.60015869140627, - "height": 168.4000244140625 + "x": 678.0000610351563, + "y": 586.0, + "width": 291.0, + "height": 167.0 } }, "m_Slots": [ @@ -2990,6 +3262,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3011,6 +3284,30 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "0f8f01f462e04f4b9e7fe455b1504343", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -3087,6 +3384,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3160,13 +3458,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -3219,6 +3519,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3255,10 +3556,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 766.0, - "y": 115.2000503540039, - "width": 233.19989013671876, - "height": 35.19995880126953 + "x": 463.00006103515627, + "y": 145.9999542236328, + "width": 232.99993896484376, + "height": 33.99998474121094 } }, "m_Slots": [ @@ -3269,6 +3570,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3319,6 +3621,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3355,6 +3658,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3369,10 +3673,67 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "16ed5c2aefda4053b8943d68ad332161", + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "1617b92e449d4875832609f993ad55bd", "m_Id": 0, - "m_DisplayName": "Alpha", + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BlockNode", + "m_ObjectId": "16187569ba8647619aeff7c78cd44bf0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "SurfaceDescription.NormalWS", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2805.0, + "y": 813.9999389648438, + "width": 200.0, + "height": 41.00006103515625 + } + }, + "m_Slots": [ + { + "m_Id": "d33958b64eee481cba013a159a037553" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedDescriptor": "SurfaceDescription.NormalWS" +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "16ed5c2aefda4053b8943d68ad332161", + "m_Id": 0, + "m_DisplayName": "Alpha", "m_SlotType": 0, "m_Hidden": false, "m_ShaderOutputName": "Alpha", @@ -3408,6 +3769,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3457,6 +3819,55 @@ "m_Labels": [] } +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.ShaderGraph.TransformNode", + "m_ObjectId": "17ca69882cb74acebe447d1023d2c4f8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Transform", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2209.0, + "y": 421.0, + "width": 211.0, + "height": 157.0 + } + }, + "m_Slots": [ + { + "m_Id": "7223713d8434430b88305717a077e3d4" + }, + { + "m_Id": "7adee16ed2d44efba1c5e2f5ad976014" + } + ], + "synonyms": [ + "world", + "tangent", + "object", + "view", + "screen", + "convert" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Conversion": { + "from": 3, + "to": 2 + }, + "m_ConversionType": 2, + "m_Normalize": true +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -3487,8 +3898,8 @@ "m_ObjectId": "17fca4c4bf154cdfb4da09cd13cad27c", "m_Title": "Clipping", "m_Position": { - "x": 515.9998779296875, - "y": 493.2000732421875 + "x": 176.0, + "y": 527.0 } } @@ -3531,6 +3942,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -3606,6 +4018,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "1acd7866149a4fd5a54f169caa7c2420", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -3687,6 +4123,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3726,10 +4163,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 768.39990234375, - "y": -74.79998779296875, - "width": 235.2000732421875, - "height": 35.19995880126953 + "x": 465.00006103515627, + "y": -44.00001907348633, + "width": 234.99993896484376, + "height": 33.99998474121094 } }, "m_Slots": [ @@ -3740,6 +4177,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3749,6 +4187,44 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DDXNode", + "m_ObjectId": "1e024566d590460c9716e8bcdcba2ece", + "m_Group": { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" + }, + "m_Name": "DDX", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1732.9998779296875, + "y": -15.000000953674317, + "width": 132.0001220703125, + "height": 93.99998474121094 + } + }, + "m_Slots": [ + { + "m_Id": "3832ae7f3bbe4a4f80e65deaacab2104" + }, + { + "m_Id": "d9a4f4f3136d44dabc16a4720d580cc3" + } + ], + "synonyms": [ + "derivative" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -3843,7 +4319,7 @@ "m_Type": "UnityEditor.Rendering.BuiltIn.ShaderGraph.BuiltInLitSubTarget", "m_ObjectId": "20740110e1fb46628c47c4b4d310a9d0", "m_WorkflowMode": 1, - "m_NormalDropOffSpace": 0 + "m_NormalDropOffSpace": 2 } { @@ -3872,6 +4348,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -3928,13 +4405,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -3952,6 +4431,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "22d571d16d7048cf982e26d2190ab6fd", + "m_Id": 1, + "m_DisplayName": "True", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "True", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0, + "z": 1.0, + "w": 1.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -3992,6 +4495,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4077,10 +4581,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 753.6000366210938, - "y": -176.0, - "width": 252.39984130859376, - "height": 35.20001220703125 + "x": 450.9999694824219, + "y": -145.0000457763672, + "width": 252.00009155273438, + "height": 33.999977111816409 } }, "m_Slots": [ @@ -4091,6 +4595,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4100,6 +4605,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "26b50b73d7584d738ec741528e3919d2", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2087.0, + "y": 1002.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "7f67489942b0433baa7d1789d4aa3914" + }, + { + "m_Id": "0dd2d0b033d04d11a56641e96fc3eb61" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 1, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector4ShaderProperty", @@ -4115,6 +4656,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4157,6 +4699,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4169,6 +4712,20 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "2935a7606408494db10a33c7ad8b11ef", + "m_Id": 0, + "m_DisplayName": "Predicate", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Predicate", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -4199,6 +4756,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -4243,6 +4801,29 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "2c5e6032210744f3a9846a47e3f8b7da", + "m_Id": 2, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.StickyNoteData", @@ -4290,7 +4871,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -4361,6 +4942,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4405,6 +4987,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4475,10 +5058,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 541.199951171875, - "y": 776.7999877929688, - "width": 120.0, - "height": 150.0001220703125 + "x": 201.0000762939453, + "y": 810.9998779296875, + "width": 120.00001525878906, + "height": 149.0 } }, "m_Slots": [ @@ -4503,6 +5086,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4597,6 +5181,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4633,6 +5218,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4685,6 +5271,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4791,6 +5378,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4813,12 +5401,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -4827,6 +5416,30 @@ "m_DefaultType": 1 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3832ae7f3bbe4a4f80e65deaacab2104", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -4889,13 +5502,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -4910,10 +5525,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 748.800048828125, - "y": 15.19998550415039, - "width": 250.79998779296876, - "height": 35.2000617980957 + "x": 445.9999084472656, + "y": 45.99993133544922, + "width": 250.00009155273438, + "height": 33.99998474121094 } }, "m_Slots": [ @@ -4924,6 +5539,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -4980,6 +5596,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5068,10 +5685,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 753.9999389648438, - "y": 229.99996948242188, - "width": 252.4000244140625, - "height": 35.2000732421875 + "x": 450.9999694824219, + "y": 260.9999084472656, + "width": 252.00009155273438, + "height": 34.000091552734378 } }, "m_Slots": [ @@ -5082,6 +5699,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5226,6 +5844,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5250,19 +5869,43 @@ { "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", - "m_ObjectId": "3fdf27bb0900409384b2cc2ef6742f83", - "m_Id": -1906785015, - "m_DisplayName": "Scale", - "m_SlotType": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "3f6433de9dc74c0fb4778dd84f00be9c", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, "m_Hidden": false, - "m_ShaderOutputName": "_Scale", + "m_ShaderOutputName": "Out", "m_StageCapability": 3, "m_Value": { - "x": 1.0, - "y": 1.0 - }, - "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "3fdf27bb0900409384b2cc2ef6742f83", + "m_Id": -1906785015, + "m_DisplayName": "Scale", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "_Scale", + "m_StageCapability": 3, + "m_Value": { + "x": 1.0, + "y": 1.0 + }, + "m_DefaultValue": { "x": 0.0, "y": 0.0 }, @@ -5295,6 +5938,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5316,10 +5960,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1533.2000732421875, - "y": 551.5999755859375, - "width": 208.800048828125, - "height": 279.20001220703127 + "x": 1192.9998779296875, + "y": 586.0, + "width": 208.0001220703125, + "height": 277.9998779296875 } }, "m_Slots": [ @@ -5337,6 +5981,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5368,6 +6013,54 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "41a28500f64b45f488a9ecbcfaf8bc50", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "43072fe92cf84dd3b03a066e33859666", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -5419,6 +6112,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5441,6 +6135,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "4414fcd211ab4608919304f20b76243c", + "m_Id": 2, + "m_DisplayName": "False", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "False", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -5468,7 +6186,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -5607,6 +6325,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5628,12 +6347,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -5753,13 +6473,15 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 } { @@ -5851,12 +6573,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -5902,6 +6625,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -5949,6 +6673,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6056,6 +6781,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6106,6 +6832,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6127,6 +6854,47 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CrossProductNode", + "m_ObjectId": "54089ffc784c48d8aa0a8a5eca7a846a", + "m_Group": { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" + }, + "m_Name": "Cross Product", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1903.0, + "y": -90.00000762939453, + "width": 129.9998779296875, + "height": 118.0 + } + }, + "m_Slots": [ + { + "m_Id": "0345a43c2c8f4eac90eb7f4108bff2d2" + }, + { + "m_Id": "96e8262fab4d4bf7b5e27c3cf60edfe2" + }, + { + "m_Id": "2c5e6032210744f3a9846a47e3f8b7da" + } + ], + "synonyms": [ + "perpendicular" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -6153,6 +6921,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6234,6 +7003,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "55c3767d21cb4c1ca90d4ccb4da6f02d", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2617.84326171875, + "y": 1264.01416015625, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "c7645b59b1914d6bb6f6c3440e8c4a21" + }, + { + "m_Id": "43072fe92cf84dd3b03a066e33859666" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", @@ -6246,9 +7051,9 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1685.9998779296875, - "y": 902.7999267578125, - "width": 56.0001220703125, + "x": 1346.0, + "y": 936.9999389648438, + "width": 56.0, "height": 24.0 } }, @@ -6263,6 +7068,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6306,6 +7112,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6373,8 +7180,32 @@ "m_ObjectId": "589f4e11412a4cbb90d671b22e237450", "m_Title": "glTF Base Color", "m_Position": { - "x": -1873.9998779296875, - "y": 177.5999755859375 + "x": -1874.0003662109375, + "y": 176.99998474121095 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "59765d44558c41fa9b629c3f17827036", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 } } @@ -6393,6 +7224,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6420,6 +7252,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6495,10 +7328,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1376.800048828125, - "y": 551.5999755859375, - "width": 120.0001220703125, - "height": 150.0 + "x": 1037.0, + "y": 586.0, + "width": 120.0, + "height": 148.99981689453126 } }, "m_Slots": [ @@ -6523,6 +7356,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6565,6 +7399,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -6675,6 +7510,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6682,6 +7518,23 @@ "m_SerializedDescriptor": "SurfaceDescription.BentNormal" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "5ffd14815b66416bb60f6f35066d6b58", + "m_Id": 2, + "m_DisplayName": "Y", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "Y", + "m_StageCapability": 3, + "m_Value": 1.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "Y" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -6758,7 +7611,8 @@ ], "synonyms": [], "m_Precision": 0, - "m_PreviewExpanded": false, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6872,6 +7726,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -6887,6 +7742,30 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "65450cc01587401f8dc3382299d0aa58", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", @@ -7002,6 +7881,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7044,6 +7924,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7217,6 +8098,9 @@ }, { "m_Id": "7de6510c684046cb8ace0a0049c1c2f7" + }, + { + "m_Id": "6cb1312b5f6141b9ba8b8f67370dbf8f" } ] } @@ -7259,8 +8143,8 @@ "m_ObjectId": "69cd55544d0c4d0398f9591b9fbe134d", "m_Title": "glTF PBR Metallic-Roughness", "m_Position": { - "x": -1865.199951171875, - "y": 1582.39990234375 + "x": -1865.0003662109375, + "y": 1692.0 } } @@ -7315,6 +8199,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.BooleanShaderProperty", + "m_ObjectId": "6cb1312b5f6141b9ba8b8f67370dbf8f", + "m_Guid": { + "m_GuidSerialized": "b1876fc9-1b52-4a75-b2fe-b4d4663660ba" + }, + "m_Name": "computeFlatNormals", + "m_DefaultRefNameVersion": 1, + "m_RefNameGeneratedByDisplayName": "computeFlatNormals", + "m_DefaultReferenceName": "_computeFlatNormals", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_UseCustomSlotLabel": false, + "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, + "m_Precision": 0, + "overrideHLSLDeclaration": false, + "hlslDeclarationOverride": 0, + "m_Hidden": false, + "m_Value": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -7389,6 +8296,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7478,6 +8386,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7490,6 +8399,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "70085e4a30eb4851a811ee51f0349dec", + "m_Id": 3, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7541,6 +8474,29 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7223713d8434430b88305717a077e3d4", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Texture2DInputMaterialSlot", @@ -7553,7 +8509,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -7636,6 +8592,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7657,10 +8614,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 678.800048828125, - "y": 780.800048828125, - "width": 270.39984130859377, - "height": 35.2000732421875 + "x": 339.0000305175781, + "y": 814.9998779296875, + "width": 270.0000305175781, + "height": 34.0001220703125 } }, "m_Slots": [ @@ -7671,6 +8628,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7680,6 +8638,20 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BooleanMaterialSlot", + "m_ObjectId": "747b5e14d51943908c079338ba677faf", + "m_Id": 0, + "m_DisplayName": "computeFlatNormals", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": false, + "m_DefaultValue": false +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", @@ -7692,10 +8664,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 639.2000122070313, - "y": -200.00001525878907, - "width": 55.99993896484375, - "height": 24.000015258789064 + "x": 336.0, + "y": -169.0000457763672, + "width": 56.00006103515625, + "height": 24.0 } }, "m_Slots": [ @@ -7709,12 +8681,37 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "74e497239e8b4bc48385b05b0d44cdb0", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DShaderProperty", @@ -7730,12 +8727,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -7772,6 +8770,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7799,6 +8798,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -7874,6 +8874,65 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7adee16ed2d44efba1c5e2f5ad976014", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "7b77e46038904eb3addc679d4d6a4e06", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2636.09375, + "y": 1151.4693603515625, + "width": 0.0, + "height": 0.0 + } + }, + "m_Slots": [ + { + "m_Id": "af80c5605f4f4026b349a36fe72d6815" + }, + { + "m_Id": "0f8f01f462e04f4b9e7fe455b1504343" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", @@ -7903,6 +8962,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -7966,6 +9026,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7c05808747144c63ad13f3594f695885", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "In", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -7993,10 +9077,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 765.199951171875, - "y": 352.8000183105469, - "width": 234.79998779296876, - "height": 35.199951171875 + "x": 462.00006103515627, + "y": 383.99993896484377, + "width": 233.99993896484376, + "height": 34.00006103515625 } }, "m_Slots": [ @@ -8007,6 +9091,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8031,6 +9116,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8043,6 +9129,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "7f67489942b0433baa7d1789d4aa3914", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -8069,6 +9179,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8160,6 +9271,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8185,12 +9297,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -8287,6 +9400,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8342,6 +9456,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -8403,12 +9518,13 @@ } { - "m_SGVersion": 0, + "m_SGVersion": 2, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalLitSubTarget", "m_ObjectId": "84c4a27cc281482e826d5ff5910c3594", "m_WorkflowMode": 1, - "m_NormalDropOffSpace": 0, - "m_ClearCoat": false + "m_NormalDropOffSpace": 2, + "m_ClearCoat": false, + "m_BlendModePreserveSpecular": false } { @@ -8499,6 +9615,52 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.BranchNode", + "m_ObjectId": "868a96f538664302a00f6880cbb29ca8", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Branch", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2440.0, + "y": 304.0, + "width": 172.000244140625, + "height": 142.00006103515626 + } + }, + "m_Slots": [ + { + "m_Id": "2935a7606408494db10a33c7ad8b11ef" + }, + { + "m_Id": "22d571d16d7048cf982e26d2190ab6fd" + }, + { + "m_Id": "4414fcd211ab4608919304f20b76243c" + }, + { + "m_Id": "70085e4a30eb4851a811ee51f0349dec" + } + ], + "synonyms": [ + "switch", + "if", + "else" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", @@ -8561,6 +9723,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8584,6 +9747,42 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalizeNode", + "m_ObjectId": "873faf653391473781711c89bc29e2f5", + "m_Group": { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" + }, + "m_Name": "Normalize", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2070.0, + "y": -89.00003051757813, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "7c05808747144c63ad13f3594f695885" + }, + { + "m_Id": "3f6433de9dc74c0fb4778dd84f00be9c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -8610,6 +9809,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8631,10 +9831,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1059.2000732421875, - "y": -16.800052642822267, - "width": 291.599853515625, - "height": 168.39999389648438 + "x": 756.0000610351563, + "y": 13.999963760375977, + "width": 291.00006103515627, + "height": 166.99998474121095 } }, "m_Slots": [ @@ -8657,6 +9857,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8772,6 +9973,21 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "895f4e7e43f24e62842e75418d591896", + "m_Id": 1, + "m_DisplayName": "X", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "X", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -8840,6 +10056,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8881,6 +10098,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -8928,6 +10146,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9003,6 +10222,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9103,6 +10323,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9149,6 +10370,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "8ebc5517f6f24cd8ae0a0c78ab7049be", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2635.0, + "y": 1068.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "41a28500f64b45f488a9ecbcfaf8bc50" + }, + { + "m_Id": "65450cc01587401f8dc3382299d0aa58" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.DynamicValueMaterialSlot", @@ -9223,6 +10480,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9256,6 +10514,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "90e18ccc8e9240a791ea2a3616fb9a15", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -9283,8 +10565,8 @@ "m_ObjectId": "9152a890faa84cd7b266b944cf210185", "m_Title": "glTF Emissive Texture", "m_Position": { - "x": -1864.8001708984375, - "y": 2352.39990234375 + "x": -1865.0003662109375, + "y": 2352.0 } } @@ -9300,10 +10582,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1059.2000732421875, - "y": -241.99998474121095, - "width": 291.599853515625, - "height": 168.39993286132813 + "x": 756.0000610351563, + "y": -211.0, + "width": 291.00006103515627, + "height": 166.99998474121095 } }, "m_Slots": [ @@ -9326,6 +10608,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9402,12 +10685,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -9445,6 +10729,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9460,6 +10745,29 @@ "m_DropdownSelectedEntries": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "96e8262fab4d4bf7b5e27c3cf60edfe2", + "m_Id": 1, + "m_DisplayName": "B", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "B", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 1.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -9496,6 +10804,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -9549,6 +10858,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9644,6 +10954,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9679,6 +10990,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9724,6 +11036,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -9783,6 +11096,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9807,6 +11121,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 2, @@ -9831,7 +11146,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -9863,6 +11178,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9949,6 +11265,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -9985,6 +11302,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10016,6 +11334,42 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "a45a227e5fc24030b7373e4822cb23a5", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2102.0, + "y": 263.0, + "width": 186.0, + "height": 34.000030517578128 + } + }, + "m_Slots": [ + { + "m_Id": "747b5e14d51943908c079338ba677faf" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "6cb1312b5f6141b9ba8b8f67370dbf8f" + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -10037,6 +11391,43 @@ "m_Labels": [] } +{ + "m_SGVersion": 1, + "m_Type": "UnityEditor.ShaderGraph.PositionNode", + "m_ObjectId": "a4e96b8e69b44e7f9214b41558530c06", + "m_Group": { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" + }, + "m_Name": "Position", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1478.0, + "y": -80.0, + "width": 206.0, + "height": 130.99996948242188 + } + }, + "m_Slots": [ + { + "m_Id": "1617b92e449d4875832609f993ad55bd" + } + ], + "synonyms": [ + "location" + ], + "m_Precision": 1, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 2, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Space": 2, + "m_PositionSource": 0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -10088,6 +11479,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10113,11 +11505,59 @@ "z": 0.0, "w": 0.0 }, - "m_DefaultValue": { + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2Node", + "m_ObjectId": "a61374c3ecf943f79e1c1c86664c457d", + "m_Group": { + "m_Id": "dbd4e9568a614874b25288e2229220e7" + }, + "m_Name": "Vector 2", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -1286.0, + "y": 1624.0, + "width": 128.0, + "height": 101.0 + } + }, + "m_Slots": [ + { + "m_Id": "895f4e7e43f24e62842e75418d591896" + }, + { + "m_Id": "5ffd14815b66416bb60f6f35066d6b58" + }, + { + "m_Id": "056e3a1e943142b883d32081411c68d2" + } + ], + "synonyms": [ + "2", + "v2", + "vec2", + "float2" + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Value": { "x": 0.0, - "y": 0.0, - "z": 0.0, - "w": 0.0 + "y": 0.0 } } @@ -10271,6 +11711,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10372,12 +11813,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -10422,6 +11864,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -10470,10 +11913,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1059.2000732421875, - "y": 203.20004272460938, - "width": 291.599853515625, - "height": 168.39999389648438 + "x": 756.0000610351563, + "y": 233.99998474121095, + "width": 291.00006103515627, + "height": 166.99989318847657 } }, "m_Slots": [ @@ -10496,6 +11939,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10645,6 +12089,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10692,6 +12137,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "af80c5605f4f4026b349a36fe72d6815", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -10732,12 +12201,13 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, "m_Hidden": false, "m_Value": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "isMainTexture": false, @@ -10834,6 +12304,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10891,6 +12362,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10973,6 +12445,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -10991,10 +12464,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 826.7999267578125, - "y": 65.20001983642578, - "width": 173.20001220703126, - "height": 35.199951171875 + "x": 523.9999389648438, + "y": 95.99994659423828, + "width": 173.00006103515626, + "height": 33.999977111816409 } }, "m_Slots": [ @@ -11005,6 +12478,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11081,6 +12555,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11159,6 +12634,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11277,6 +12753,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11318,6 +12795,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11399,6 +12877,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11468,6 +12947,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11495,10 +12975,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 1840.800048828125, - "y": 567.2000122070313, - "width": 208.80029296875, - "height": 303.20001220703127 + "x": 1501.0, + "y": 600.9999389648438, + "width": 208.0001220703125, + "height": 302.00006103515627 } }, "m_Slots": [ @@ -11519,6 +12999,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11537,10 +13018,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 831.5999145507813, - "y": -123.99998474121094, - "width": 174.800048828125, - "height": 35.199951171875 + "x": 529.0, + "y": -93.0000228881836, + "width": 174.00006103515626, + "height": 33.99998092651367 } }, "m_Slots": [ @@ -11551,6 +13032,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11600,6 +13082,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11635,6 +13118,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11667,6 +13151,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11689,6 +13174,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11813,6 +13299,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "c7645b59b1914d6bb6f6c3440e8c4a21", + "m_Id": 0, + "m_DisplayName": "", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -11828,6 +13338,42 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "c86d6ff811944260a0a178bd87667660", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2631.0, + "y": 759.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "90e18ccc8e9240a791ea2a3616fb9a15" + }, + { + "m_Id": "fbb2451cd5314016b6d393d841afef4c" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -11861,10 +13407,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 748.39990234375, - "y": 722.3999633789063, - "width": 210.400146484375, - "height": 35.2000732421875 + "x": 408.0, + "y": 756.0, + "width": 209.99993896484376, + "height": 33.9998779296875 } }, "m_Slots": [ @@ -11875,6 +13421,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -11914,6 +13461,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -11953,7 +13501,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -11999,6 +13547,44 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DDYNode", + "m_ObjectId": "cd790485106e402fa8d831c299674502", + "m_Group": { + "m_Id": "f7e5f5a0f03449efa9830a4491cf162f" + }, + "m_Name": "DDY", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 1730.9998779296875, + "y": -135.00001525878907, + "width": 132.0, + "height": 94.0 + } + }, + "m_Slots": [ + { + "m_Id": "59765d44558c41fa9b629c3f17827036" + }, + { + "m_Id": "74e497239e8b4bc48385b05b0d44cdb0" + } + ], + "synonyms": [ + "derivative" + ], + "m_Precision": 0, + "m_PreviewExpanded": false, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -12174,6 +13760,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12207,6 +13794,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12216,6 +13804,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.NormalMaterialSlot", + "m_ObjectId": "d33958b64eee481cba013a159a037553", + "m_Id": 0, + "m_DisplayName": "Normal (World Space)", + "m_SlotType": 0, + "m_Hidden": false, + "m_ShaderOutputName": "NormalWS", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0 + }, + "m_Labels": [], + "m_Space": 2 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SampleTexture2DNode", @@ -12263,13 +13875,51 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] }, "m_TextureType": 0, "m_NormalMapSpace": 0, - "m_EnableGlobalMipBias": true + "m_EnableGlobalMipBias": true, + "m_MipSamplingMode": 0 +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.RedirectNodeData", + "m_ObjectId": "d3804c5f98964b87b2c5dffacb400873", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Redirect Node", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 2636.0, + "y": 1024.0, + "width": 56.0, + "height": 24.0 + } + }, + "m_Slots": [ + { + "m_Id": "1acd7866149a4fd5a54f169caa7c2420" + }, + { + "m_Id": "f9304aa7ea0f4f12b95ec8ecb052a6c7" + } + ], + "synonyms": [], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_DismissedVersion": 0, + "m_PreviewMode": 0, + "m_CustomColors": { + "m_SerializableColors": [] + } } { @@ -12314,10 +13964,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 678.800048828125, - "y": 670.3999633789063, - "width": 287.9998779296875, - "height": 35.2000732421875 + "x": 339.0000305175781, + "y": 704.0, + "width": 287.9999694824219, + "height": 33.9998779296875 } }, "m_Slots": [ @@ -12328,6 +13978,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12470,6 +14121,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 2, "m_CustomColors": { "m_SerializableColors": [] @@ -12491,6 +14143,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12503,6 +14156,30 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "d9a4f4f3136d44dabc16a4720d580cc3", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 2, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.SplitNode", @@ -12543,6 +14220,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12555,8 +14233,8 @@ "m_ObjectId": "da5f26e4dc7649dbae635a3bcb0ac50b", "m_Title": "glTF Ambient Occlusion", "m_Position": { - "x": -1869.599853515625, - "y": 3075.2001953125 + "x": -1869.0, + "y": 3088.999755859375 } } @@ -12657,6 +14335,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -12669,8 +14348,8 @@ "m_ObjectId": "dbd4e9568a614874b25288e2229220e7", "m_Title": "glTF Normal Texture", "m_Position": { - "x": -1868.4000244140625, - "y": 947.2000122070313 + "x": -1868.0003662109375, + "y": 947.0000610351563 } } @@ -12702,6 +14381,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -12726,7 +14406,7 @@ "m_StageCapability": 2, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -12805,7 +14485,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -12844,6 +14524,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13009,6 +14690,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13105,6 +14787,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13139,6 +14822,7 @@ "m_SGVersion": 1, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", "m_ObjectId": "e5345877026f422cb9787a73aef331b2", + "m_Datas": [], "m_ActiveSubTarget": { "m_Id": "84c4a27cc281482e826d5ff5910c3594" }, @@ -13151,6 +14835,7 @@ "m_AlphaClip": true, "m_CastShadows": true, "m_ReceiveShadows": true, + "m_SupportsLODCrossFade": false, "m_CustomEditorGUI": "", "m_SupportVFX": false } @@ -13181,6 +14866,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13214,6 +14900,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13400,6 +15087,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": false, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13487,6 +15175,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13524,6 +15213,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13648,6 +15338,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13731,6 +15422,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13771,8 +15463,8 @@ "m_Theme": 0, "m_Position": { "serializedVersion": "2", - "x": 536.3999633789063, - "y": -332.3999938964844, + "x": 233.0, + "y": -301.0, "width": 140.0, "height": 100.0 }, @@ -13817,10 +15509,10 @@ "m_Expanded": true, "m_Position": { "serializedVersion": "2", - "x": 824.3998413085938, - "y": 288.4000244140625, - "width": 174.800048828125, - "height": 35.199951171875 + "x": 520.9999389648438, + "y": 319.0, + "width": 174.00006103515626, + "height": 33.999969482421878 } }, "m_Slots": [ @@ -13831,6 +15523,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13887,6 +15580,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, @@ -13927,6 +15621,7 @@ "synonyms": [], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -13948,12 +15643,23 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.GroupData", + "m_ObjectId": "f7e5f5a0f03449efa9830a4491cf162f", + "m_Title": "Compute Flat Normals", + "m_Position": { + "x": 1453.0, + "y": -194.00001525878907 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2Node", @@ -13991,6 +15697,7 @@ ], "m_Precision": 0, "m_PreviewExpanded": true, + "m_DismissedVersion": 0, "m_PreviewMode": 0, "m_CustomColors": { "m_SerializableColors": [] @@ -14016,6 +15723,30 @@ "m_Labels": [] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f9304aa7ea0f4f12b95ec8ecb052a6c7", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + } +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector4MaterialSlot", @@ -14053,7 +15784,7 @@ "m_StageCapability": 3, "m_BareResource": false, "m_Texture": { - "m_SerializedTexture": "{\"texture\":{\"instanceID\":0}}", + "m_SerializedTexture": "", "m_Guid": "" }, "m_DefaultType": 0 @@ -14095,8 +15826,32 @@ "m_ObjectId": "fb5719d9c5c74100943dcfd4d0eb6eb7", "m_Title": "Raster Overlays", "m_Position": { - "x": 511.2000427246094, - "y": -390.7999572753906 + "x": 208.0, + "y": -360.0000305175781 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "fbb2451cd5314016b6d393d841afef4c", + "m_Id": 1, + "m_DisplayName": "", + "m_SlotType": 1, + "m_Hidden": false, + "m_ShaderOutputName": "", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0, + "z": 0.0, + "w": 0.0 } } @@ -14162,6 +15917,7 @@ "m_GeneratePropertyBlock": true, "m_UseCustomSlotLabel": false, "m_CustomSlotLabel": "", + "m_DismissedVersion": 0, "m_Precision": 0, "overrideHLSLDeclaration": false, "hlslDeclarationOverride": 0, diff --git a/native~/Runtime/package.json b/native~/Runtime/package.json index cdf812d2..8a640630 100644 --- a/native~/Runtime/package.json +++ b/native~/Runtime/package.json @@ -26,6 +26,10 @@ }, "homepage": "https://github.com/CesiumGS/cesium-unity#readme", "devDependencies": { - "clang-format": "^1.8.0" + "clang-format": "^1.5.0" + }, + "dependencies": { + "clang-tidy": "^19.1.1", + "format": "^0.2.2" } } diff --git a/native~/Runtime/src/TilesetMaterialProperties.cpp b/native~/Runtime/src/TilesetMaterialProperties.cpp index 0eb7deaf..c55be2da 100644 --- a/native~/Runtime/src/TilesetMaterialProperties.cpp +++ b/native~/Runtime/src/TilesetMaterialProperties.cpp @@ -82,6 +82,8 @@ const std::string "_overlayTextureCoordinateIndex_"; const std::string TilesetMaterialProperties::_overlayTranslationAndScalePrefix = "_overlayTranslationAndScale_"; +const std::string TilesetMaterialProperties::_computeFlatNormalsName = + "_computeFlatNormals"; #pragma endregion @@ -132,6 +134,8 @@ TilesetMaterialProperties::TilesetMaterialProperties() Shader::PropertyToID(System::String(_normalMapTextureRotationName))), _occlusionTextureRotationID( Shader::PropertyToID(System::String(_occlusionTextureRotationName))), + _computeFlatNormalsID( + Shader::PropertyToID(System::String(_computeFlatNormalsName))), _overlayTextureCoordinateIndexIDs(), _overlayTextureIDs(), _overlayTranslationAndScaleIDs() {} diff --git a/native~/Runtime/src/TilesetMaterialProperties.h b/native~/Runtime/src/TilesetMaterialProperties.h index f8533465..632f69f6 100644 --- a/native~/Runtime/src/TilesetMaterialProperties.h +++ b/native~/Runtime/src/TilesetMaterialProperties.h @@ -85,6 +85,9 @@ class TilesetMaterialProperties { const int32_t getOcclusionTextureRotationID() const noexcept { return this->_occlusionTextureRotationID; } + const int32_t getComputeFlatNormalsID() const noexcept { + return this->_computeFlatNormalsID; + } const std::optional getOverlayTextureCoordinateIndexID(const std::string& key) const noexcept; @@ -128,6 +131,8 @@ class TilesetMaterialProperties { int32_t _normalMapTextureRotationID; int32_t _occlusionTextureRotationID; + int32_t _computeFlatNormalsID; + std::unordered_map _overlayTextureCoordinateIndexIDs; std::unordered_map _overlayTextureIDs; std::unordered_map _overlayTranslationAndScaleIDs; @@ -166,6 +171,8 @@ class TilesetMaterialProperties { static const std::string _overlayTexturePrefix; static const std::string _overlayTextureCoordinateIndexPrefix; static const std::string _overlayTranslationAndScalePrefix; + + static const std::string _computeFlatNormalsName; }; } // namespace CesiumForUnityNative diff --git a/native~/Runtime/src/UnityPrepareRendererResources.cpp b/native~/Runtime/src/UnityPrepareRendererResources.cpp index 92f0c119..909082e9 100644 --- a/native~/Runtime/src/UnityPrepareRendererResources.cpp +++ b/native~/Runtime/src/UnityPrepareRendererResources.cpp @@ -101,34 +101,6 @@ std::vector generateIndices(const int32_t count) { return syntheticIndexBuffer; } -template -void computeFlatNormals( - uint8_t* pWritePos, - size_t stride, - TIndex* indices, - int32_t indexCount, - const AccessorView& positionView) { - - for (int i = 0; i < indexCount; i += 3) { - TIndex i0 = indices[i]; - TIndex i1 = indices[i + 1]; - TIndex i2 = indices[i + 2]; - - const glm::vec3& v0 = - *reinterpret_cast(&positionView[i0]); - const glm::vec3& v1 = - *reinterpret_cast(&positionView[i1]); - const glm::vec3& v2 = - *reinterpret_cast(&positionView[i2]); - - glm::vec3 normal = glm::normalize(glm::cross(v1 - v0, v2 - v0)); - for (int j = 0; j < 3; j++) { - *reinterpret_cast(pWritePos) = normal; - pWritePos += stride; - } - } -} - namespace { struct MikkTPayload { @@ -138,15 +110,38 @@ struct MikkTPayload { uint8_t* pNormalData; uint8_t* pTexCoordData; uint8_t* pTangentData; + std::unordered_map normalCache; glm::vec3& getPosition(const int vert) const { uint8_t* ptr = &pPositionData[vert * stride]; return *reinterpret_cast(ptr); } - glm::vec3& getNormal(const int vert) const { - uint8_t* ptr = &pNormalData[vert * stride]; - return *reinterpret_cast(ptr); + glm::vec3 getNormal(const int vert) { + if (pNormalData) { + uint8_t* ptr = &pNormalData[vert * stride]; + return *reinterpret_cast(ptr); + } else { + // calculate the face normal from the vertex stream + // assumes a non-indexed model. + int i0 = 3 * (vert / 3); + if (normalCache.contains(i0)) + return normalCache[i0]; + else { + assert( + i0 + 2 < numIndices && "Not enough vertices. Model must be " + "non-indexed to use this function."); + glm::vec3& v0 = getPosition(i0); + glm::vec3& v1 = getPosition(i0 + 1); + glm::vec3& v2 = getPosition(i0 + 2); + + // glm::vec3 normal = glm::normalize(glm::cross(v1 - v0, v2 - v0)); + glm::vec3 normal = glm::normalize(glm::cross( v0 - v1, v2 - v1)); + normalCache.insert({i0, normal}); + + return normal; + } + } } glm::vec2& getTexCoord(const int vert) const { @@ -195,7 +190,7 @@ void mikkGetNormal( float normal[3], const int face, const int vert) { - const auto& payload = *reinterpret_cast(context->m_pUserData); + auto& payload = *reinterpret_cast(context->m_pUserData); const auto& norm = payload.getNormal(face * 3 + vert); normal[0] = norm.x; @@ -487,18 +482,15 @@ void loadPrimitive( bool duplicateVertices = false; - bool hasNormals = false; - bool computeFlatNormals = false; auto normalAccessorIt = primitive.attributes.find("NORMAL"); AccessorView normalView; if (normalAccessorIt != primitive.attributes.end()) { normalView = AccessorView(gltf, normalAccessorIt->second); - hasNormals = normalView.status() == AccessorViewStatus::Valid; + primitiveInfo.hasNormals = normalView.status() == AccessorViewStatus::Valid; } else if ( !primitiveInfo.isUnlit && primitive.mode != MeshPrimitive::Mode::POINTS) { - computeFlatNormals = hasNormals = true; - duplicateVertices = true; + primitiveInfo.hasNormals = false; } bool hasTangents = false; @@ -512,7 +504,7 @@ void loadPrimitive( } else if ( !primitiveInfo.isUnlit && primitive.mode != MeshPrimitive::Mode::POINTS) { computeTangents = hasTangents = - options.alwaysIncludeTangents || pMaterial->normalTexture; + options.alwaysIncludeTangents;// || pMaterial->normalTexture; duplicateVertices |= computeTangents; } @@ -588,7 +580,7 @@ void loadPrimitive( ++numberOfAttributes; // Add the NORMAL attribute, if it exists. - if (hasNormals) { + if (primitiveInfo.hasNormals) { assert(numberOfAttributes < MAX_ATTRIBUTES); descriptor[numberOfAttributes].attribute = VertexAttribute::Normal; descriptor[numberOfAttributes].format = VertexAttributeFormat::Float32; @@ -734,7 +726,7 @@ void loadPrimitive( size_t stride = sizeof(Vector3); size_t normalByteOffset; - if (hasNormals) { + if (primitiveInfo.hasNormals) { normalByteOffset = stride; stride += sizeof(Vector3); } @@ -758,21 +750,13 @@ void loadPrimitive( } if (duplicateVertices) { - if (computeFlatNormals) { - ::computeFlatNormals( - pWritePos + normalByteOffset, - stride, - indices, - indexCount, - positionView); - } for (int64_t i = 0; i < vertexCount; ++i) { TIndex vertexIndex = indices[i]; *reinterpret_cast(pWritePos) = positionView[vertexIndex]; // skip position pWritePos += sizeof(Vector3); // load normal from view or reserve space - if (hasNormals) { + if (primitiveInfo.hasNormals) { if (vertexIndex < normalView.size()) { *reinterpret_cast(pWritePos) = normalView[vertexIndex]; } @@ -805,7 +789,7 @@ void loadPrimitive( indices, indexCount, pBufferStart, - pBufferStart + normalByteOffset, + primitiveInfo.hasNormals ? pBufferStart + normalByteOffset : nullptr, pBufferStart + texCoordByteOffset, pBufferStart + tangentByteOffset); } @@ -815,7 +799,7 @@ void loadPrimitive( *reinterpret_cast(pWritePos) = positionView[i]; pWritePos += sizeof(Vector3); - if (hasNormals) { + if (primitiveInfo.hasNormals) { *reinterpret_cast(pWritePos) = normalView[i]; pWritePos += sizeof(Vector3); } @@ -1414,6 +1398,12 @@ void setGltfMaterialParameterValues( } } + const float computeFlatNormals = + !primitiveInfo.isUnlit && !primitiveInfo.hasNormals; + unityMaterial.SetFloat( + materialProperties.getComputeFlatNormalsID(), + computeFlatNormals); + if (gltfMaterial.occlusionTexture) { auto texCoordIndexIt = primitiveInfo.uvIndexMap.find(gltfMaterial.occlusionTexture->texCoord); diff --git a/native~/Runtime/src/UnityPrepareRendererResources.h b/native~/Runtime/src/UnityPrepareRendererResources.h index 1d4850e6..56990a43 100644 --- a/native~/Runtime/src/UnityPrepareRendererResources.h +++ b/native~/Runtime/src/UnityPrepareRendererResources.h @@ -11,17 +11,17 @@ namespace CesiumForUnityNative { struct CreateModelOptions { /** - * Whether to ignore the KHR_materials_unlit extension in the model. If this - * is true and the extension is present, then flat normals will be generated - * for the model as it loads. - */ + * @brief Whether to ignore the KHR_materials_unlit extension in the model. + * @remarks If this is true and the extension is present, then flat normals + * will be generated for the model as it loads. + **/ bool ignoreKhrMaterialUnlit = false; - /* - * Whether to include tangents in the vertex buffer. If tangents are not - * present in the source glTF, they will be generated via the mikktspace - * algorithm. - */ + /** + * @brief Whether to include tangents in the vertex buffer. + * @remarks If tangents are not present in the source glTF, they will be + * generated via the mikktspace algorithm. + **/ bool alwaysIncludeTangents = false; CreateModelOptions() = default; @@ -36,19 +36,19 @@ struct CreateModelOptions { */ struct CesiumPrimitiveInfo { /** - * @brief Whether or not the primitive's mode is set to POINTS. - * This affects whether or not it can be baked into a physics mesh. + * @brief Whether the primitive's mode is set to POINTS. + * This affects whether it can be baked into a physics mesh. */ bool containsPoints = false; /** - * @brief Whether or not the primitive contains translucent vertex + * @brief Whether the primitive contains translucent vertex * colors. This can affect material tags used to render the model. */ bool isTranslucent = false; /** - * @brief Whether or not the primitive material has the KHR_materials_unlit + * @brief Whether the primitive material has the KHR_materials_unlit * extension. * @remarks This may be overridden if * DotNet::CesiumForUnity::Cesium3DTileset::ignoreignoreKHRMaterialsUnlit() is @@ -56,6 +56,14 @@ struct CesiumPrimitiveInfo { */ bool isUnlit = false; + /** + * @brief Whether the primitive vertex buffer has normals + * @remarks When rendering a lit tileset that does not have normals, and + * the generateSmoothNormals option is not enabled, the shader should + * generate flat normals in the pixel shader. + */ + bool hasNormals = false; + /** * @brief Maps a texture coordinate index i (TEXCOORD_) to the * corresponding Unity texture coordinate index.