namespace UnityEditor.ShaderGraph { [GenerationAPI] internal static class FieldDependencies { public static DependencyCollection Varyings = new DependencyCollection { new FieldDependency(StructFields.Varyings.positionWS, StructFields.Attributes.positionOS), new FieldDependency(StructFields.Varyings.positionPredisplacementWS, StructFields.Attributes.positionOS), new FieldDependency(StructFields.Varyings.normalWS, StructFields.Attributes.normalOS), new FieldDependency(StructFields.Varyings.tangentWS, StructFields.Attributes.tangentOS), new FieldDependency(StructFields.Varyings.texCoord0, StructFields.Attributes.uv0), new FieldDependency(StructFields.Varyings.texCoord1, StructFields.Attributes.uv1), new FieldDependency(StructFields.Varyings.texCoord2, StructFields.Attributes.uv2), new FieldDependency(StructFields.Varyings.texCoord3, StructFields.Attributes.uv3), new FieldDependency(StructFields.Varyings.texCoord4, StructFields.Attributes.uv4), new FieldDependency(StructFields.Varyings.texCoord5, StructFields.Attributes.uv5), new FieldDependency(StructFields.Varyings.texCoord6, StructFields.Attributes.uv6), new FieldDependency(StructFields.Varyings.texCoord7, StructFields.Attributes.uv7), new FieldDependency(StructFields.Varyings.color, StructFields.Attributes.color), new FieldDependency(StructFields.Varyings.instanceID, StructFields.Attributes.instanceID), new FieldDependency(StructFields.Varyings.vertexID, StructFields.Attributes.vertexID), }; public static DependencyCollection VertexDescription = new DependencyCollection { new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpaceNormal, StructFields.Attributes.normalOS), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpaceNormal, StructFields.Attributes.normalOS), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpaceNormal, StructFields.VertexDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpaceTangent, StructFields.Attributes.tangentOS), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpaceTangent, StructFields.Attributes.tangentOS), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpaceTangent, StructFields.VertexDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpaceBiTangent, StructFields.Attributes.normalOS), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpaceBiTangent, StructFields.Attributes.tangentOS), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpaceBiTangent, StructFields.VertexDescriptionInputs.ObjectSpaceBiTangent), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpaceBiTangent, StructFields.VertexDescriptionInputs.WorldSpaceBiTangent), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpacePosition, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpacePosition, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.AbsoluteWorldSpacePosition, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpacePosition, StructFields.VertexDescriptionInputs.WorldSpacePosition), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpacePositionPredisplacement, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.AbsoluteWorldSpacePositionPredisplacement, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpacePositionPredisplacement, StructFields.Attributes.positionOS), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpacePositionPredisplacement, StructFields.VertexDescriptionInputs.WorldSpacePosition), new FieldDependency(StructFields.VertexDescriptionInputs.WorldSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpacePosition), new FieldDependency(StructFields.VertexDescriptionInputs.ObjectSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.VertexDescriptionInputs.ViewSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.VertexDescriptionInputs.TangentSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.VertexDescriptionInputs.TangentSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.VertexDescriptionInputs.TangentSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceBiTangent), new FieldDependency(StructFields.VertexDescriptionInputs.TangentSpaceViewDirection, StructFields.VertexDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.VertexDescriptionInputs.ScreenPosition, StructFields.VertexDescriptionInputs.WorldSpacePosition), new FieldDependency(StructFields.VertexDescriptionInputs.NDCPosition, StructFields.VertexDescriptionInputs.ScreenPosition), new FieldDependency(StructFields.VertexDescriptionInputs.PixelPosition, StructFields.VertexDescriptionInputs.NDCPosition), new FieldDependency(StructFields.VertexDescriptionInputs.uv0, StructFields.Attributes.uv0), new FieldDependency(StructFields.VertexDescriptionInputs.uv1, StructFields.Attributes.uv1), new FieldDependency(StructFields.VertexDescriptionInputs.uv2, StructFields.Attributes.uv2), new FieldDependency(StructFields.VertexDescriptionInputs.uv3, StructFields.Attributes.uv3), new FieldDependency(StructFields.VertexDescriptionInputs.uv4, StructFields.Attributes.uv4), new FieldDependency(StructFields.VertexDescriptionInputs.uv5, StructFields.Attributes.uv5), new FieldDependency(StructFields.VertexDescriptionInputs.uv6, StructFields.Attributes.uv6), new FieldDependency(StructFields.VertexDescriptionInputs.uv7, StructFields.Attributes.uv7), new FieldDependency(StructFields.VertexDescriptionInputs.VertexColor, StructFields.Attributes.color), new FieldDependency(StructFields.VertexDescriptionInputs.BoneWeights, StructFields.Attributes.weights), new FieldDependency(StructFields.VertexDescriptionInputs.BoneIndices, StructFields.Attributes.indices), new FieldDependency(StructFields.VertexDescriptionInputs.VertexID, StructFields.Attributes.vertexID), new FieldDependency(StructFields.VertexDescriptionInputs.InstanceID, StructFields.Attributes.instanceID), }; public static DependencyCollection SurfaceDescription = new DependencyCollection { new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceNormal, StructFields.Varyings.normalWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpaceNormal, StructFields.SurfaceDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpaceNormal, StructFields.SurfaceDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceTangent, StructFields.Varyings.tangentWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpaceTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpaceTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceBiTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceBiTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpaceBiTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceBiTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpaceBiTangent, StructFields.SurfaceDescriptionInputs.WorldSpaceBiTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpacePosition, StructFields.Varyings.positionWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.AbsoluteWorldSpacePosition, StructFields.Varyings.positionWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpacePosition, StructFields.Varyings.positionWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpacePosition, StructFields.Varyings.positionWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpacePositionPredisplacement, StructFields.Varyings.positionPredisplacementWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.AbsoluteWorldSpacePositionPredisplacement, StructFields.Varyings.positionPredisplacementWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpacePositionPredisplacement, StructFields.Varyings.positionPredisplacementWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpacePositionPredisplacement, StructFields.Varyings.positionPredisplacementWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.WorldSpaceViewDirection, StructFields.Varyings.positionWS), new FieldDependency(StructFields.SurfaceDescriptionInputs.ObjectSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.SurfaceDescriptionInputs.ViewSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.SurfaceDescriptionInputs.TangentSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceViewDirection), new FieldDependency(StructFields.SurfaceDescriptionInputs.TangentSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.TangentSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceBiTangent), new FieldDependency(StructFields.SurfaceDescriptionInputs.TangentSpaceViewDirection, StructFields.SurfaceDescriptionInputs.WorldSpaceNormal), new FieldDependency(StructFields.SurfaceDescriptionInputs.ScreenPosition, StructFields.SurfaceDescriptionInputs.WorldSpacePosition), new FieldDependency(StructFields.SurfaceDescriptionInputs.NDCPosition, StructFields.SurfaceDescriptionInputs.PixelPosition), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv0, StructFields.Varyings.texCoord0), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv1, StructFields.Varyings.texCoord1), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv2, StructFields.Varyings.texCoord2), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv3, StructFields.Varyings.texCoord3), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv4, StructFields.Varyings.texCoord4), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv5, StructFields.Varyings.texCoord5), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv6, StructFields.Varyings.texCoord6), new FieldDependency(StructFields.SurfaceDescriptionInputs.uv7, StructFields.Varyings.texCoord7), new FieldDependency(StructFields.SurfaceDescriptionInputs.VertexColor, StructFields.Varyings.color), new FieldDependency(StructFields.SurfaceDescriptionInputs.FaceSign, StructFields.Varyings.cullFace), new FieldDependency(StructFields.SurfaceDescriptionInputs.VertexID, StructFields.Varyings.vertexID), new FieldDependency(StructFields.SurfaceDescriptionInputs.InstanceID, StructFields.Varyings.instanceID), new FieldDependency(StructFields.SurfaceDescriptionInputs.color, StructFields.Varyings.color), new FieldDependency(StructFields.SurfaceDescriptionInputs.uvClip, StructFields.Varyings.texCoord0), new FieldDependency(StructFields.SurfaceDescriptionInputs.typeTexSettings, StructFields.Varyings.texCoord1), new FieldDependency(StructFields.SurfaceDescriptionInputs.textCoreLoc, StructFields.Varyings.texCoord3), new FieldDependency(StructFields.SurfaceDescriptionInputs.layoutUV, StructFields.Varyings.texCoord3), new FieldDependency(StructFields.SurfaceDescriptionInputs.circle, StructFields.Varyings.texCoord4), }; public static DependencyCollection Default = new DependencyCollection { { Varyings }, { VertexDescription }, { SurfaceDescription }, }; } }