123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274 |
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using UnityEditor;
- using UnityEditor.Graphing;
- using UnityEditor.ShaderGraph;
- using UnityEditor.ShaderGraph.Internal;
- using Data.Util;
- using UnityEngine;
- namespace UnityEditor.Rendering.Universal
- {
- static class UniversalShaderGraphResources
- {
- public static string s_ResourceClassName => typeof(UniversalShaderGraphResources).FullName;
- public static string s_AssemblyName => typeof(UniversalShaderGraphResources).Assembly.FullName.ToString();
- struct UInt32_4
- { }
- internal struct Attributes
- {
- [Semantic("POSITION")]
- Vector3 positionOS;
- [Semantic("NORMAL")][Optional]
- Vector3 normalOS;
- [Semantic("TANGENT")][Optional]
- Vector4 tangentOS;
- [Semantic("TEXCOORD0")][Optional]
- Vector4 uv0;
- [Semantic("TEXCOORD1")][Optional]
- Vector4 uv1;
- [Semantic("TEXCOORD2")][Optional]
- Vector4 uv2;
- [Semantic("TEXCOORD3")][Optional]
- Vector4 uv3;
- [Semantic("COLOR")][Optional]
- Vector4 color;
- [Semantic("BLENDWEIGHTS")][Optional]
- Vector4 weights;
- [Semantic("BLENDINDICES")][Optional]
- UInt32_4 indices;
- [Semantic("INSTANCEID_SEMANTIC")] [PreprocessorIf("UNITY_ANY_INSTANCING_ENABLED")]
- uint instanceID;
- };
- [InterpolatorPack]
- internal struct Varyings
- {
- [Semantic("SV_POSITION")]
- Vector4 positionCS;
- [Optional]
- Vector3 positionWS;
- [Optional]
- Vector3 normalWS;
- [Optional]
- Vector4 tangentWS;
- [Optional]
- Vector4 texCoord0;
- [Optional]
- Vector4 texCoord1;
- [Optional]
- Vector4 texCoord2;
- [Optional]
- Vector4 texCoord3;
- [Optional]
- Vector4 color;
- [Optional]
- Vector3 viewDirectionWS;
- [Optional]
- Vector4 screenPosition;
- [Optional][PreprocessorIf("defined(LIGHTMAP_ON)")]
- Vector2 lightmapUV;
- [Optional][PreprocessorIf("!defined(LIGHTMAP_ON)")]
- Vector3 sh;
- [Optional]
- Vector4 fogFactorAndVertexLight;
- [Optional]
- Vector4 shadowCoord;
- [Semantic("CUSTOM_INSTANCE_ID")] [PreprocessorIf("UNITY_ANY_INSTANCING_ENABLED")]
- uint instanceID;
- [Semantic("SV_RenderTargetArrayIndex")]
- [SystemGenerated]
- [PreprocessorIf("(defined(UNITY_STEREO_INSTANCING_ENABLED))")]
- uint stereoTargetEyeIndexAsRTArrayIdx;
- [Semantic("BLENDINDICES0")]
- [SystemGenerated]
- [PreprocessorIf("(defined(UNITY_STEREO_MULTIVIEW_ENABLED)) || " +
- "(defined(UNITY_STEREO_INSTANCING_ENABLED) && (defined(SHADER_API_GLES3) || defined(SHADER_API_GLCORE)))")]
- uint stereoTargetEyeIndexAsBlendIdx0;
- [Semantic("FRONT_FACE_SEMANTIC")]
- [SystemGenerated]
- [OverrideType("FRONT_FACE_TYPE")]
- [PreprocessorIf("defined(SHADER_STAGE_FRAGMENT) && defined(VARYINGS_NEED_CULLFACE)")]
- bool cullFace;
- };
- internal struct VertexDescriptionInputs
- {
- [Optional] Vector3 ObjectSpaceNormal;
- [Optional] Vector3 ViewSpaceNormal;
- [Optional] Vector3 WorldSpaceNormal;
- [Optional] Vector3 TangentSpaceNormal;
- [Optional] Vector3 ObjectSpaceTangent;
- [Optional] Vector3 ViewSpaceTangent;
- [Optional] Vector3 WorldSpaceTangent;
- [Optional] Vector3 TangentSpaceTangent;
- [Optional] Vector3 ObjectSpaceBiTangent;
- [Optional] Vector3 ViewSpaceBiTangent;
- [Optional] Vector3 WorldSpaceBiTangent;
- [Optional] Vector3 TangentSpaceBiTangent;
- [Optional] Vector3 ObjectSpaceViewDirection;
- [Optional] Vector3 ViewSpaceViewDirection;
- [Optional] Vector3 WorldSpaceViewDirection;
- [Optional] Vector3 TangentSpaceViewDirection;
- [Optional] Vector3 ObjectSpacePosition;
- [Optional] Vector3 ViewSpacePosition;
- [Optional] Vector3 WorldSpacePosition;
- [Optional] Vector3 TangentSpacePosition;
- [Optional] Vector3 AbsoluteWorldSpacePosition;
- [Optional] Vector4 ScreenPosition;
- [Optional] Vector4 uv0;
- [Optional] Vector4 uv1;
- [Optional] Vector4 uv2;
- [Optional] Vector4 uv3;
- [Optional] Vector4 VertexColor;
- [Optional] Vector3 TimeParameters;
- [Optional] Vector4 BoneWeights;
- [Optional] UInt32_4 BoneIndices;
- };
-
- internal struct SurfaceDescriptionInputs
- {
- [Optional] Vector3 ObjectSpaceNormal;
- [Optional] Vector3 ViewSpaceNormal;
- [Optional] Vector3 WorldSpaceNormal;
- [Optional] Vector3 TangentSpaceNormal;
- [Optional] Vector3 ObjectSpaceTangent;
- [Optional] Vector3 ViewSpaceTangent;
- [Optional] Vector3 WorldSpaceTangent;
- [Optional] Vector3 TangentSpaceTangent;
- [Optional] Vector3 ObjectSpaceBiTangent;
- [Optional] Vector3 ViewSpaceBiTangent;
- [Optional] Vector3 WorldSpaceBiTangent;
- [Optional] Vector3 TangentSpaceBiTangent;
- [Optional] Vector3 ObjectSpaceViewDirection;
- [Optional] Vector3 ViewSpaceViewDirection;
- [Optional] Vector3 WorldSpaceViewDirection;
- [Optional] Vector3 TangentSpaceViewDirection;
- [Optional] Vector3 ObjectSpacePosition;
- [Optional] Vector3 ViewSpacePosition;
- [Optional] Vector3 WorldSpacePosition;
- [Optional] Vector3 TangentSpacePosition;
- [Optional] Vector3 AbsoluteWorldSpacePosition;
- [Optional] Vector4 ScreenPosition;
- [Optional] Vector4 uv0;
- [Optional] Vector4 uv1;
- [Optional] Vector4 uv2;
- [Optional] Vector4 uv3;
- [Optional] Vector4 VertexColor;
- [Optional] Vector3 TimeParameters;
- [Optional] float FaceSign;
- };
- public static List<Dependency[]> s_Dependencies = new List<Dependency[]>()
- {
- // Varyings
- new Dependency[]
- {
- new Dependency("Varyings.positionWS", "Attributes.positionOS"),
- new Dependency("Varyings.normalWS", "Attributes.normalOS"),
- new Dependency("Varyings.tangentWS", "Attributes.tangentOS"),
- new Dependency("Varyings.texCoord0", "Attributes.uv0"),
- new Dependency("Varyings.texCoord1", "Attributes.uv1"),
- new Dependency("Varyings.texCoord2", "Attributes.uv2"),
- new Dependency("Varyings.texCoord3", "Attributes.uv3"),
- new Dependency("Varyings.color", "Attributes.color"),
- new Dependency("Varyings.instanceID", "Attributes.instanceID"),
- new Dependency("Varyings.stereoTargetEyeIndexAsBlendIdx0", "Attributes.instanceID"),
- new Dependency("Varyings.stereoTargetEyeIndexAsRTArrayIdx", "Attributes.instanceID"),
- },
- // Vertex DescriptionInputs
- new Dependency[]
- {
- new Dependency("VertexDescriptionInputs.ObjectSpaceNormal", "Attributes.normalOS"),
- new Dependency("VertexDescriptionInputs.WorldSpaceNormal", "Attributes.normalOS"),
- new Dependency("VertexDescriptionInputs.ViewSpaceNormal", "VertexDescriptionInputs.WorldSpaceNormal"),
- new Dependency("VertexDescriptionInputs.ObjectSpaceTangent", "Attributes.tangentOS"),
- new Dependency("VertexDescriptionInputs.WorldSpaceTangent", "Attributes.tangentOS"),
- new Dependency("VertexDescriptionInputs.ViewSpaceTangent", "VertexDescriptionInputs.WorldSpaceTangent"),
- new Dependency("VertexDescriptionInputs.ObjectSpaceBiTangent", "Attributes.normalOS"),
- new Dependency("VertexDescriptionInputs.ObjectSpaceBiTangent", "Attributes.tangentOS"),
- new Dependency("VertexDescriptionInputs.WorldSpaceBiTangent", "VertexDescriptionInputs.ObjectSpaceBiTangent"),
- new Dependency("VertexDescriptionInputs.ViewSpaceBiTangent", "VertexDescriptionInputs.WorldSpaceBiTangent"),
- new Dependency("VertexDescriptionInputs.ObjectSpacePosition", "Attributes.positionOS"),
- new Dependency("VertexDescriptionInputs.WorldSpacePosition", "Attributes.positionOS"),
- new Dependency("VertexDescriptionInputs.AbsoluteWorldSpacePosition","Attributes.positionOS"),
- new Dependency("VertexDescriptionInputs.ViewSpacePosition", "VertexDescriptionInputs.WorldSpacePosition"),
- new Dependency("VertexDescriptionInputs.WorldSpaceViewDirection", "VertexDescriptionInputs.WorldSpacePosition"),
- new Dependency("VertexDescriptionInputs.ObjectSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("VertexDescriptionInputs.ViewSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("VertexDescriptionInputs.TangentSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("VertexDescriptionInputs.TangentSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceTangent"),
- new Dependency("VertexDescriptionInputs.TangentSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceBiTangent"),
- new Dependency("VertexDescriptionInputs.TangentSpaceViewDirection", "VertexDescriptionInputs.WorldSpaceNormal"),
- new Dependency("VertexDescriptionInputs.ScreenPosition", "VertexDescriptionInputs.WorldSpacePosition"),
- new Dependency("VertexDescriptionInputs.uv0", "Attributes.uv0"),
- new Dependency("VertexDescriptionInputs.uv1", "Attributes.uv1"),
- new Dependency("VertexDescriptionInputs.uv2", "Attributes.uv2"),
- new Dependency("VertexDescriptionInputs.uv3", "Attributes.uv3"),
- new Dependency("VertexDescriptionInputs.VertexColor", "Attributes.color"),
- new Dependency("VertexDescriptionInputs.BoneWeights", "Attributes.weights"),
- new Dependency("VertexDescriptionInputs.BoneIndices", "Attributes.indices")
- },
- // SurfaceDescriptionInputs
- new Dependency[]
- {
- new Dependency("SurfaceDescriptionInputs.WorldSpaceNormal", "Varyings.normalWS"),
- new Dependency("SurfaceDescriptionInputs.ObjectSpaceNormal", "SurfaceDescriptionInputs.WorldSpaceNormal"),
- new Dependency("SurfaceDescriptionInputs.ViewSpaceNormal", "SurfaceDescriptionInputs.WorldSpaceNormal"),
- new Dependency("SurfaceDescriptionInputs.WorldSpaceTangent", "Varyings.tangentWS"),
- new Dependency("SurfaceDescriptionInputs.WorldSpaceTangent", "SurfaceDescriptionInputs.WorldSpaceNormal"),
- new Dependency("SurfaceDescriptionInputs.ObjectSpaceTangent", "SurfaceDescriptionInputs.WorldSpaceTangent"),
- new Dependency("SurfaceDescriptionInputs.ViewSpaceTangent", "SurfaceDescriptionInputs.WorldSpaceTangent"),
- new Dependency("SurfaceDescriptionInputs.WorldSpaceBiTangent", "SurfaceDescriptionInputs.WorldSpaceNormal"),
- new Dependency("SurfaceDescriptionInputs.WorldSpaceBiTangent", "SurfaceDescriptionInputs.WorldSpaceTangent"),
- new Dependency("SurfaceDescriptionInputs.ObjectSpaceBiTangent", "SurfaceDescriptionInputs.WorldSpaceBiTangent"),
- new Dependency("SurfaceDescriptionInputs.ViewSpaceBiTangent", "SurfaceDescriptionInputs.WorldSpaceBiTangent"),
- new Dependency("SurfaceDescriptionInputs.WorldSpacePosition", "Varyings.positionWS"),
- new Dependency("SurfaceDescriptionInputs.AbsoluteWorldSpacePosition","Varyings.positionWS"),
- new Dependency("SurfaceDescriptionInputs.ObjectSpacePosition", "Varyings.positionWS"),
- new Dependency("SurfaceDescriptionInputs.ViewSpacePosition", "Varyings.positionWS"),
- new Dependency("SurfaceDescriptionInputs.WorldSpaceViewDirection", "Varyings.viewDirectionWS"), // we build WorldSpaceViewDirection using Varyings.positionWS in GetWorldSpaceNormalizeViewDir()
- new Dependency("SurfaceDescriptionInputs.ObjectSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("SurfaceDescriptionInputs.ViewSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("SurfaceDescriptionInputs.TangentSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceViewDirection"),
- new Dependency("SurfaceDescriptionInputs.TangentSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceTangent"),
- new Dependency("SurfaceDescriptionInputs.TangentSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceBiTangent"),
- new Dependency("SurfaceDescriptionInputs.TangentSpaceViewDirection", "SurfaceDescriptionInputs.WorldSpaceNormal"),
- new Dependency("SurfaceDescriptionInputs.ScreenPosition", "SurfaceDescriptionInputs.WorldSpacePosition"),
- new Dependency("SurfaceDescriptionInputs.uv0", "Varyings.texCoord0"),
- new Dependency("SurfaceDescriptionInputs.uv1", "Varyings.texCoord1"),
- new Dependency("SurfaceDescriptionInputs.uv2", "Varyings.texCoord2"),
- new Dependency("SurfaceDescriptionInputs.uv3", "Varyings.texCoord3"),
- new Dependency("SurfaceDescriptionInputs.VertexColor", "Varyings.color"),
- new Dependency("SurfaceDescriptionInputs.FaceSign", "Varyings.cullFace"),
- new Dependency("DepthOffset", "Varyings.positionWS"),
- },
- };
- };
- }
|