Нема описа
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

PassMesh.template 4.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. Pass
  2. {
  3. $splice(PassName)
  4. Tags
  5. {
  6. $splice(LightMode)
  7. }
  8. // Render State
  9. $splice(RenderState)
  10. // Debug
  11. $splice(Debug)
  12. // --------------------------------------------------
  13. // Pass
  14. HLSLPROGRAM
  15. // Pragmas
  16. $splice(PassPragmas)
  17. // Keywords
  18. $splice(PassKeywords)
  19. $splice(GraphKeywords)
  20. // Defines
  21. $SurfaceType.Transparent: #define _SURFACE_TYPE_TRANSPARENT 1
  22. $AlphaClip: #define _AlphaClip 1
  23. $Normal: #define _NORMALMAP 1
  24. $BlendMode.Add: #define _BLENDMODE_ADD 1
  25. $BlendMode.Premultiply: #define _ALPHAPREMULTIPLY_ON 1
  26. $NormalDropOffTS: #define _NORMAL_DROPOFF_TS 1
  27. $NormalDropOffOS: #define _NORMAL_DROPOFF_OS 1
  28. $NormalDropOffWS: #define _NORMAL_DROPOFF_WS 1
  29. $Attributes.normalOS: #define ATTRIBUTES_NEED_NORMAL
  30. $Attributes.tangentOS: #define ATTRIBUTES_NEED_TANGENT
  31. $Attributes.uv0: #define ATTRIBUTES_NEED_TEXCOORD0
  32. $Attributes.uv1: #define ATTRIBUTES_NEED_TEXCOORD1
  33. $Attributes.uv2: #define ATTRIBUTES_NEED_TEXCOORD2
  34. $Attributes.uv3: #define ATTRIBUTES_NEED_TEXCOORD3
  35. $Attributes.color: #define ATTRIBUTES_NEED_COLOR
  36. $Attributes.vertexID: #define ATTRIBUTES_NEED_VERTEXID
  37. $Attributes.instanceID: #define ATTRIBUTES_NEED_INSTANCEID
  38. $Varyings.positionWS: #define VARYINGS_NEED_POSITION_WS
  39. $Varyings.positionPredisplacementWS: #define VARYINGS_NEED_POSITIONPREDISPLACEMENT_WS
  40. $Varyings.normalWS: #define VARYINGS_NEED_NORMAL_WS
  41. $Varyings.tangentWS: #define VARYINGS_NEED_TANGENT_WS
  42. $Varyings.texCoord0: #define VARYINGS_NEED_TEXCOORD0
  43. $Varyings.texCoord1: #define VARYINGS_NEED_TEXCOORD1
  44. $Varyings.texCoord2: #define VARYINGS_NEED_TEXCOORD2
  45. $Varyings.texCoord3: #define VARYINGS_NEED_TEXCOORD3
  46. $Varyings.color: #define VARYINGS_NEED_COLOR
  47. $Varyings.vertexID: #define VARYINGS_NEED_VERTEXID
  48. $Varyings.instanceID: #define VARYINGS_NEED_INSTANCEID
  49. $Varyings.bitangentWS: #define VARYINGS_NEED_BITANGENT_WS
  50. $Varyings.screenPosition: #define VARYINGS_NEED_SCREENPOSITION
  51. $Varyings.fogFactorAndVertexLight: #define VARYINGS_NEED_FOG_AND_VERTEX_LIGHT
  52. $Varyings.cullFace: #define VARYINGS_NEED_CULLFACE
  53. $features.graphVertex: #define FEATURES_GRAPH_VERTEX
  54. $features.graphColorInterp: #define FEATURES_GRAPH_COLOR_INTERP
  55. $Universal.UseLegacySpriteBlocks: #define UNIVERSAL_USELEGACYSPRITEBLOCKS
  56. $splice(PassInstancing)
  57. $splice(GraphDefines)
  58. // Includes
  59. $splice(CustomInterpolatorPreInclude)
  60. $splice(PreGraphIncludes)
  61. // --------------------------------------------------
  62. // Structs and Packing
  63. $splice(CustomInterpolatorPrePacking)
  64. $splice(PassStructs)
  65. $splice(InterpolatorPack)
  66. // --------------------------------------------------
  67. // Graph
  68. // Graph Properties
  69. $splice(GraphProperties)
  70. // Graph Includes
  71. $splice(GraphIncludes)
  72. // -- Property used by ScenePickingPass
  73. #ifdef SCENEPICKINGPASS
  74. float4 _SelectionID;
  75. #endif
  76. // -- Properties used by SceneSelectionPass
  77. #ifdef SCENESELECTIONPASS
  78. int _ObjectId;
  79. int _PassValue;
  80. #endif
  81. // Graph Functions
  82. $splice(GraphFunctions)
  83. $splice(CustomInterpolatorPreVertex)
  84. // Graph Vertex
  85. $splice(GraphVertex)
  86. $splice(CustomInterpolatorPreSurface)
  87. // Graph Pixel
  88. $splice(GraphPixel)
  89. // --------------------------------------------------
  90. // Build Graph Inputs
  91. $features.graphVertex: $include("BuildVertexDescriptionInputs.template.hlsl")
  92. $features.graphPixel: $include("BuildSurfaceDescriptionInputs.template.hlsl")
  93. // --------------------------------------------------
  94. // Main
  95. $splice(PostGraphIncludes)
  96. ENDHLSL
  97. }