Variables.cginc 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416
  1. #ifndef TERRAIN_TO_MESH_VARIABLES_CGINC
  2. #define TERRAIN_TO_MESH_VARIABLES_CGINC
  3. #if defined(_T2M_LAYER_COUNT_3)
  4. #define NEED_PAINT_MAP_2
  5. #elif defined(_T2M_LAYER_COUNT_4)
  6. #define NEED_PAINT_MAP_2
  7. #define NEED_PAINT_MAP_3
  8. #elif defined(_T2M_LAYER_COUNT_5)
  9. #define NEED_SPLAT_MAP_1
  10. #define NEED_PAINT_MAP_2
  11. #define NEED_PAINT_MAP_3
  12. #define NEED_PAINT_MAP_4
  13. #elif defined(_T2M_LAYER_COUNT_6)
  14. #define NEED_SPLAT_MAP_1
  15. #define NEED_PAINT_MAP_2
  16. #define NEED_PAINT_MAP_3
  17. #define NEED_PAINT_MAP_4
  18. #define NEED_PAINT_MAP_5
  19. #elif defined(_T2M_LAYER_COUNT_7)
  20. #define NEED_SPLAT_MAP_1
  21. #define NEED_PAINT_MAP_2
  22. #define NEED_PAINT_MAP_3
  23. #define NEED_PAINT_MAP_4
  24. #define NEED_PAINT_MAP_5
  25. #define NEED_PAINT_MAP_6
  26. #elif defined(_T2M_LAYER_COUNT_8)
  27. #define NEED_SPLAT_MAP_1
  28. #define NEED_PAINT_MAP_2
  29. #define NEED_PAINT_MAP_3
  30. #define NEED_PAINT_MAP_4
  31. #define NEED_PAINT_MAP_5
  32. #define NEED_PAINT_MAP_6
  33. #define NEED_PAINT_MAP_7
  34. #elif defined(_T2M_LAYER_COUNT_9)
  35. #define NEED_SPLAT_MAP_1
  36. #define NEED_SPLAT_MAP_2
  37. #define NEED_PAINT_MAP_2
  38. #define NEED_PAINT_MAP_3
  39. #define NEED_PAINT_MAP_4
  40. #define NEED_PAINT_MAP_5
  41. #define NEED_PAINT_MAP_6
  42. #define NEED_PAINT_MAP_7
  43. #define NEED_PAINT_MAP_8
  44. #elif defined(_T2M_LAYER_COUNT_10)
  45. #define NEED_SPLAT_MAP_1
  46. #define NEED_SPLAT_MAP_2
  47. #define NEED_PAINT_MAP_2
  48. #define NEED_PAINT_MAP_3
  49. #define NEED_PAINT_MAP_4
  50. #define NEED_PAINT_MAP_5
  51. #define NEED_PAINT_MAP_6
  52. #define NEED_PAINT_MAP_7
  53. #define NEED_PAINT_MAP_8
  54. #define NEED_PAINT_MAP_9
  55. #elif defined(_T2M_LAYER_COUNT_11)
  56. #define NEED_SPLAT_MAP_1
  57. #define NEED_SPLAT_MAP_2
  58. #define NEED_PAINT_MAP_2
  59. #define NEED_PAINT_MAP_3
  60. #define NEED_PAINT_MAP_4
  61. #define NEED_PAINT_MAP_5
  62. #define NEED_PAINT_MAP_6
  63. #define NEED_PAINT_MAP_7
  64. #define NEED_PAINT_MAP_8
  65. #define NEED_PAINT_MAP_9
  66. #define NEED_PAINT_MAP_10
  67. #elif defined(_T2M_LAYER_COUNT_12)
  68. #define NEED_SPLAT_MAP_1
  69. #define NEED_SPLAT_MAP_2
  70. #define NEED_PAINT_MAP_2
  71. #define NEED_PAINT_MAP_3
  72. #define NEED_PAINT_MAP_4
  73. #define NEED_PAINT_MAP_5
  74. #define NEED_PAINT_MAP_6
  75. #define NEED_PAINT_MAP_7
  76. #define NEED_PAINT_MAP_8
  77. #define NEED_PAINT_MAP_9
  78. #define NEED_PAINT_MAP_10
  79. #define NEED_PAINT_MAP_11
  80. #elif defined(_T2M_LAYER_COUNT_13)
  81. #define NEED_SPLAT_MAP_1
  82. #define NEED_SPLAT_MAP_2
  83. #define NEED_SPLAT_MAP_3
  84. #define NEED_PAINT_MAP_2
  85. #define NEED_PAINT_MAP_3
  86. #define NEED_PAINT_MAP_4
  87. #define NEED_PAINT_MAP_5
  88. #define NEED_PAINT_MAP_6
  89. #define NEED_PAINT_MAP_7
  90. #define NEED_PAINT_MAP_8
  91. #define NEED_PAINT_MAP_9
  92. #define NEED_PAINT_MAP_10
  93. #define NEED_PAINT_MAP_11
  94. #define NEED_PAINT_MAP_12
  95. #elif defined(_T2M_LAYER_COUNT_14)
  96. #define NEED_SPLAT_MAP_1
  97. #define NEED_SPLAT_MAP_2
  98. #define NEED_SPLAT_MAP_3
  99. #define NEED_PAINT_MAP_2
  100. #define NEED_PAINT_MAP_3
  101. #define NEED_PAINT_MAP_4
  102. #define NEED_PAINT_MAP_5
  103. #define NEED_PAINT_MAP_6
  104. #define NEED_PAINT_MAP_7
  105. #define NEED_PAINT_MAP_8
  106. #define NEED_PAINT_MAP_9
  107. #define NEED_PAINT_MAP_10
  108. #define NEED_PAINT_MAP_11
  109. #define NEED_PAINT_MAP_12
  110. #define NEED_PAINT_MAP_13
  111. #elif defined(_T2M_LAYER_COUNT_15)
  112. #define NEED_SPLAT_MAP_1
  113. #define NEED_SPLAT_MAP_2
  114. #define NEED_SPLAT_MAP_3
  115. #define NEED_PAINT_MAP_2
  116. #define NEED_PAINT_MAP_3
  117. #define NEED_PAINT_MAP_4
  118. #define NEED_PAINT_MAP_5
  119. #define NEED_PAINT_MAP_6
  120. #define NEED_PAINT_MAP_7
  121. #define NEED_PAINT_MAP_8
  122. #define NEED_PAINT_MAP_9
  123. #define NEED_PAINT_MAP_10
  124. #define NEED_PAINT_MAP_11
  125. #define NEED_PAINT_MAP_12
  126. #define NEED_PAINT_MAP_13
  127. #define NEED_PAINT_MAP_14
  128. #elif defined(_T2M_LAYER_COUNT_16)
  129. #define NEED_SPLAT_MAP_1
  130. #define NEED_SPLAT_MAP_2
  131. #define NEED_SPLAT_MAP_3
  132. #define NEED_PAINT_MAP_2
  133. #define NEED_PAINT_MAP_3
  134. #define NEED_PAINT_MAP_4
  135. #define NEED_PAINT_MAP_5
  136. #define NEED_PAINT_MAP_6
  137. #define NEED_PAINT_MAP_7
  138. #define NEED_PAINT_MAP_8
  139. #define NEED_PAINT_MAP_9
  140. #define NEED_PAINT_MAP_10
  141. #define NEED_PAINT_MAP_11
  142. #define NEED_PAINT_MAP_12
  143. #define NEED_PAINT_MAP_13
  144. #define NEED_PAINT_MAP_14
  145. #define NEED_PAINT_MAP_15
  146. #endif
  147. #if defined(_T2M_TEXTURE_SAMPLE_TYPE_ARRAY)
  148. #define T2M_DECLARE_LAYER(l) float4 _T2M_Layer_##l##_MapsUsage; float4 _T2M_Layer_##l##_uvScaleOffset; float4 _T2M_Layer_##l##_ColorTint; float4 _T2M_Layer_##l##_MetallicOcclusionSmoothness; int _T2M_Layer_##l##_SmoothnessFromDiffuseAlpha;
  149. #define T2M_DECALRE_NORMAL(l) float _T2M_Layer_##l##_NormalScale;
  150. #define T2M_DECALRE_MASK(l) float4 _T2M_Layer_##l##_MaskMapRemapMin; float4 _T2M_Layer_##l##_MaskMapRemapMax;
  151. #else
  152. #define T2M_DECLARE_LAYER(l) UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_Layer_##l##_Diffuse); float4 _T2M_Layer_##l##_uvScaleOffset; float4 _T2M_Layer_##l##_ColorTint; float4 _T2M_Layer_##l##_MetallicOcclusionSmoothness; int _T2M_Layer_##l##_SmoothnessFromDiffuseAlpha;
  153. #define T2M_DECALRE_NORMAL(l) UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_Layer_##l##_NormalMap); float _T2M_Layer_##l##_NormalScale;
  154. #define T2M_DECALRE_MASK(l) UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_Layer_##l##_Mask); float4 _T2M_Layer_##l##_MaskMapRemapMin; float4 _T2M_Layer_##l##_MaskMapRemapMax;
  155. #endif
  156. //Layer Count/////////////////////////////////////////////////////////////////////////////
  157. int _T2M_Layer_Count;
  158. //Holes///////////////////////////////////////////////////////////////////////////////////
  159. #if defined(_ALPHATEST_ON)
  160. UNITY_DECLARE_TEX2D(_T2M_HolesMap);
  161. #endif
  162. #if defined(_T2M_TEXTURE_SAMPLE_TYPE_ARRAY)
  163. UNITY_DECLARE_TEX2DARRAY(_T2M_SplatMaps2DArray);
  164. UNITY_DECLARE_TEX2DARRAY(_T2M_DiffuseMaps2DArray);
  165. UNITY_DECLARE_TEX2DARRAY(_T2M_NormalMaps2DArray);
  166. UNITY_DECLARE_TEX2DARRAY(_T2M_MaskMaps2DArray);
  167. float4 _T2M_Layer_0_MapsUsage;
  168. #else
  169. //Splatmaps///////////////////////////////////////////////////////////////////////////////
  170. UNITY_DECLARE_TEX2D(_T2M_SplatMap_0);
  171. #if defined(NEED_SPLAT_MAP_1)
  172. UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_SplatMap_1);
  173. #endif
  174. #if defined(NEED_SPLAT_MAP_2)
  175. UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_SplatMap_2);
  176. #endif
  177. #if defined(NEED_SPLAT_MAP_3)
  178. UNITY_DECLARE_TEX2D_NOSAMPLER(_T2M_SplatMap_3);
  179. #endif
  180. //Layers//////////////////////////////////////////////////////////////////////////////////
  181. UNITY_DECLARE_TEX2D(_T2M_Layer_0_Diffuse);
  182. #endif
  183. float4 _T2M_Layer_0_uvScaleOffset;
  184. float4 _T2M_Layer_0_ColorTint;
  185. float4 _T2M_Layer_0_MetallicOcclusionSmoothness;
  186. int _T2M_Layer_0_SmoothnessFromDiffuseAlpha;
  187. #if defined(_T2M_LAYER_0_NORMAL)
  188. T2M_DECALRE_NORMAL(0)
  189. #endif
  190. #if defined(_T2M_LAYER_0_MASK)
  191. T2M_DECALRE_MASK(0)
  192. #endif
  193. T2M_DECLARE_LAYER(1)
  194. #if defined(_T2M_LAYER_1_NORMAL)
  195. T2M_DECALRE_NORMAL(1)
  196. #endif
  197. #if defined(_T2M_LAYER_1_MASK)
  198. T2M_DECALRE_MASK(1)
  199. #endif
  200. T2M_DECLARE_LAYER(2)
  201. #if defined(_T2M_LAYER_2_NORMAL)
  202. T2M_DECALRE_NORMAL(2)
  203. #endif
  204. #if defined(_T2M_LAYER_2_MASK)
  205. T2M_DECALRE_MASK(2)
  206. #endif
  207. #ifdef NEED_PAINT_MAP_3
  208. T2M_DECLARE_LAYER(3)
  209. #if defined(_T2M_LAYER_3_NORMAL)
  210. T2M_DECALRE_NORMAL(3)
  211. #endif
  212. #if defined(_T2M_LAYER_3_MASK)
  213. T2M_DECALRE_MASK(3)
  214. #endif
  215. #endif
  216. #if defined(NEED_SPLAT_MAP_1)
  217. #ifdef NEED_PAINT_MAP_4
  218. T2M_DECLARE_LAYER(4)
  219. #if defined(_T2M_LAYER_4_NORMAL)
  220. T2M_DECALRE_NORMAL(4)
  221. #endif
  222. #if defined(_T2M_LAYER_4_MASK)
  223. T2M_DECALRE_MASK(4)
  224. #endif
  225. #endif
  226. #ifdef NEED_PAINT_MAP_5
  227. T2M_DECLARE_LAYER(5)
  228. #if defined(_T2M_LAYER_5_NORMAL)
  229. T2M_DECALRE_NORMAL(5)
  230. #endif
  231. #if defined(_T2M_LAYER_5_MASK)
  232. T2M_DECALRE_MASK(5)
  233. #endif
  234. #endif
  235. #ifdef NEED_PAINT_MAP_6
  236. T2M_DECLARE_LAYER(6)
  237. #if defined(_T2M_LAYER_6_NORMAL)
  238. T2M_DECALRE_NORMAL(6)
  239. #endif
  240. #if defined(_T2M_LAYER_6_MASK)
  241. T2M_DECALRE_MASK(6)
  242. #endif
  243. #endif
  244. #ifdef NEED_PAINT_MAP_7
  245. T2M_DECLARE_LAYER(7)
  246. #if defined(_T2M_LAYER_7_NORMAL)
  247. T2M_DECALRE_NORMAL(7)
  248. #endif
  249. #if defined(_T2M_LAYER_7_MASK)
  250. T2M_DECALRE_MASK(7)
  251. #endif
  252. #endif
  253. #endif
  254. #if defined(NEED_SPLAT_MAP_2)
  255. #ifdef NEED_PAINT_MAP_8
  256. T2M_DECLARE_LAYER(8)
  257. #if defined(_T2M_LAYER_8_NORMAL)
  258. T2M_DECALRE_NORMAL(8)
  259. #endif
  260. #if defined(_T2M_LAYER_8_MASK)
  261. T2M_DECALRE_MASK(8)
  262. #endif
  263. #endif
  264. #ifdef NEED_PAINT_MAP_9
  265. T2M_DECLARE_LAYER(9)
  266. #if defined(_T2M_LAYER_9_NORMAL)
  267. T2M_DECALRE_NORMAL(9)
  268. #endif
  269. #if defined(_T2M_LAYER_9_MASK)
  270. T2M_DECALRE_MASK(9)
  271. #endif
  272. #endif
  273. #ifdef NEED_PAINT_MAP_10
  274. T2M_DECLARE_LAYER(10)
  275. #if defined(_T2M_LAYER_10_NORMAL)
  276. T2M_DECALRE_NORMAL(10)
  277. #endif
  278. #if defined(_T2M_LAYER_10_MASK)
  279. T2M_DECALRE_MASK(10)
  280. #endif
  281. #endif
  282. #ifdef NEED_PAINT_MAP_11
  283. T2M_DECLARE_LAYER(11)
  284. #if defined(_T2M_LAYER_11_NORMAL)
  285. T2M_DECALRE_NORMAL(11)
  286. #endif
  287. #if defined(_T2M_LAYER_11_MASK)
  288. T2M_DECALRE_MASK(11)
  289. #endif
  290. #endif
  291. #endif
  292. #if defined(NEED_SPLAT_MAP_3)
  293. #ifdef NEED_PAINT_MAP_12
  294. T2M_DECLARE_LAYER(12)
  295. #if defined(_T2M_LAYER_12_NORMAL)
  296. T2M_DECALRE_NORMAL(12)
  297. #endif
  298. #if defined(_T2M_LAYER_12_MASK)
  299. T2M_DECALRE_MASK(12)
  300. #endif
  301. #endif
  302. #ifdef NEED_PAINT_MAP_13
  303. T2M_DECLARE_LAYER(13)
  304. #if defined(_T2M_LAYER_13_NORMAL)
  305. T2M_DECALRE_NORMAL(13)
  306. #endif
  307. #if defined(_T2M_LAYER_13_MASK)
  308. T2M_DECALRE_MASK(13)
  309. #endif
  310. #endif
  311. #ifdef NEED_PAINT_MAP_14
  312. T2M_DECLARE_LAYER(14)
  313. #if defined(_T2M_LAYER_14_NORMAL)
  314. T2M_DECALRE_NORMAL(14)
  315. #endif
  316. #if defined(_T2M_LAYER_14_MASK)
  317. T2M_DECALRE_MASK(14)
  318. #endif
  319. #endif
  320. #ifdef NEED_PAINT_MAP_15
  321. T2M_DECLARE_LAYER(15)
  322. #if defined(_T2M_LAYER_15_NORMAL)
  323. T2M_DECALRE_NORMAL(15)
  324. #endif
  325. #if defined(_T2M_LAYER_15_MASK)
  326. T2M_DECALRE_MASK(15)
  327. #endif
  328. #endif
  329. #endif
  330. #endif