From f2b6a61d1ebebc24d16214716aa6a7350648398b Mon Sep 17 00:00:00 2001 From: max Date: Tue, 8 Dec 2020 00:33:06 +0100 Subject: [PATCH] Custom encoding/decoding. Custom vector3 encoding/decoding test. removed normal decoding from VA functions, this should now be done outside this function to allow easy switching of decoders. Co-Authored-By: Neeto-rzo <68438932+Neeto-rzo@users.noreply.github.com> --- Runtime/Scripts/VA_AnimatorSystem.cs | 116 ++-- .../Shaders/HLSL/VectorEncodingDecoding.hlsl | 122 ++--- Runtime/Shaders/HLSL/VertexAnimation.hlsl | 14 +- Runtime/Shaders/SubGraphs/VA.shadersubgraph | 182 +++---- .../Shaders/SubGraphs/VA_ARRAY.shadersubgraph | 182 +++---- .../SubGraphs/VectorEncodingDecoding.meta | 8 + .../Decode2Vector1ToVector3.shadersubgraph | 0 ...ecode2Vector1ToVector3.shadersubgraph.meta | 0 .../DecodeFloatToFloat3.shadersubgraph | 500 ++++++++++++++++++ .../DecodeFloatToFloat3.shadersubgraph.meta | 10 + .../DecodeVector1ToVector3.shadersubgraph | 50 +- ...DecodeVector1ToVector3.shadersubgraph.meta | 0 .../Encode2Vector3ToVector1.shadersubgraph | 0 ...ncode2Vector3ToVector1.shadersubgraph.meta | 0 .../EncodeVector3ToVector1.shadersubgraph | 0 ...EncodeVector3ToVector1.shadersubgraph.meta | 0 .../Shaders/EncodeDecodeTest.shadergraph | 197 ++++++- 17 files changed, 1039 insertions(+), 342 deletions(-) create mode 100644 Runtime/Shaders/SubGraphs/VectorEncodingDecoding.meta rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/Decode2Vector1ToVector3.shadersubgraph (100%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/Decode2Vector1ToVector3.shadersubgraph.meta (100%) create mode 100644 Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph create mode 100644 Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph.meta rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/DecodeVector1ToVector3.shadersubgraph (94%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/DecodeVector1ToVector3.shadersubgraph.meta (100%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/Encode2Vector3ToVector1.shadersubgraph (100%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/Encode2Vector3ToVector1.shadersubgraph.meta (100%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/EncodeVector3ToVector1.shadersubgraph (100%) rename Runtime/Shaders/SubGraphs/{ => VectorEncodingDecoding}/EncodeVector3ToVector1.shadersubgraph.meta (100%) diff --git a/Runtime/Scripts/VA_AnimatorSystem.cs b/Runtime/Scripts/VA_AnimatorSystem.cs index 731bc77..80b4417 100644 --- a/Runtime/Scripts/VA_AnimatorSystem.cs +++ b/Runtime/Scripts/VA_AnimatorSystem.cs @@ -6,70 +6,75 @@ using UnityEngine; namespace TAO.VertexAnimation { + //TODO: SetComponent. + //TODO: Disable thread safety. + //TODO: Blob data for static animation data. + + //public class VA_AnimatorSystem : SystemBase //{ - // private EndSimulationEntityCommandBufferSystem endSimulationEntityCommandBufferSystem; - - // protected override void OnCreate() - // { - // base.OnCreate(); - - // endSimulationEntityCommandBufferSystem = World.GetExistingSystem(); - // } - - // protected override void OnUpdate() - // { - // var ecb = endSimulationEntityCommandBufferSystem.CreateCommandBuffer().AsParallelWriter(); - - // Entities.ForEach((Entity entity, int entityInQueryIndex, in VA_AnimatorComponent ac, in DynamicBuffer children) => - // { - // for (int i = 0; i < children.Length; i++) - // { - // // Get child. - // Entity child = children[i].Value; - - // // Overwrite existing component. - // ecb.AddComponent(entityInQueryIndex, child, new VA_AnimationTimeComponent { Value = ac.animationTime }); - // ecb.AddComponent(entityInQueryIndex, child, new VA_AnimationIndexComponent { Value = ac.animationIndex }); - // } - // }) - // .ScheduleParallel(); - - // endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(Dependency); - // } + // private EndSimulationEntityCommandBufferSystem endSimulationEntityCommandBufferSystem; + + // protected override void OnCreate() + // { + // base.OnCreate(); + + // endSimulationEntityCommandBufferSystem = World.GetExistingSystem(); + // } + + // protected override void OnUpdate() + // { + // var ecb = endSimulationEntityCommandBufferSystem.CreateCommandBuffer().AsParallelWriter(); + + // Entities.ForEach((Entity entity, int entityInQueryIndex, in VA_AnimatorComponent ac, in DynamicBuffer children) => + // { + // for (int i = 0; i < children.Length; i++) + // { + // // Get child. + // Entity child = children[i].Value; + + // // Overwrite existing component. + // ecb.AddComponent(entityInQueryIndex, child, new VA_AnimationTimeComponent { Value = ac.animationTime }); + // ecb.AddComponent(entityInQueryIndex, child, new VA_AnimationIndexComponent { Value = ac.animationIndex }); + // } + // }) + // .ScheduleParallel(); + + // endSimulationEntityCommandBufferSystem.AddJobHandleForProducer(Dependency); + // } //} - + //[UpdateBefore(typeof(HybridRendererSystem))] public class VA_AnimatorSystem : SystemBase { protected override void OnUpdate() { var atc = GetComponentDataFromEntity(false); - var aic = GetComponentDataFromEntity(false); - + var aic = GetComponentDataFromEntity(false); + Entities.ForEach((ref VA_AnimatorComponent ac, in DynamicBuffer children) => - { - for (int i = 0; i < children.Length; i++) - { - // Get child. - Entity child = children[i].Value; - - // Get a copy of the time Component of the child. - VA_AnimationTimeComponent atcCopy = atc[child]; - // Set new value. - atcCopy.Value = ac.animationTime; - // Update original. - atc[child] = atcCopy; - - VA_AnimationIndexComponent aicCopy = aic[child]; - aicCopy.Value = ac.animationIndex; - aic[child] = aicCopy; - } - }) - .Run(); - } + { + for (int i = 0; i < children.Length; i++) + { + // Get child. + Entity child = children[i].Value; + + // Get a copy of the time Component of the child. + VA_AnimationTimeComponent atcCopy = atc[child]; + // Set new value. + atcCopy.Value = ac.animationTime; + // Update original. + atc[child] = atcCopy; + + VA_AnimationIndexComponent aicCopy = aic[child]; + aicCopy.Value = ac.animationIndex; + aic[child] = aicCopy; + } + }) + .Run(); + } } - + public class VA_AnimatorSystem2 : SystemBase { protected override void OnCreate() @@ -128,8 +133,9 @@ namespace TAO.VertexAnimation { Entities.ForEach((Entity entity, ref VA_AnimatorComponent ac) => { - int index = entity.Index % 2; - ac.animationIndex = index; + //int index = entity.Index % 2; + //ac.animationIndex = index; + ac.animationIndex = 0; }).ScheduleParallel(); } } diff --git a/Runtime/Shaders/HLSL/VectorEncodingDecoding.hlsl b/Runtime/Shaders/HLSL/VectorEncodingDecoding.hlsl index 9d7de15..363215b 100644 --- a/Runtime/Shaders/HLSL/VectorEncodingDecoding.hlsl +++ b/Runtime/Shaders/HLSL/VectorEncodingDecoding.hlsl @@ -2,16 +2,27 @@ #ifndef VECTOR_ENCODING_DECODING_INCLUDED #define VECTOR_ENCODING_DECODING_INCLUDED -// Ref: SideFX. -void DecodeFloat1ToFloat3_float(float f1, out float3 f3) +#define V_PI 3.14159265359f +#define V_TWO_PI 6.28318530718f +#define V_HALF_PI 1.57079632679f + +void EncodeFloat3ToFloat1_float(float3 f3, out float f1) +{ + float z = sqrt(f3.z * 8 + 8); + float y = (f3.y / z + 0.5f) * 31; + float x = floor((f3.x / z + 0.5f) * 31) * 32; + f1 = (x + y) / 1023; +} + +void DecodeFloat1ToFloat2_float(float f1, out float2 f2) { - //decode float to float2 f1 *= 1024; - float2 f2; f2.x = floor(f1 / 32.0) / 31.5; f2.y = (f1 - (floor(f1 / 32.0) * 32.0)) / 31.5; +} - //decode float2 to float3 +void DecodeFloat2ToFloat3_float(float f2, out float3 f3) +{ f2 *= 4; f2 -= 2; float f2dot = dot(f2, f2); @@ -20,73 +31,11 @@ void DecodeFloat1ToFloat3_float(float f1, out float3 f3) f3 = clamp(f3, -1.0, 1.0); } -void EncodeFloat3ToFloat1_float(float3 f3, out float f1) +void DecodeFloat1ToFloat3_float(float f1, out float3 f3) { - float z = sqrt(f3.z * 8 + 8); - float y = (f3.y / z + 0.5f) * 31; - float x = floor((f3.x / z + 0.5f) * 31) * 32; - - float o = (x + y) / 1023; - - f1 = o; - - //float fval1 = f3.x; - //float fval2 = f3.y; - //float fval3 = f3.z; - //float scaled0; - //float added0; - //float sqrt0; - //float div0; - //float added1; - //float scaled1; - //float floor0; - //float scaled2; - //float div1; - //float added2; - //float scaled3; - //float sum0; - //float scaled4; - - //// Code produced by: mulconst1 - //scaled0 = fval3 * 8; - - //// Code produced by: addconst1 - //added0 = scaled0 + 8; - - //// Code produced by: sqrt1 - //sqrt0 = sqrt(added0); - - //// Code produced by: divide1 - //div0 = fval1 / sqrt0; - - //// Code produced by: addconst2 - //added1 = div0 + 0.5; - - //// Code produced by: mulconst2 - //scaled1 = added1 * 31; - - //// Code produced by: floor1 - //floor0 = floor(scaled1); - - //// Code produced by: mulconst3 - //scaled2 = floor0 * 32; - - //// Code produced by: divide2 - //div1 = fval2 / sqrt0; - - //// Code produced by: addconst3 - //added2 = div1 + 0.5; - - //// Code produced by: mulconst4 - //scaled3 = added2 * 31; - - //// Code produced by: add1 - //sum0 = scaled2 + scaled3; - - //// Code produced by: divconst1 - //scaled4 = sum0 * (1.0 / 1023); - - //f1 = scaled4; + float2 f2; + DecodeFloat1ToFloat2_float(f1, f2); + DecodeFloat2ToFloat3_float(f2, f3); } // Ref: @@ -102,4 +51,35 @@ void Decode2Float1ToFloat3_float(float f1, out float3 f3) f3 = (frac((f1) / float3(16777216, 65536, 256))); } +// Custom +// Decode 0..1 float. +void FloatToFloat2_float(float f1, out float2 f2) +{ + f1 *= 256; + + f2.x = (f1 % 16) / 15; + f2.y = ((f1 / 256) * 16); + f2.y = floor(f2.y) / 15; +} + +void Float2ToFloat3_float(float2 f2, out float3 f3) +{ + float dist = 1 - abs((f2.y - 0.5f) * 2); + float temp = (f2.x * V_TWO_PI) - V_PI; + + f3.x = sin(temp + V_TWO_PI) * dist; + f3.z = cos((temp - V_PI) + V_TWO_PI) * dist; + + f3.y = (f2.y - 0.5f) * -2; + + f3 = normalize(f3); +} + +void FloatToFloat3_float(float f1, out float3 f3) +{ + float2 f2; + FloatToFloat2_float(f1, f2); + Float2ToFloat3_float(f2, f3); +} + #endif \ No newline at end of file diff --git a/Runtime/Shaders/HLSL/VertexAnimation.hlsl b/Runtime/Shaders/HLSL/VertexAnimation.hlsl index 071aceb..d445238 100644 --- a/Runtime/Shaders/HLSL/VertexAnimation.hlsl +++ b/Runtime/Shaders/HLSL/VertexAnimation.hlsl @@ -21,30 +21,32 @@ float2 VA_UV_float(float2 uv, int maxFrames, float time) } void VA_float(float2 uv, SamplerState texSampler, Texture2D positionMap, float time, int maxFrames, - out float3 outPosition, out float3 outNormal) + out float3 position, out float3 alpha) { float2 uvPosition = VA_UV_float(uv, maxFrames, time); // Position. float4 texturePos = positionMap.SampleLevel(texSampler, uvPosition, 0); - outPosition = texturePos.xyz; + position = texturePos.xyz; // Normal. - DecodeFloat1ToFloat3_float(texturePos.w, outNormal); + //FloatToFloat3_float(texturePos.w, outNormal); + alpha = texturePos.w; } void VA_ARRAY_float(float2 uv, SamplerState texSampler, Texture2DArray positionMap, float positionMapIndex, float time, int maxFrames, - out float3 outPosition, out float3 outNormal) + out float3 position, out float3 alpha) { float2 uvPosition = VA_UV_float(uv, maxFrames, time); // Position. float4 texturePos; SampleTexture2DArrayLOD_float(positionMap, uvPosition, texSampler, positionMapIndex, 0, texturePos); - outPosition = texturePos.xyz; + position = texturePos.xyz; // Normal. - DecodeFloat1ToFloat3_float(texturePos.w, outNormal); + //FloatToFloat3_float(texturePos.w, outNormal); + alpha = texturePos.w; } #endif \ No newline at end of file diff --git a/Runtime/Shaders/SubGraphs/VA.shadersubgraph b/Runtime/Shaders/SubGraphs/VA.shadersubgraph index 0c5db9e..8efa616 100644 --- a/Runtime/Shaders/SubGraphs/VA.shadersubgraph +++ b/Runtime/Shaders/SubGraphs/VA.shadersubgraph @@ -196,7 +196,7 @@ "m_Id": "b89a68670a6642e19ae1063415132848" }, { - "m_Id": "07aa60cb707f4623a11536d9507405db" + "m_Id": "68e1750097114f2d9801fda29c1a4a1a" } ], "m_Precision": 0, @@ -207,34 +207,6 @@ "IsFirstSlotValid": true } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "07aa60cb707f4623a11536d9507405db", - "m_Id": 2, - "m_DisplayName": "Normal", - "m_SlotType": 0, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "Normal", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -400,6 +372,34 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "68e1750097114f2d9801fda29c1a4a1a", + "m_Id": 2, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -425,34 +425,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "7e4dcba5ce514132a507e6bccc9e3871", - "m_Id": 10, - "m_DisplayName": "outNormal", - "m_SlotType": 1, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "outNormal", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", @@ -472,12 +444,6 @@ } }, "m_Slots": [ - { - "m_Id": "94dc07ad41a445cd8a24fbb7e2ff81aa" - }, - { - "m_Id": "7e4dcba5ce514132a507e6bccc9e3871" - }, { "m_Id": "7dbe167981d2452a8248b6d23432a518" }, @@ -492,6 +458,12 @@ }, { "m_Id": "ee509cecfe5046ebb88dc4c3ae5e2fed" + }, + { + "m_Id": "f08b7a93deeb46548e0a57309906d22a" + }, + { + "m_Id": "f3afc10b499a42c4bbcd332b713c9635" } ], "m_Precision": 0, @@ -530,34 +502,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "94dc07ad41a445cd8a24fbb7e2ff81aa", - "m_Id": 9, - "m_DisplayName": "outPosition", - "m_SlotType": 1, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "outPosition", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -755,6 +699,34 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "f08b7a93deeb46548e0a57309906d22a", + "m_Id": 9, + "m_DisplayName": "position", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "position", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.PropertyNode", @@ -788,6 +760,34 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "f3afc10b499a42c4bbcd332b713c9635", + "m_Id": 10, + "m_DisplayName": "alpha", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "alpha", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", diff --git a/Runtime/Shaders/SubGraphs/VA_ARRAY.shadersubgraph b/Runtime/Shaders/SubGraphs/VA_ARRAY.shadersubgraph index bdfa341..84365b5 100644 --- a/Runtime/Shaders/SubGraphs/VA_ARRAY.shadersubgraph +++ b/Runtime/Shaders/SubGraphs/VA_ARRAY.shadersubgraph @@ -216,7 +216,7 @@ "m_Id": "b89a68670a6642e19ae1063415132848" }, { - "m_Id": "07aa60cb707f4623a11536d9507405db" + "m_Id": "7106fc4a9e6e4a0a8bdd678ceb7f4f1c" } ], "m_Precision": 0, @@ -227,34 +227,6 @@ "IsFirstSlotValid": true } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "07aa60cb707f4623a11536d9507405db", - "m_Id": 2, - "m_DisplayName": "Normal", - "m_SlotType": 0, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "Normal", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -383,6 +355,34 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7106fc4a9e6e4a0a8bdd678ceb7f4f1c", + "m_Id": 2, + "m_DisplayName": "Alpha", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Alpha", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -408,34 +408,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "7e4dcba5ce514132a507e6bccc9e3871", - "m_Id": 10, - "m_DisplayName": "outNormal", - "m_SlotType": 1, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "outNormal", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", @@ -455,12 +427,6 @@ } }, "m_Slots": [ - { - "m_Id": "94dc07ad41a445cd8a24fbb7e2ff81aa" - }, - { - "m_Id": "7e4dcba5ce514132a507e6bccc9e3871" - }, { "m_Id": "7dbe167981d2452a8248b6d23432a518" }, @@ -478,6 +444,12 @@ }, { "m_Id": "ee509cecfe5046ebb88dc4c3ae5e2fed" + }, + { + "m_Id": "c2b10d98649f477bb79b359db258f55a" + }, + { + "m_Id": "c1454b74eac5469eb14d403b66a8283a" } ], "m_Precision": 0, @@ -516,34 +488,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "94dc07ad41a445cd8a24fbb7e2ff81aa", - "m_Id": 9, - "m_DisplayName": "outPosition", - "m_SlotType": 1, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "outPosition", - "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": [ - "X", - "Y", - "Z" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", @@ -722,6 +666,34 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "c1454b74eac5469eb14d403b66a8283a", + "m_Id": 10, + "m_DisplayName": "alpha", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "alpha", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", @@ -740,6 +712,34 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "c2b10d98649f477bb79b359db258f55a", + "m_Id": 9, + "m_DisplayName": "position", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "position", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Internal.Texture2DArrayShaderProperty", diff --git a/Runtime/Shaders/SubGraphs/VectorEncodingDecoding.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding.meta new file mode 100644 index 0000000..2a787a8 --- /dev/null +++ b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: bb6abbe05e546a64090044126e75d123 +folderAsset: yes +DefaultImporter: + externalObjects: {} + userData: + assetBundleName: + assetBundleVariant: diff --git a/Runtime/Shaders/SubGraphs/Decode2Vector1ToVector3.shadersubgraph b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Decode2Vector1ToVector3.shadersubgraph similarity index 100% rename from Runtime/Shaders/SubGraphs/Decode2Vector1ToVector3.shadersubgraph rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Decode2Vector1ToVector3.shadersubgraph diff --git a/Runtime/Shaders/SubGraphs/Decode2Vector1ToVector3.shadersubgraph.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Decode2Vector1ToVector3.shadersubgraph.meta similarity index 100% rename from Runtime/Shaders/SubGraphs/Decode2Vector1ToVector3.shadersubgraph.meta rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Decode2Vector1ToVector3.shadersubgraph.meta diff --git a/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph new file mode 100644 index 0000000..b38365b --- /dev/null +++ b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph @@ -0,0 +1,500 @@ +{ + "m_SGVersion": 2, + "m_Type": "UnityEditor.ShaderGraph.GraphData", + "m_ObjectId": "a0a2fdc9c1a4498195631e1da43ae9d8", + "m_Properties": [ + { + "m_Id": "771ac3b08a1144b086078a0d07c220da" + } + ], + "m_Keywords": [], + "m_Nodes": [ + { + "m_Id": "966c13a2f0a94a189243c9f0d9524146" + }, + { + "m_Id": "b1d371a1c68245c59eaee45d4d61c533" + }, + { + "m_Id": "95caa98ec1fe4b12be341a504a26521c" + }, + { + "m_Id": "263e3f691adc4e89ae69574634db2de6" + }, + { + "m_Id": "5c342c9c5ab943a6ab1d9499425f19e0" + } + ], + "m_GroupDatas": [], + "m_StickyNoteDatas": [], + "m_Edges": [ + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "263e3f691adc4e89ae69574634db2de6" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "5c342c9c5ab943a6ab1d9499425f19e0" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "5c342c9c5ab943a6ab1d9499425f19e0" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "966c13a2f0a94a189243c9f0d9524146" + }, + "m_SlotId": 1 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b1d371a1c68245c59eaee45d4d61c533" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "263e3f691adc4e89ae69574634db2de6" + }, + "m_SlotId": 0 + } + }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "b1d371a1c68245c59eaee45d4d61c533" + }, + "m_SlotId": 0 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "95caa98ec1fe4b12be341a504a26521c" + }, + "m_SlotId": 0 + } + } + ], + "m_VertexContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_FragmentContext": { + "m_Position": { + "x": 0.0, + "y": 0.0 + }, + "m_Blocks": [] + }, + "m_PreviewData": { + "serializedMesh": { + "m_SerializedMesh": "{\"mesh\":{\"instanceID\":0}}", + "m_Guid": "" + } + }, + "m_Path": "Sub Graphs", + "m_ConcretePrecision": 0, + "m_OutputNode": { + "m_Id": "966c13a2f0a94a189243c9f0d9524146" + }, + "m_ActiveTargets": [] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "118dcba6ddd7426b8bd4d80808b125fc", + "m_Id": 0, + "m_DisplayName": "f1", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f1", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "124ded35cbdf4fa58367d2a2bf5374dc", + "m_Id": 1, + "m_DisplayName": "f3", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f3", + "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": [ + "X", + "Y", + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "263e3f691adc4e89ae69574634db2de6", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Custom Function", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -81.0, + "y": 325.0, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "32a19e0ffeb54588b2a8f5c9e2a738cd" + }, + { + "m_Id": "e5b6dcbec075435fbc9af85799fe6420" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "FloatToFloat2", + "m_FunctionSource": "02eb5540183369645883b2c6b33144dc", + "m_FunctionBody": "Enter function body here..." +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "32a19e0ffeb54588b2a8f5c9e2a738cd", + "m_Id": 0, + "m_DisplayName": "f1", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f1", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "5c342c9c5ab943a6ab1d9499425f19e0", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Custom Function", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 157.0, + "y": 325.0, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "e613aa81b1a9434aac59f67e9ae7339b" + }, + { + "m_Id": "7c8b7afd842e45a5960396a7de8d42f0" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "Float2ToFloat3", + "m_FunctionSource": "02eb5540183369645883b2c6b33144dc", + "m_FunctionBody": "Enter function body here..." +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Internal.Vector1ShaderProperty", + "m_ObjectId": "771ac3b08a1144b086078a0d07c220da", + "m_Guid": { + "m_GuidSerialized": "000a9ca6-880e-4eee-a436-af6921fc25b8" + }, + "m_Name": "Vector1", + "m_DefaultReferenceName": "Vector1_771ac3b08a1144b086078a0d07c220da", + "m_OverrideReferenceName": "", + "m_GeneratePropertyBlock": true, + "m_Precision": 0, + "m_GPUInstanced": false, + "m_Hidden": false, + "m_Value": 0.23919999599456788, + "m_FloatType": 0, + "m_RangeValues": { + "x": 0.0, + "y": 1.0 + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "7c8b7afd842e45a5960396a7de8d42f0", + "m_Id": 1, + "m_DisplayName": "f3", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f3", + "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": [ + "X", + "Y", + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.CustomFunctionNode", + "m_ObjectId": "95caa98ec1fe4b12be341a504a26521c", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Custom Function", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -75.0, + "y": 3.0, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "118dcba6ddd7426b8bd4d80808b125fc" + }, + { + "m_Id": "124ded35cbdf4fa58367d2a2bf5374dc" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SourceType": 0, + "m_FunctionName": "FloatToFloat3", + "m_FunctionSource": "02eb5540183369645883b2c6b33144dc", + "m_FunctionBody": "Enter function body here..." +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphOutputNode", + "m_ObjectId": "966c13a2f0a94a189243c9f0d9524146", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Output", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": 538.0, + "y": 9.5367431640625e-7, + "width": 120.00000762939453, + "height": 77.00000762939453 + } + }, + "m_Slots": [ + { + "m_Id": "b220757e741547ccaa7b90e39ecc4acb" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "IsFirstSlotValid": true +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PropertyNode", + "m_ObjectId": "b1d371a1c68245c59eaee45d4d61c533", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Property", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -219.0, + "y": 43.0, + "width": 115.0, + "height": 34.0 + } + }, + "m_Slots": [ + { + "m_Id": "f2355e12360c41d8be5dbcb32f44c13d" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Property": { + "m_Id": "771ac3b08a1144b086078a0d07c220da" + } +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "b220757e741547ccaa7b90e39ecc4acb", + "m_Id": 1, + "m_DisplayName": "Out_Vector3", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector3", + "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": [ + "X", + "Y", + "Z" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "e5b6dcbec075435fbc9af85799fe6420", + "m_Id": 1, + "m_DisplayName": "f2", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f2", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [ + "X", + "Y" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", + "m_ObjectId": "e613aa81b1a9434aac59f67e9ae7339b", + "m_Id": 0, + "m_DisplayName": "f2 (1)", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f2", + "m_StageCapability": 3, + "m_Value": { + "x": 0.0, + "y": 0.0 + }, + "m_DefaultValue": { + "x": 0.0, + "y": 0.0 + }, + "m_Labels": [ + "X", + "Y" + ] +} + +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f2355e12360c41d8be5dbcb32f44c13d", + "m_Id": 0, + "m_DisplayName": "Vector1", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Out", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + diff --git a/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph.meta new file mode 100644 index 0000000..68141da --- /dev/null +++ b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeFloatToFloat3.shadersubgraph.meta @@ -0,0 +1,10 @@ +fileFormatVersion: 2 +guid: 18ce5782075ebe745a6c31bffe3ff85e +ScriptedImporter: + internalIDToNameTable: [] + externalObjects: {} + serializedVersion: 2 + userData: + assetBundleName: + assetBundleVariant: + script: {fileID: 11500000, guid: 60072b568d64c40a485e0fc55012dc9f, type: 3} diff --git a/Runtime/Shaders/SubGraphs/DecodeVector1ToVector3.shadersubgraph b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeVector1ToVector3.shadersubgraph similarity index 94% rename from Runtime/Shaders/SubGraphs/DecodeVector1ToVector3.shadersubgraph rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeVector1ToVector3.shadersubgraph index 8b396f3..ad259e7 100644 --- a/Runtime/Shaders/SubGraphs/DecodeVector1ToVector3.shadersubgraph +++ b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeVector1ToVector3.shadersubgraph @@ -131,13 +131,13 @@ { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", - "m_ObjectId": "206320e6a1984736b1513c9eed70af22", + "m_ObjectId": "848145a6436e4e8aba88f8ef1a124b78", "m_Id": 1, - "m_DisplayName": "vector3", + "m_DisplayName": "f3", "m_SlotType": 1, "m_Priority": 2147483647, "m_Hidden": false, - "m_ShaderOutputName": "vector3", + "m_ShaderOutputName": "f3", "m_StageCapability": 3, "m_Value": { "x": 0.0, @@ -156,24 +156,6 @@ ] } -{ - "m_SGVersion": 0, - "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", - "m_ObjectId": "2f0e331f581747c9baca83433ff3a875", - "m_Id": 0, - "m_DisplayName": "vector1", - "m_SlotType": 0, - "m_Priority": 2147483647, - "m_Hidden": false, - "m_ShaderOutputName": "vector1", - "m_StageCapability": 3, - "m_Value": 0.0, - "m_DefaultValue": 0.0, - "m_Labels": [ - "X" - ] -} - { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", @@ -270,17 +252,17 @@ "m_Position": { "serializedVersion": "2", "x": -669.0, - "y": -2.0, - "width": 181.0, + "y": -1.0, + "width": 142.0, "height": 94.0 } }, "m_Slots": [ { - "m_Id": "2f0e331f581747c9baca83433ff3a875" + "m_Id": "f44972630e70452686fb82e2cd3a9e44" }, { - "m_Id": "206320e6a1984736b1513c9eed70af22" + "m_Id": "848145a6436e4e8aba88f8ef1a124b78" } ], "m_Precision": 0, @@ -294,3 +276,21 @@ "m_FunctionBody": "Enter function body here..." } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "f44972630e70452686fb82e2cd3a9e44", + "m_Id": 0, + "m_DisplayName": "f1", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "f1", + "m_StageCapability": 3, + "m_Value": 0.0, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + diff --git a/Runtime/Shaders/SubGraphs/DecodeVector1ToVector3.shadersubgraph.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeVector1ToVector3.shadersubgraph.meta similarity index 100% rename from Runtime/Shaders/SubGraphs/DecodeVector1ToVector3.shadersubgraph.meta rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/DecodeVector1ToVector3.shadersubgraph.meta diff --git a/Runtime/Shaders/SubGraphs/Encode2Vector3ToVector1.shadersubgraph b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Encode2Vector3ToVector1.shadersubgraph similarity index 100% rename from Runtime/Shaders/SubGraphs/Encode2Vector3ToVector1.shadersubgraph rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Encode2Vector3ToVector1.shadersubgraph diff --git a/Runtime/Shaders/SubGraphs/Encode2Vector3ToVector1.shadersubgraph.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Encode2Vector3ToVector1.shadersubgraph.meta similarity index 100% rename from Runtime/Shaders/SubGraphs/Encode2Vector3ToVector1.shadersubgraph.meta rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/Encode2Vector3ToVector1.shadersubgraph.meta diff --git a/Runtime/Shaders/SubGraphs/EncodeVector3ToVector1.shadersubgraph b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/EncodeVector3ToVector1.shadersubgraph similarity index 100% rename from Runtime/Shaders/SubGraphs/EncodeVector3ToVector1.shadersubgraph rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/EncodeVector3ToVector1.shadersubgraph diff --git a/Runtime/Shaders/SubGraphs/EncodeVector3ToVector1.shadersubgraph.meta b/Runtime/Shaders/SubGraphs/VectorEncodingDecoding/EncodeVector3ToVector1.shadersubgraph.meta similarity index 100% rename from Runtime/Shaders/SubGraphs/EncodeVector3ToVector1.shadersubgraph.meta rename to Runtime/Shaders/SubGraphs/VectorEncodingDecoding/EncodeVector3ToVector1.shadersubgraph.meta diff --git a/Tests/Runtime/Shaders/EncodeDecodeTest.shadergraph b/Tests/Runtime/Shaders/EncodeDecodeTest.shadergraph index 36db5b7..e74ae67 100644 --- a/Tests/Runtime/Shaders/EncodeDecodeTest.shadergraph +++ b/Tests/Runtime/Shaders/EncodeDecodeTest.shadergraph @@ -65,6 +65,12 @@ }, { "m_Id": "162fa960f3894c9fb70367b3991edf5a" + }, + { + "m_Id": "6b6867732354471b902be3554bba5b09" + }, + { + "m_Id": "be7a8a9d9878441eaec283da2aaf8933" } ], "m_GroupDatas": [], @@ -154,6 +160,20 @@ "m_SlotId": -1980518314 } }, + { + "m_OutputSlot": { + "m_Node": { + "m_Id": "6b6867732354471b902be3554bba5b09" + }, + "m_SlotId": 1 + }, + "m_InputSlot": { + "m_Node": { + "m_Id": "be7a8a9d9878441eaec283da2aaf8933" + }, + "m_SlotId": 0 + } + }, { "m_OutputSlot": { "m_Node": { @@ -640,9 +660,9 @@ "m_GPUInstanced": false, "m_Hidden": false, "m_Value": { - "r": 0.8301886916160584, - "g": 0.4964756965637207, - "b": 0.07440368086099625, + "r": 0.2350783497095108, + "g": 0.8584905862808228, + "b": 0.1579298973083496, "a": 0.0 }, "m_ColorMode": 0 @@ -789,6 +809,34 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector3MaterialSlot", + "m_ObjectId": "5529db94ce71493980a6bcdb26f8bbb1", + "m_Id": 1, + "m_DisplayName": "Out_Vector3", + "m_SlotType": 1, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "OutVector3", + "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": [ + "X", + "Y", + "Z" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.ColorRGBMaterialSlot", @@ -939,6 +987,46 @@ "m_SerializedDescriptor": "SurfaceDescription.Smoothness" } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.SubGraphNode", + "m_ObjectId": "6b6867732354471b902be3554bba5b09", + "m_Group": { + "m_Id": "" + }, + "m_Name": "DecodeFloatToFloat3", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -944.0, + "y": 1389.0, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "7397f58292e54fc2beee337ecd54e939" + }, + { + "m_Id": "5529db94ce71493980a6bcdb26f8bbb1" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_SerializedSubGraph": "{\n \"subGraph\": {\n \"fileID\": -5475051401550479605,\n \"guid\": \"18ce5782075ebe745a6c31bffe3ff85e\",\n \"type\": 3\n }\n}", + "m_PropertyGuids": [ + "000a9ca6-880e-4eee-a436-af6921fc25b8" + ], + "m_PropertyIds": [ + 654627568 + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.Rendering.Universal.ShaderGraph.UniversalTarget", @@ -993,6 +1081,24 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.Vector1MaterialSlot", + "m_ObjectId": "7397f58292e54fc2beee337ecd54e939", + "m_Id": 654627568, + "m_DisplayName": "Vector1", + "m_SlotType": 0, + "m_Priority": 2147483647, + "m_Hidden": false, + "m_ShaderOutputName": "Vector1_771ac3b08a1144b086078a0d07c220da", + "m_StageCapability": 3, + "m_Value": 0.23919999599456788, + "m_DefaultValue": 0.0, + "m_Labels": [ + "X" + ] +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.Vector2MaterialSlot", @@ -1446,6 +1552,41 @@ ] } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.PreviewNode", + "m_ObjectId": "be7a8a9d9878441eaec283da2aaf8933", + "m_Group": { + "m_Id": "" + }, + "m_Name": "Preview", + "m_DrawState": { + "m_Expanded": true, + "m_Position": { + "serializedVersion": "2", + "x": -682.0, + "y": 1389.0, + "width": 208.0, + "height": 278.0 + } + }, + "m_Slots": [ + { + "m_Id": "e0d2d0e15cc14decbb4418c29b8503be" + }, + { + "m_Id": "f3f4d3efc35c484887ea1c7630a567b7" + } + ], + "m_Precision": 0, + "m_PreviewExpanded": true, + "m_CustomColors": { + "m_SerializableColors": [] + }, + "m_Width": 208.0, + "m_Height": 208.0 +} + { "m_SGVersion": 0, "m_Type": "UnityEditor.ShaderGraph.BlockNode", @@ -1586,6 +1727,31 @@ "m_ColorMode": 1 } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "e0d2d0e15cc14decbb4418c29b8503be", + "m_Id": 0, + "m_DisplayName": "In", + "m_SlotType": 0, + "m_Priority": 2147483647, + "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.DynamicVectorMaterialSlot", @@ -1636,6 +1802,31 @@ } } +{ + "m_SGVersion": 0, + "m_Type": "UnityEditor.ShaderGraph.DynamicVectorMaterialSlot", + "m_ObjectId": "f3f4d3efc35c484887ea1c7630a567b7", + "m_Id": 1, + "m_DisplayName": "Out", + "m_SlotType": 1, + "m_Priority": 2147483647, + "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.Vector3MaterialSlot",