Advertisement
haowan

compiled flora2 surface shader code

Jan 10th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 118.39 KB | None | 0 0
  1. // Compiled shader for Android, uncompressed size: 114.4KB
  2.  
  3. Shader "Starboretum/Flora2" {
  4. SubShader {
  5. Tags { "QUEUE"="Geometry" "RenderType"="Opaque" }
  6. Pass {
  7. Name "FORWARD"
  8. Tags { "LIGHTMODE"="ForwardBase" "SHADOWSUPPORT"="true" "QUEUE"="Geometry" "RenderType"="Opaque" }
  9. Cull Off
  10. Program "vp" {
  11. SubProgram "gles " {
  12. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  13. "!!GLES
  14.  
  15.  
  16. #ifdef VERTEX
  17.  
  18. attribute vec4 _glesVertex;
  19. attribute vec4 _glesColor;
  20. attribute vec3 _glesNormal;
  21. attribute vec4 _glesMultiTexCoord0;
  22. attribute vec4 _glesMultiTexCoord1;
  23. attribute vec4 _glesTANGENT;
  24. uniform highp vec3 _WorldSpaceCameraPos;
  25. uniform highp vec4 unity_SHAr;
  26. uniform highp vec4 unity_SHAg;
  27. uniform highp vec4 unity_SHAb;
  28. uniform highp vec4 unity_SHBr;
  29. uniform highp vec4 unity_SHBg;
  30. uniform highp vec4 unity_SHBb;
  31. uniform highp vec4 unity_SHC;
  32. uniform highp mat4 glstate_matrix_mvp;
  33. uniform highp mat4 _Object2World;
  34. uniform highp vec4 unity_Scale;
  35. uniform highp float _IterationProgress;
  36. varying lowp vec4 xlv_COLOR0;
  37. varying lowp vec3 xlv_TEXCOORD0;
  38. varying lowp vec3 xlv_TEXCOORD1;
  39. void main ()
  40. {
  41. highp vec3 shlight_1;
  42. lowp vec3 tmpvar_2;
  43. lowp vec3 tmpvar_3;
  44. highp vec4 tmpvar_4;
  45. lowp vec4 tmpvar_5;
  46. tmpvar_4.w = _glesVertex.w;
  47. highp vec3 tmpvar_6;
  48. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  49. highp vec3 tmpvar_7;
  50. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  51. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  52. highp vec4 tmpvar_8;
  53. tmpvar_8.w = 1.0;
  54. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  55. tmpvar_5 = tmpvar_8;
  56. mat3 tmpvar_9;
  57. tmpvar_9[0] = _Object2World[0].xyz;
  58. tmpvar_9[1] = _Object2World[1].xyz;
  59. tmpvar_9[2] = _Object2World[2].xyz;
  60. highp vec3 tmpvar_10;
  61. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  62. tmpvar_2 = tmpvar_10;
  63. highp vec4 tmpvar_11;
  64. tmpvar_11.w = 1.0;
  65. tmpvar_11.xyz = tmpvar_10;
  66. mediump vec3 tmpvar_12;
  67. mediump vec4 normal_13;
  68. normal_13 = tmpvar_11;
  69. highp float vC_14;
  70. mediump vec3 x3_15;
  71. mediump vec3 x2_16;
  72. mediump vec3 x1_17;
  73. highp float tmpvar_18;
  74. tmpvar_18 = dot (unity_SHAr, normal_13);
  75. x1_17.x = tmpvar_18;
  76. highp float tmpvar_19;
  77. tmpvar_19 = dot (unity_SHAg, normal_13);
  78. x1_17.y = tmpvar_19;
  79. highp float tmpvar_20;
  80. tmpvar_20 = dot (unity_SHAb, normal_13);
  81. x1_17.z = tmpvar_20;
  82. mediump vec4 tmpvar_21;
  83. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  84. highp float tmpvar_22;
  85. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  86. x2_16.x = tmpvar_22;
  87. highp float tmpvar_23;
  88. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  89. x2_16.y = tmpvar_23;
  90. highp float tmpvar_24;
  91. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  92. x2_16.z = tmpvar_24;
  93. mediump float tmpvar_25;
  94. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  95. vC_14 = tmpvar_25;
  96. highp vec3 tmpvar_26;
  97. tmpvar_26 = (unity_SHC.xyz * vC_14);
  98. x3_15 = tmpvar_26;
  99. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  100. shlight_1 = tmpvar_12;
  101. tmpvar_3 = shlight_1;
  102. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  103. xlv_COLOR0 = tmpvar_5;
  104. xlv_TEXCOORD0 = tmpvar_2;
  105. xlv_TEXCOORD1 = tmpvar_3;
  106. }
  107.  
  108.  
  109.  
  110. #endif
  111. #ifdef FRAGMENT
  112.  
  113. varying lowp vec4 xlv_COLOR0;
  114. varying lowp vec3 xlv_TEXCOORD1;
  115. void main ()
  116. {
  117. lowp vec4 c_1;
  118. highp vec4 tmpvar_2;
  119. tmpvar_2 = xlv_COLOR0;
  120. lowp vec3 tmpvar_3;
  121. highp vec3 tmpvar_4;
  122. tmpvar_4 = tmpvar_2.xyz;
  123. tmpvar_3 = tmpvar_4;
  124. lowp vec4 c_5;
  125. c_5.xyz = tmpvar_3;
  126. c_5.w = 0.0;
  127. c_1.w = c_5.w;
  128. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  129. gl_FragData[0] = c_1;
  130. }
  131.  
  132.  
  133.  
  134. #endif"
  135. }
  136. SubProgram "gles3 " {
  137. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  138. "!!GLES3#version 300 es
  139.  
  140.  
  141. #ifdef VERTEX
  142.  
  143. in vec4 _glesVertex;
  144. in vec4 _glesColor;
  145. in vec3 _glesNormal;
  146. in vec4 _glesMultiTexCoord0;
  147. in vec4 _glesMultiTexCoord1;
  148. #define TANGENT _glesTANGENT
  149. in vec4 _glesTANGENT;
  150. uniform highp vec3 _WorldSpaceCameraPos;
  151. uniform highp vec4 unity_SHAr;
  152. uniform highp vec4 unity_SHAg;
  153. uniform highp vec4 unity_SHAb;
  154. uniform highp vec4 unity_SHBr;
  155. uniform highp vec4 unity_SHBg;
  156. uniform highp vec4 unity_SHBb;
  157. uniform highp vec4 unity_SHC;
  158. uniform highp mat4 glstate_matrix_mvp;
  159. uniform highp mat4 _Object2World;
  160. uniform highp vec4 unity_Scale;
  161. uniform highp float _IterationProgress;
  162. out lowp vec4 xlv_COLOR0;
  163. out lowp vec3 xlv_TEXCOORD0;
  164. out lowp vec3 xlv_TEXCOORD1;
  165. void main ()
  166. {
  167. highp vec3 shlight_1;
  168. lowp vec3 tmpvar_2;
  169. lowp vec3 tmpvar_3;
  170. highp vec4 tmpvar_4;
  171. lowp vec4 tmpvar_5;
  172. tmpvar_4.w = _glesVertex.w;
  173. highp vec3 tmpvar_6;
  174. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  175. highp vec3 tmpvar_7;
  176. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  177. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  178. highp vec4 tmpvar_8;
  179. tmpvar_8.w = 1.0;
  180. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  181. tmpvar_5 = tmpvar_8;
  182. mat3 tmpvar_9;
  183. tmpvar_9[0] = _Object2World[0].xyz;
  184. tmpvar_9[1] = _Object2World[1].xyz;
  185. tmpvar_9[2] = _Object2World[2].xyz;
  186. highp vec3 tmpvar_10;
  187. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  188. tmpvar_2 = tmpvar_10;
  189. highp vec4 tmpvar_11;
  190. tmpvar_11.w = 1.0;
  191. tmpvar_11.xyz = tmpvar_10;
  192. mediump vec3 tmpvar_12;
  193. mediump vec4 normal_13;
  194. normal_13 = tmpvar_11;
  195. highp float vC_14;
  196. mediump vec3 x3_15;
  197. mediump vec3 x2_16;
  198. mediump vec3 x1_17;
  199. highp float tmpvar_18;
  200. tmpvar_18 = dot (unity_SHAr, normal_13);
  201. x1_17.x = tmpvar_18;
  202. highp float tmpvar_19;
  203. tmpvar_19 = dot (unity_SHAg, normal_13);
  204. x1_17.y = tmpvar_19;
  205. highp float tmpvar_20;
  206. tmpvar_20 = dot (unity_SHAb, normal_13);
  207. x1_17.z = tmpvar_20;
  208. mediump vec4 tmpvar_21;
  209. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  210. highp float tmpvar_22;
  211. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  212. x2_16.x = tmpvar_22;
  213. highp float tmpvar_23;
  214. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  215. x2_16.y = tmpvar_23;
  216. highp float tmpvar_24;
  217. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  218. x2_16.z = tmpvar_24;
  219. mediump float tmpvar_25;
  220. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  221. vC_14 = tmpvar_25;
  222. highp vec3 tmpvar_26;
  223. tmpvar_26 = (unity_SHC.xyz * vC_14);
  224. x3_15 = tmpvar_26;
  225. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  226. shlight_1 = tmpvar_12;
  227. tmpvar_3 = shlight_1;
  228. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  229. xlv_COLOR0 = tmpvar_5;
  230. xlv_TEXCOORD0 = tmpvar_2;
  231. xlv_TEXCOORD1 = tmpvar_3;
  232. }
  233.  
  234.  
  235.  
  236. #endif
  237. #ifdef FRAGMENT
  238.  
  239. out mediump vec4 _glesFragData[4];
  240. in lowp vec4 xlv_COLOR0;
  241. in lowp vec3 xlv_TEXCOORD1;
  242. void main ()
  243. {
  244. lowp vec4 c_1;
  245. highp vec4 tmpvar_2;
  246. tmpvar_2 = xlv_COLOR0;
  247. lowp vec3 tmpvar_3;
  248. highp vec3 tmpvar_4;
  249. tmpvar_4 = tmpvar_2.xyz;
  250. tmpvar_3 = tmpvar_4;
  251. lowp vec4 c_5;
  252. c_5.xyz = tmpvar_3;
  253. c_5.w = 0.0;
  254. c_1.w = c_5.w;
  255. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  256. _glesFragData[0] = c_1;
  257. }
  258.  
  259.  
  260.  
  261. #endif"
  262. }
  263. SubProgram "gles " {
  264. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  265. "!!GLES
  266.  
  267.  
  268. #ifdef VERTEX
  269.  
  270. attribute vec4 _glesVertex;
  271. attribute vec4 _glesColor;
  272. attribute vec4 _glesMultiTexCoord0;
  273. attribute vec4 _glesMultiTexCoord1;
  274. attribute vec4 _glesTANGENT;
  275. uniform highp vec3 _WorldSpaceCameraPos;
  276. uniform highp mat4 glstate_matrix_mvp;
  277. uniform highp mat4 _Object2World;
  278. uniform highp float _IterationProgress;
  279. uniform highp vec4 unity_LightmapST;
  280. varying lowp vec4 xlv_COLOR0;
  281. varying highp vec2 xlv_TEXCOORD0;
  282. void main ()
  283. {
  284. highp vec4 tmpvar_1;
  285. lowp vec4 tmpvar_2;
  286. tmpvar_1.w = _glesVertex.w;
  287. highp vec3 tmpvar_3;
  288. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  289. highp vec3 tmpvar_4;
  290. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  291. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  292. highp vec4 tmpvar_5;
  293. tmpvar_5.w = 1.0;
  294. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  295. tmpvar_2 = tmpvar_5;
  296. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  297. xlv_COLOR0 = tmpvar_2;
  298. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  299. }
  300.  
  301.  
  302.  
  303. #endif
  304. #ifdef FRAGMENT
  305.  
  306. uniform sampler2D unity_Lightmap;
  307. varying lowp vec4 xlv_COLOR0;
  308. varying highp vec2 xlv_TEXCOORD0;
  309. void main ()
  310. {
  311. lowp vec4 c_1;
  312. highp vec4 tmpvar_2;
  313. tmpvar_2 = xlv_COLOR0;
  314. lowp vec3 tmpvar_3;
  315. highp vec3 tmpvar_4;
  316. tmpvar_4 = tmpvar_2.xyz;
  317. tmpvar_3 = tmpvar_4;
  318. c_1.xyz = (tmpvar_3 * (2.0 * texture2D (unity_Lightmap, xlv_TEXCOORD0).xyz));
  319. c_1.w = 0.0;
  320. gl_FragData[0] = c_1;
  321. }
  322.  
  323.  
  324.  
  325. #endif"
  326. }
  327. SubProgram "gles3 " {
  328. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  329. "!!GLES3#version 300 es
  330.  
  331.  
  332. #ifdef VERTEX
  333.  
  334. in vec4 _glesVertex;
  335. in vec4 _glesColor;
  336. in vec4 _glesMultiTexCoord0;
  337. in vec4 _glesMultiTexCoord1;
  338. #define TANGENT _glesTANGENT
  339. in vec4 _glesTANGENT;
  340. uniform highp vec3 _WorldSpaceCameraPos;
  341. uniform highp mat4 glstate_matrix_mvp;
  342. uniform highp mat4 _Object2World;
  343. uniform highp float _IterationProgress;
  344. uniform highp vec4 unity_LightmapST;
  345. out lowp vec4 xlv_COLOR0;
  346. out highp vec2 xlv_TEXCOORD0;
  347. void main ()
  348. {
  349. highp vec4 tmpvar_1;
  350. lowp vec4 tmpvar_2;
  351. tmpvar_1.w = _glesVertex.w;
  352. highp vec3 tmpvar_3;
  353. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  354. highp vec3 tmpvar_4;
  355. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  356. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  357. highp vec4 tmpvar_5;
  358. tmpvar_5.w = 1.0;
  359. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  360. tmpvar_2 = tmpvar_5;
  361. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  362. xlv_COLOR0 = tmpvar_2;
  363. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  364. }
  365.  
  366.  
  367.  
  368. #endif
  369. #ifdef FRAGMENT
  370.  
  371. out mediump vec4 _glesFragData[4];
  372. uniform sampler2D unity_Lightmap;
  373. in lowp vec4 xlv_COLOR0;
  374. in highp vec2 xlv_TEXCOORD0;
  375. void main ()
  376. {
  377. lowp vec4 c_1;
  378. highp vec4 tmpvar_2;
  379. tmpvar_2 = xlv_COLOR0;
  380. lowp vec3 tmpvar_3;
  381. highp vec3 tmpvar_4;
  382. tmpvar_4 = tmpvar_2.xyz;
  383. tmpvar_3 = tmpvar_4;
  384. c_1.xyz = (tmpvar_3 * (2.0 * texture (unity_Lightmap, xlv_TEXCOORD0).xyz));
  385. c_1.w = 0.0;
  386. _glesFragData[0] = c_1;
  387. }
  388.  
  389.  
  390.  
  391. #endif"
  392. }
  393. SubProgram "gles " {
  394. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  395. "!!GLES
  396.  
  397.  
  398. #ifdef VERTEX
  399.  
  400. attribute vec4 _glesVertex;
  401. attribute vec4 _glesColor;
  402. attribute vec3 _glesNormal;
  403. attribute vec4 _glesMultiTexCoord0;
  404. attribute vec4 _glesMultiTexCoord1;
  405. attribute vec4 _glesTANGENT;
  406. uniform highp vec3 _WorldSpaceCameraPos;
  407. uniform highp vec4 unity_SHAr;
  408. uniform highp vec4 unity_SHAg;
  409. uniform highp vec4 unity_SHAb;
  410. uniform highp vec4 unity_SHBr;
  411. uniform highp vec4 unity_SHBg;
  412. uniform highp vec4 unity_SHBb;
  413. uniform highp vec4 unity_SHC;
  414. uniform highp mat4 unity_World2Shadow[4];
  415. uniform highp mat4 glstate_matrix_mvp;
  416. uniform highp mat4 _Object2World;
  417. uniform highp vec4 unity_Scale;
  418. uniform highp float _IterationProgress;
  419. varying lowp vec4 xlv_COLOR0;
  420. varying lowp vec3 xlv_TEXCOORD0;
  421. varying lowp vec3 xlv_TEXCOORD1;
  422. varying highp vec4 xlv_TEXCOORD2;
  423. void main ()
  424. {
  425. highp vec3 shlight_1;
  426. lowp vec3 tmpvar_2;
  427. lowp vec3 tmpvar_3;
  428. highp vec4 tmpvar_4;
  429. lowp vec4 tmpvar_5;
  430. tmpvar_4.w = _glesVertex.w;
  431. highp vec3 tmpvar_6;
  432. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  433. highp vec3 tmpvar_7;
  434. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  435. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  436. highp vec4 tmpvar_8;
  437. tmpvar_8.w = 1.0;
  438. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  439. tmpvar_5 = tmpvar_8;
  440. mat3 tmpvar_9;
  441. tmpvar_9[0] = _Object2World[0].xyz;
  442. tmpvar_9[1] = _Object2World[1].xyz;
  443. tmpvar_9[2] = _Object2World[2].xyz;
  444. highp vec3 tmpvar_10;
  445. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  446. tmpvar_2 = tmpvar_10;
  447. highp vec4 tmpvar_11;
  448. tmpvar_11.w = 1.0;
  449. tmpvar_11.xyz = tmpvar_10;
  450. mediump vec3 tmpvar_12;
  451. mediump vec4 normal_13;
  452. normal_13 = tmpvar_11;
  453. highp float vC_14;
  454. mediump vec3 x3_15;
  455. mediump vec3 x2_16;
  456. mediump vec3 x1_17;
  457. highp float tmpvar_18;
  458. tmpvar_18 = dot (unity_SHAr, normal_13);
  459. x1_17.x = tmpvar_18;
  460. highp float tmpvar_19;
  461. tmpvar_19 = dot (unity_SHAg, normal_13);
  462. x1_17.y = tmpvar_19;
  463. highp float tmpvar_20;
  464. tmpvar_20 = dot (unity_SHAb, normal_13);
  465. x1_17.z = tmpvar_20;
  466. mediump vec4 tmpvar_21;
  467. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  468. highp float tmpvar_22;
  469. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  470. x2_16.x = tmpvar_22;
  471. highp float tmpvar_23;
  472. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  473. x2_16.y = tmpvar_23;
  474. highp float tmpvar_24;
  475. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  476. x2_16.z = tmpvar_24;
  477. mediump float tmpvar_25;
  478. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  479. vC_14 = tmpvar_25;
  480. highp vec3 tmpvar_26;
  481. tmpvar_26 = (unity_SHC.xyz * vC_14);
  482. x3_15 = tmpvar_26;
  483. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  484. shlight_1 = tmpvar_12;
  485. tmpvar_3 = shlight_1;
  486. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  487. xlv_COLOR0 = tmpvar_5;
  488. xlv_TEXCOORD0 = tmpvar_2;
  489. xlv_TEXCOORD1 = tmpvar_3;
  490. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  491. }
  492.  
  493.  
  494.  
  495. #endif
  496. #ifdef FRAGMENT
  497.  
  498. varying lowp vec4 xlv_COLOR0;
  499. varying lowp vec3 xlv_TEXCOORD1;
  500. void main ()
  501. {
  502. lowp vec4 c_1;
  503. highp vec4 tmpvar_2;
  504. tmpvar_2 = xlv_COLOR0;
  505. lowp vec3 tmpvar_3;
  506. highp vec3 tmpvar_4;
  507. tmpvar_4 = tmpvar_2.xyz;
  508. tmpvar_3 = tmpvar_4;
  509. lowp vec4 c_5;
  510. c_5.xyz = tmpvar_3;
  511. c_5.w = 0.0;
  512. c_1.w = c_5.w;
  513. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  514. gl_FragData[0] = c_1;
  515. }
  516.  
  517.  
  518.  
  519. #endif"
  520. }
  521. SubProgram "gles3 " {
  522. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  523. "!!GLES3#version 300 es
  524.  
  525.  
  526. #ifdef VERTEX
  527.  
  528. in vec4 _glesVertex;
  529. in vec4 _glesColor;
  530. in vec3 _glesNormal;
  531. in vec4 _glesMultiTexCoord0;
  532. in vec4 _glesMultiTexCoord1;
  533. #define TANGENT _glesTANGENT
  534. in vec4 _glesTANGENT;
  535. uniform highp vec3 _WorldSpaceCameraPos;
  536. uniform highp vec4 unity_SHAr;
  537. uniform highp vec4 unity_SHAg;
  538. uniform highp vec4 unity_SHAb;
  539. uniform highp vec4 unity_SHBr;
  540. uniform highp vec4 unity_SHBg;
  541. uniform highp vec4 unity_SHBb;
  542. uniform highp vec4 unity_SHC;
  543. uniform highp mat4 unity_World2Shadow[4];
  544. uniform highp mat4 glstate_matrix_mvp;
  545. uniform highp mat4 _Object2World;
  546. uniform highp vec4 unity_Scale;
  547. uniform highp float _IterationProgress;
  548. out lowp vec4 xlv_COLOR0;
  549. out lowp vec3 xlv_TEXCOORD0;
  550. out lowp vec3 xlv_TEXCOORD1;
  551. out highp vec4 xlv_TEXCOORD2;
  552. void main ()
  553. {
  554. highp vec3 shlight_1;
  555. lowp vec3 tmpvar_2;
  556. lowp vec3 tmpvar_3;
  557. highp vec4 tmpvar_4;
  558. lowp vec4 tmpvar_5;
  559. tmpvar_4.w = _glesVertex.w;
  560. highp vec3 tmpvar_6;
  561. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  562. highp vec3 tmpvar_7;
  563. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  564. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  565. highp vec4 tmpvar_8;
  566. tmpvar_8.w = 1.0;
  567. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  568. tmpvar_5 = tmpvar_8;
  569. mat3 tmpvar_9;
  570. tmpvar_9[0] = _Object2World[0].xyz;
  571. tmpvar_9[1] = _Object2World[1].xyz;
  572. tmpvar_9[2] = _Object2World[2].xyz;
  573. highp vec3 tmpvar_10;
  574. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  575. tmpvar_2 = tmpvar_10;
  576. highp vec4 tmpvar_11;
  577. tmpvar_11.w = 1.0;
  578. tmpvar_11.xyz = tmpvar_10;
  579. mediump vec3 tmpvar_12;
  580. mediump vec4 normal_13;
  581. normal_13 = tmpvar_11;
  582. highp float vC_14;
  583. mediump vec3 x3_15;
  584. mediump vec3 x2_16;
  585. mediump vec3 x1_17;
  586. highp float tmpvar_18;
  587. tmpvar_18 = dot (unity_SHAr, normal_13);
  588. x1_17.x = tmpvar_18;
  589. highp float tmpvar_19;
  590. tmpvar_19 = dot (unity_SHAg, normal_13);
  591. x1_17.y = tmpvar_19;
  592. highp float tmpvar_20;
  593. tmpvar_20 = dot (unity_SHAb, normal_13);
  594. x1_17.z = tmpvar_20;
  595. mediump vec4 tmpvar_21;
  596. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  597. highp float tmpvar_22;
  598. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  599. x2_16.x = tmpvar_22;
  600. highp float tmpvar_23;
  601. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  602. x2_16.y = tmpvar_23;
  603. highp float tmpvar_24;
  604. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  605. x2_16.z = tmpvar_24;
  606. mediump float tmpvar_25;
  607. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  608. vC_14 = tmpvar_25;
  609. highp vec3 tmpvar_26;
  610. tmpvar_26 = (unity_SHC.xyz * vC_14);
  611. x3_15 = tmpvar_26;
  612. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  613. shlight_1 = tmpvar_12;
  614. tmpvar_3 = shlight_1;
  615. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  616. xlv_COLOR0 = tmpvar_5;
  617. xlv_TEXCOORD0 = tmpvar_2;
  618. xlv_TEXCOORD1 = tmpvar_3;
  619. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  620. }
  621.  
  622.  
  623.  
  624. #endif
  625. #ifdef FRAGMENT
  626.  
  627. out mediump vec4 _glesFragData[4];
  628. in lowp vec4 xlv_COLOR0;
  629. in lowp vec3 xlv_TEXCOORD1;
  630. void main ()
  631. {
  632. lowp vec4 c_1;
  633. highp vec4 tmpvar_2;
  634. tmpvar_2 = xlv_COLOR0;
  635. lowp vec3 tmpvar_3;
  636. highp vec3 tmpvar_4;
  637. tmpvar_4 = tmpvar_2.xyz;
  638. tmpvar_3 = tmpvar_4;
  639. lowp vec4 c_5;
  640. c_5.xyz = tmpvar_3;
  641. c_5.w = 0.0;
  642. c_1.w = c_5.w;
  643. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  644. _glesFragData[0] = c_1;
  645. }
  646.  
  647.  
  648.  
  649. #endif"
  650. }
  651. SubProgram "gles " {
  652. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  653. "!!GLES
  654.  
  655.  
  656. #ifdef VERTEX
  657.  
  658. attribute vec4 _glesVertex;
  659. attribute vec4 _glesColor;
  660. attribute vec4 _glesMultiTexCoord0;
  661. attribute vec4 _glesMultiTexCoord1;
  662. attribute vec4 _glesTANGENT;
  663. uniform highp vec3 _WorldSpaceCameraPos;
  664. uniform highp mat4 unity_World2Shadow[4];
  665. uniform highp mat4 glstate_matrix_mvp;
  666. uniform highp mat4 _Object2World;
  667. uniform highp float _IterationProgress;
  668. uniform highp vec4 unity_LightmapST;
  669. varying lowp vec4 xlv_COLOR0;
  670. varying highp vec2 xlv_TEXCOORD0;
  671. varying highp vec4 xlv_TEXCOORD1;
  672. void main ()
  673. {
  674. highp vec4 tmpvar_1;
  675. lowp vec4 tmpvar_2;
  676. tmpvar_1.w = _glesVertex.w;
  677. highp vec3 tmpvar_3;
  678. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  679. highp vec3 tmpvar_4;
  680. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  681. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  682. highp vec4 tmpvar_5;
  683. tmpvar_5.w = 1.0;
  684. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  685. tmpvar_2 = tmpvar_5;
  686. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  687. xlv_COLOR0 = tmpvar_2;
  688. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  689. xlv_TEXCOORD1 = (unity_World2Shadow[0] * (_Object2World * tmpvar_1));
  690. }
  691.  
  692.  
  693.  
  694. #endif
  695. #ifdef FRAGMENT
  696.  
  697. uniform highp vec4 _LightShadowData;
  698. uniform sampler2D _ShadowMapTexture;
  699. uniform sampler2D unity_Lightmap;
  700. varying lowp vec4 xlv_COLOR0;
  701. varying highp vec2 xlv_TEXCOORD0;
  702. varying highp vec4 xlv_TEXCOORD1;
  703. void main ()
  704. {
  705. lowp vec4 c_1;
  706. highp vec4 tmpvar_2;
  707. tmpvar_2 = xlv_COLOR0;
  708. lowp vec3 tmpvar_3;
  709. highp vec3 tmpvar_4;
  710. tmpvar_4 = tmpvar_2.xyz;
  711. tmpvar_3 = tmpvar_4;
  712. lowp float tmpvar_5;
  713. mediump float lightShadowDataX_6;
  714. highp float dist_7;
  715. lowp float tmpvar_8;
  716. tmpvar_8 = texture2DProj (_ShadowMapTexture, xlv_TEXCOORD1).x;
  717. dist_7 = tmpvar_8;
  718. highp float tmpvar_9;
  719. tmpvar_9 = _LightShadowData.x;
  720. lightShadowDataX_6 = tmpvar_9;
  721. highp float tmpvar_10;
  722. tmpvar_10 = max (float((dist_7 > (xlv_TEXCOORD1.z / xlv_TEXCOORD1.w))), lightShadowDataX_6);
  723. tmpvar_5 = tmpvar_10;
  724. c_1.xyz = (tmpvar_3 * min ((2.0 * texture2D (unity_Lightmap, xlv_TEXCOORD0).xyz), vec3((tmpvar_5 * 2.0))));
  725. c_1.w = 0.0;
  726. gl_FragData[0] = c_1;
  727. }
  728.  
  729.  
  730.  
  731. #endif"
  732. }
  733. SubProgram "gles3 " {
  734. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  735. "!!GLES3#version 300 es
  736.  
  737.  
  738. #ifdef VERTEX
  739.  
  740. in vec4 _glesVertex;
  741. in vec4 _glesColor;
  742. in vec4 _glesMultiTexCoord0;
  743. in vec4 _glesMultiTexCoord1;
  744. #define TANGENT _glesTANGENT
  745. in vec4 _glesTANGENT;
  746. uniform highp vec3 _WorldSpaceCameraPos;
  747. uniform highp mat4 unity_World2Shadow[4];
  748. uniform highp mat4 glstate_matrix_mvp;
  749. uniform highp mat4 _Object2World;
  750. uniform highp float _IterationProgress;
  751. uniform highp vec4 unity_LightmapST;
  752. out lowp vec4 xlv_COLOR0;
  753. out highp vec2 xlv_TEXCOORD0;
  754. out highp vec4 xlv_TEXCOORD1;
  755. void main ()
  756. {
  757. highp vec4 tmpvar_1;
  758. lowp vec4 tmpvar_2;
  759. tmpvar_1.w = _glesVertex.w;
  760. highp vec3 tmpvar_3;
  761. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  762. highp vec3 tmpvar_4;
  763. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  764. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  765. highp vec4 tmpvar_5;
  766. tmpvar_5.w = 1.0;
  767. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  768. tmpvar_2 = tmpvar_5;
  769. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  770. xlv_COLOR0 = tmpvar_2;
  771. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  772. xlv_TEXCOORD1 = (unity_World2Shadow[0] * (_Object2World * tmpvar_1));
  773. }
  774.  
  775.  
  776.  
  777. #endif
  778. #ifdef FRAGMENT
  779.  
  780. out mediump vec4 _glesFragData[4];
  781. uniform highp vec4 _LightShadowData;
  782. uniform sampler2D _ShadowMapTexture;
  783. uniform sampler2D unity_Lightmap;
  784. in lowp vec4 xlv_COLOR0;
  785. in highp vec2 xlv_TEXCOORD0;
  786. in highp vec4 xlv_TEXCOORD1;
  787. void main ()
  788. {
  789. lowp vec4 c_1;
  790. highp vec4 tmpvar_2;
  791. tmpvar_2 = xlv_COLOR0;
  792. lowp vec3 tmpvar_3;
  793. highp vec3 tmpvar_4;
  794. tmpvar_4 = tmpvar_2.xyz;
  795. tmpvar_3 = tmpvar_4;
  796. lowp float tmpvar_5;
  797. mediump float lightShadowDataX_6;
  798. highp float dist_7;
  799. lowp float tmpvar_8;
  800. tmpvar_8 = textureProj (_ShadowMapTexture, xlv_TEXCOORD1).x;
  801. dist_7 = tmpvar_8;
  802. highp float tmpvar_9;
  803. tmpvar_9 = _LightShadowData.x;
  804. lightShadowDataX_6 = tmpvar_9;
  805. highp float tmpvar_10;
  806. tmpvar_10 = max (float((dist_7 > (xlv_TEXCOORD1.z / xlv_TEXCOORD1.w))), lightShadowDataX_6);
  807. tmpvar_5 = tmpvar_10;
  808. c_1.xyz = (tmpvar_3 * min ((2.0 * texture (unity_Lightmap, xlv_TEXCOORD0).xyz), vec3((tmpvar_5 * 2.0))));
  809. c_1.w = 0.0;
  810. _glesFragData[0] = c_1;
  811. }
  812.  
  813.  
  814.  
  815. #endif"
  816. }
  817. SubProgram "gles " {
  818. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  819. "!!GLES
  820.  
  821.  
  822. #ifdef VERTEX
  823.  
  824. attribute vec4 _glesVertex;
  825. attribute vec4 _glesColor;
  826. attribute vec3 _glesNormal;
  827. attribute vec4 _glesMultiTexCoord0;
  828. attribute vec4 _glesMultiTexCoord1;
  829. attribute vec4 _glesTANGENT;
  830. uniform highp vec3 _WorldSpaceCameraPos;
  831. uniform highp vec4 unity_4LightPosX0;
  832. uniform highp vec4 unity_4LightPosY0;
  833. uniform highp vec4 unity_4LightPosZ0;
  834. uniform highp vec4 unity_4LightAtten0;
  835. uniform highp vec4 unity_LightColor[8];
  836. uniform highp vec4 unity_SHAr;
  837. uniform highp vec4 unity_SHAg;
  838. uniform highp vec4 unity_SHAb;
  839. uniform highp vec4 unity_SHBr;
  840. uniform highp vec4 unity_SHBg;
  841. uniform highp vec4 unity_SHBb;
  842. uniform highp vec4 unity_SHC;
  843. uniform highp mat4 glstate_matrix_mvp;
  844. uniform highp mat4 _Object2World;
  845. uniform highp vec4 unity_Scale;
  846. uniform highp float _IterationProgress;
  847. varying lowp vec4 xlv_COLOR0;
  848. varying lowp vec3 xlv_TEXCOORD0;
  849. varying lowp vec3 xlv_TEXCOORD1;
  850. void main ()
  851. {
  852. highp vec3 shlight_1;
  853. lowp vec3 tmpvar_2;
  854. lowp vec3 tmpvar_3;
  855. highp vec4 tmpvar_4;
  856. lowp vec4 tmpvar_5;
  857. tmpvar_4.w = _glesVertex.w;
  858. highp vec3 tmpvar_6;
  859. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  860. highp vec3 tmpvar_7;
  861. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  862. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  863. highp vec4 tmpvar_8;
  864. tmpvar_8.w = 1.0;
  865. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  866. tmpvar_5 = tmpvar_8;
  867. mat3 tmpvar_9;
  868. tmpvar_9[0] = _Object2World[0].xyz;
  869. tmpvar_9[1] = _Object2World[1].xyz;
  870. tmpvar_9[2] = _Object2World[2].xyz;
  871. highp vec3 tmpvar_10;
  872. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  873. tmpvar_2 = tmpvar_10;
  874. highp vec4 tmpvar_11;
  875. tmpvar_11.w = 1.0;
  876. tmpvar_11.xyz = tmpvar_10;
  877. mediump vec3 tmpvar_12;
  878. mediump vec4 normal_13;
  879. normal_13 = tmpvar_11;
  880. highp float vC_14;
  881. mediump vec3 x3_15;
  882. mediump vec3 x2_16;
  883. mediump vec3 x1_17;
  884. highp float tmpvar_18;
  885. tmpvar_18 = dot (unity_SHAr, normal_13);
  886. x1_17.x = tmpvar_18;
  887. highp float tmpvar_19;
  888. tmpvar_19 = dot (unity_SHAg, normal_13);
  889. x1_17.y = tmpvar_19;
  890. highp float tmpvar_20;
  891. tmpvar_20 = dot (unity_SHAb, normal_13);
  892. x1_17.z = tmpvar_20;
  893. mediump vec4 tmpvar_21;
  894. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  895. highp float tmpvar_22;
  896. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  897. x2_16.x = tmpvar_22;
  898. highp float tmpvar_23;
  899. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  900. x2_16.y = tmpvar_23;
  901. highp float tmpvar_24;
  902. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  903. x2_16.z = tmpvar_24;
  904. mediump float tmpvar_25;
  905. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  906. vC_14 = tmpvar_25;
  907. highp vec3 tmpvar_26;
  908. tmpvar_26 = (unity_SHC.xyz * vC_14);
  909. x3_15 = tmpvar_26;
  910. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  911. shlight_1 = tmpvar_12;
  912. tmpvar_3 = shlight_1;
  913. highp vec3 tmpvar_27;
  914. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  915. highp vec4 tmpvar_28;
  916. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  917. highp vec4 tmpvar_29;
  918. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  919. highp vec4 tmpvar_30;
  920. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  921. highp vec4 tmpvar_31;
  922. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  923. highp vec4 tmpvar_32;
  924. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  925. highp vec3 tmpvar_33;
  926. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  927. tmpvar_3 = tmpvar_33;
  928. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  929. xlv_COLOR0 = tmpvar_5;
  930. xlv_TEXCOORD0 = tmpvar_2;
  931. xlv_TEXCOORD1 = tmpvar_3;
  932. }
  933.  
  934.  
  935.  
  936. #endif
  937. #ifdef FRAGMENT
  938.  
  939. varying lowp vec4 xlv_COLOR0;
  940. varying lowp vec3 xlv_TEXCOORD1;
  941. void main ()
  942. {
  943. lowp vec4 c_1;
  944. highp vec4 tmpvar_2;
  945. tmpvar_2 = xlv_COLOR0;
  946. lowp vec3 tmpvar_3;
  947. highp vec3 tmpvar_4;
  948. tmpvar_4 = tmpvar_2.xyz;
  949. tmpvar_3 = tmpvar_4;
  950. lowp vec4 c_5;
  951. c_5.xyz = tmpvar_3;
  952. c_5.w = 0.0;
  953. c_1.w = c_5.w;
  954. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  955. gl_FragData[0] = c_1;
  956. }
  957.  
  958.  
  959.  
  960. #endif"
  961. }
  962. SubProgram "gles3 " {
  963. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  964. "!!GLES3#version 300 es
  965.  
  966.  
  967. #ifdef VERTEX
  968.  
  969. in vec4 _glesVertex;
  970. in vec4 _glesColor;
  971. in vec3 _glesNormal;
  972. in vec4 _glesMultiTexCoord0;
  973. in vec4 _glesMultiTexCoord1;
  974. #define TANGENT _glesTANGENT
  975. in vec4 _glesTANGENT;
  976. uniform highp vec3 _WorldSpaceCameraPos;
  977. uniform highp vec4 unity_4LightPosX0;
  978. uniform highp vec4 unity_4LightPosY0;
  979. uniform highp vec4 unity_4LightPosZ0;
  980. uniform highp vec4 unity_4LightAtten0;
  981. uniform highp vec4 unity_LightColor[8];
  982. uniform highp vec4 unity_SHAr;
  983. uniform highp vec4 unity_SHAg;
  984. uniform highp vec4 unity_SHAb;
  985. uniform highp vec4 unity_SHBr;
  986. uniform highp vec4 unity_SHBg;
  987. uniform highp vec4 unity_SHBb;
  988. uniform highp vec4 unity_SHC;
  989. uniform highp mat4 glstate_matrix_mvp;
  990. uniform highp mat4 _Object2World;
  991. uniform highp vec4 unity_Scale;
  992. uniform highp float _IterationProgress;
  993. out lowp vec4 xlv_COLOR0;
  994. out lowp vec3 xlv_TEXCOORD0;
  995. out lowp vec3 xlv_TEXCOORD1;
  996. void main ()
  997. {
  998. highp vec3 shlight_1;
  999. lowp vec3 tmpvar_2;
  1000. lowp vec3 tmpvar_3;
  1001. highp vec4 tmpvar_4;
  1002. lowp vec4 tmpvar_5;
  1003. tmpvar_4.w = _glesVertex.w;
  1004. highp vec3 tmpvar_6;
  1005. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1006. highp vec3 tmpvar_7;
  1007. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1008. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1009. highp vec4 tmpvar_8;
  1010. tmpvar_8.w = 1.0;
  1011. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1012. tmpvar_5 = tmpvar_8;
  1013. mat3 tmpvar_9;
  1014. tmpvar_9[0] = _Object2World[0].xyz;
  1015. tmpvar_9[1] = _Object2World[1].xyz;
  1016. tmpvar_9[2] = _Object2World[2].xyz;
  1017. highp vec3 tmpvar_10;
  1018. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1019. tmpvar_2 = tmpvar_10;
  1020. highp vec4 tmpvar_11;
  1021. tmpvar_11.w = 1.0;
  1022. tmpvar_11.xyz = tmpvar_10;
  1023. mediump vec3 tmpvar_12;
  1024. mediump vec4 normal_13;
  1025. normal_13 = tmpvar_11;
  1026. highp float vC_14;
  1027. mediump vec3 x3_15;
  1028. mediump vec3 x2_16;
  1029. mediump vec3 x1_17;
  1030. highp float tmpvar_18;
  1031. tmpvar_18 = dot (unity_SHAr, normal_13);
  1032. x1_17.x = tmpvar_18;
  1033. highp float tmpvar_19;
  1034. tmpvar_19 = dot (unity_SHAg, normal_13);
  1035. x1_17.y = tmpvar_19;
  1036. highp float tmpvar_20;
  1037. tmpvar_20 = dot (unity_SHAb, normal_13);
  1038. x1_17.z = tmpvar_20;
  1039. mediump vec4 tmpvar_21;
  1040. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1041. highp float tmpvar_22;
  1042. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1043. x2_16.x = tmpvar_22;
  1044. highp float tmpvar_23;
  1045. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1046. x2_16.y = tmpvar_23;
  1047. highp float tmpvar_24;
  1048. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1049. x2_16.z = tmpvar_24;
  1050. mediump float tmpvar_25;
  1051. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1052. vC_14 = tmpvar_25;
  1053. highp vec3 tmpvar_26;
  1054. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1055. x3_15 = tmpvar_26;
  1056. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1057. shlight_1 = tmpvar_12;
  1058. tmpvar_3 = shlight_1;
  1059. highp vec3 tmpvar_27;
  1060. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  1061. highp vec4 tmpvar_28;
  1062. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  1063. highp vec4 tmpvar_29;
  1064. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  1065. highp vec4 tmpvar_30;
  1066. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  1067. highp vec4 tmpvar_31;
  1068. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  1069. highp vec4 tmpvar_32;
  1070. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  1071. highp vec3 tmpvar_33;
  1072. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  1073. tmpvar_3 = tmpvar_33;
  1074. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1075. xlv_COLOR0 = tmpvar_5;
  1076. xlv_TEXCOORD0 = tmpvar_2;
  1077. xlv_TEXCOORD1 = tmpvar_3;
  1078. }
  1079.  
  1080.  
  1081.  
  1082. #endif
  1083. #ifdef FRAGMENT
  1084.  
  1085. out mediump vec4 _glesFragData[4];
  1086. in lowp vec4 xlv_COLOR0;
  1087. in lowp vec3 xlv_TEXCOORD1;
  1088. void main ()
  1089. {
  1090. lowp vec4 c_1;
  1091. highp vec4 tmpvar_2;
  1092. tmpvar_2 = xlv_COLOR0;
  1093. lowp vec3 tmpvar_3;
  1094. highp vec3 tmpvar_4;
  1095. tmpvar_4 = tmpvar_2.xyz;
  1096. tmpvar_3 = tmpvar_4;
  1097. lowp vec4 c_5;
  1098. c_5.xyz = tmpvar_3;
  1099. c_5.w = 0.0;
  1100. c_1.w = c_5.w;
  1101. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1102. _glesFragData[0] = c_1;
  1103. }
  1104.  
  1105.  
  1106.  
  1107. #endif"
  1108. }
  1109. SubProgram "gles " {
  1110. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  1111. "!!GLES
  1112.  
  1113.  
  1114. #ifdef VERTEX
  1115.  
  1116. attribute vec4 _glesVertex;
  1117. attribute vec4 _glesColor;
  1118. attribute vec3 _glesNormal;
  1119. attribute vec4 _glesMultiTexCoord0;
  1120. attribute vec4 _glesMultiTexCoord1;
  1121. attribute vec4 _glesTANGENT;
  1122. uniform highp vec3 _WorldSpaceCameraPos;
  1123. uniform highp vec4 unity_4LightPosX0;
  1124. uniform highp vec4 unity_4LightPosY0;
  1125. uniform highp vec4 unity_4LightPosZ0;
  1126. uniform highp vec4 unity_4LightAtten0;
  1127. uniform highp vec4 unity_LightColor[8];
  1128. uniform highp vec4 unity_SHAr;
  1129. uniform highp vec4 unity_SHAg;
  1130. uniform highp vec4 unity_SHAb;
  1131. uniform highp vec4 unity_SHBr;
  1132. uniform highp vec4 unity_SHBg;
  1133. uniform highp vec4 unity_SHBb;
  1134. uniform highp vec4 unity_SHC;
  1135. uniform highp mat4 unity_World2Shadow[4];
  1136. uniform highp mat4 glstate_matrix_mvp;
  1137. uniform highp mat4 _Object2World;
  1138. uniform highp vec4 unity_Scale;
  1139. uniform highp float _IterationProgress;
  1140. varying lowp vec4 xlv_COLOR0;
  1141. varying lowp vec3 xlv_TEXCOORD0;
  1142. varying lowp vec3 xlv_TEXCOORD1;
  1143. varying highp vec4 xlv_TEXCOORD2;
  1144. void main ()
  1145. {
  1146. highp vec3 shlight_1;
  1147. lowp vec3 tmpvar_2;
  1148. lowp vec3 tmpvar_3;
  1149. highp vec4 tmpvar_4;
  1150. lowp vec4 tmpvar_5;
  1151. tmpvar_4.w = _glesVertex.w;
  1152. highp vec3 tmpvar_6;
  1153. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1154. highp vec3 tmpvar_7;
  1155. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1156. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1157. highp vec4 tmpvar_8;
  1158. tmpvar_8.w = 1.0;
  1159. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1160. tmpvar_5 = tmpvar_8;
  1161. mat3 tmpvar_9;
  1162. tmpvar_9[0] = _Object2World[0].xyz;
  1163. tmpvar_9[1] = _Object2World[1].xyz;
  1164. tmpvar_9[2] = _Object2World[2].xyz;
  1165. highp vec3 tmpvar_10;
  1166. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1167. tmpvar_2 = tmpvar_10;
  1168. highp vec4 tmpvar_11;
  1169. tmpvar_11.w = 1.0;
  1170. tmpvar_11.xyz = tmpvar_10;
  1171. mediump vec3 tmpvar_12;
  1172. mediump vec4 normal_13;
  1173. normal_13 = tmpvar_11;
  1174. highp float vC_14;
  1175. mediump vec3 x3_15;
  1176. mediump vec3 x2_16;
  1177. mediump vec3 x1_17;
  1178. highp float tmpvar_18;
  1179. tmpvar_18 = dot (unity_SHAr, normal_13);
  1180. x1_17.x = tmpvar_18;
  1181. highp float tmpvar_19;
  1182. tmpvar_19 = dot (unity_SHAg, normal_13);
  1183. x1_17.y = tmpvar_19;
  1184. highp float tmpvar_20;
  1185. tmpvar_20 = dot (unity_SHAb, normal_13);
  1186. x1_17.z = tmpvar_20;
  1187. mediump vec4 tmpvar_21;
  1188. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1189. highp float tmpvar_22;
  1190. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1191. x2_16.x = tmpvar_22;
  1192. highp float tmpvar_23;
  1193. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1194. x2_16.y = tmpvar_23;
  1195. highp float tmpvar_24;
  1196. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1197. x2_16.z = tmpvar_24;
  1198. mediump float tmpvar_25;
  1199. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1200. vC_14 = tmpvar_25;
  1201. highp vec3 tmpvar_26;
  1202. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1203. x3_15 = tmpvar_26;
  1204. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1205. shlight_1 = tmpvar_12;
  1206. tmpvar_3 = shlight_1;
  1207. highp vec3 tmpvar_27;
  1208. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  1209. highp vec4 tmpvar_28;
  1210. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  1211. highp vec4 tmpvar_29;
  1212. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  1213. highp vec4 tmpvar_30;
  1214. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  1215. highp vec4 tmpvar_31;
  1216. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  1217. highp vec4 tmpvar_32;
  1218. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  1219. highp vec3 tmpvar_33;
  1220. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  1221. tmpvar_3 = tmpvar_33;
  1222. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1223. xlv_COLOR0 = tmpvar_5;
  1224. xlv_TEXCOORD0 = tmpvar_2;
  1225. xlv_TEXCOORD1 = tmpvar_3;
  1226. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  1227. }
  1228.  
  1229.  
  1230.  
  1231. #endif
  1232. #ifdef FRAGMENT
  1233.  
  1234. varying lowp vec4 xlv_COLOR0;
  1235. varying lowp vec3 xlv_TEXCOORD1;
  1236. void main ()
  1237. {
  1238. lowp vec4 c_1;
  1239. highp vec4 tmpvar_2;
  1240. tmpvar_2 = xlv_COLOR0;
  1241. lowp vec3 tmpvar_3;
  1242. highp vec3 tmpvar_4;
  1243. tmpvar_4 = tmpvar_2.xyz;
  1244. tmpvar_3 = tmpvar_4;
  1245. lowp vec4 c_5;
  1246. c_5.xyz = tmpvar_3;
  1247. c_5.w = 0.0;
  1248. c_1.w = c_5.w;
  1249. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1250. gl_FragData[0] = c_1;
  1251. }
  1252.  
  1253.  
  1254.  
  1255. #endif"
  1256. }
  1257. SubProgram "gles3 " {
  1258. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  1259. "!!GLES3#version 300 es
  1260.  
  1261.  
  1262. #ifdef VERTEX
  1263.  
  1264. in vec4 _glesVertex;
  1265. in vec4 _glesColor;
  1266. in vec3 _glesNormal;
  1267. in vec4 _glesMultiTexCoord0;
  1268. in vec4 _glesMultiTexCoord1;
  1269. #define TANGENT _glesTANGENT
  1270. in vec4 _glesTANGENT;
  1271. uniform highp vec3 _WorldSpaceCameraPos;
  1272. uniform highp vec4 unity_4LightPosX0;
  1273. uniform highp vec4 unity_4LightPosY0;
  1274. uniform highp vec4 unity_4LightPosZ0;
  1275. uniform highp vec4 unity_4LightAtten0;
  1276. uniform highp vec4 unity_LightColor[8];
  1277. uniform highp vec4 unity_SHAr;
  1278. uniform highp vec4 unity_SHAg;
  1279. uniform highp vec4 unity_SHAb;
  1280. uniform highp vec4 unity_SHBr;
  1281. uniform highp vec4 unity_SHBg;
  1282. uniform highp vec4 unity_SHBb;
  1283. uniform highp vec4 unity_SHC;
  1284. uniform highp mat4 unity_World2Shadow[4];
  1285. uniform highp mat4 glstate_matrix_mvp;
  1286. uniform highp mat4 _Object2World;
  1287. uniform highp vec4 unity_Scale;
  1288. uniform highp float _IterationProgress;
  1289. out lowp vec4 xlv_COLOR0;
  1290. out lowp vec3 xlv_TEXCOORD0;
  1291. out lowp vec3 xlv_TEXCOORD1;
  1292. out highp vec4 xlv_TEXCOORD2;
  1293. void main ()
  1294. {
  1295. highp vec3 shlight_1;
  1296. lowp vec3 tmpvar_2;
  1297. lowp vec3 tmpvar_3;
  1298. highp vec4 tmpvar_4;
  1299. lowp vec4 tmpvar_5;
  1300. tmpvar_4.w = _glesVertex.w;
  1301. highp vec3 tmpvar_6;
  1302. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1303. highp vec3 tmpvar_7;
  1304. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1305. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1306. highp vec4 tmpvar_8;
  1307. tmpvar_8.w = 1.0;
  1308. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1309. tmpvar_5 = tmpvar_8;
  1310. mat3 tmpvar_9;
  1311. tmpvar_9[0] = _Object2World[0].xyz;
  1312. tmpvar_9[1] = _Object2World[1].xyz;
  1313. tmpvar_9[2] = _Object2World[2].xyz;
  1314. highp vec3 tmpvar_10;
  1315. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1316. tmpvar_2 = tmpvar_10;
  1317. highp vec4 tmpvar_11;
  1318. tmpvar_11.w = 1.0;
  1319. tmpvar_11.xyz = tmpvar_10;
  1320. mediump vec3 tmpvar_12;
  1321. mediump vec4 normal_13;
  1322. normal_13 = tmpvar_11;
  1323. highp float vC_14;
  1324. mediump vec3 x3_15;
  1325. mediump vec3 x2_16;
  1326. mediump vec3 x1_17;
  1327. highp float tmpvar_18;
  1328. tmpvar_18 = dot (unity_SHAr, normal_13);
  1329. x1_17.x = tmpvar_18;
  1330. highp float tmpvar_19;
  1331. tmpvar_19 = dot (unity_SHAg, normal_13);
  1332. x1_17.y = tmpvar_19;
  1333. highp float tmpvar_20;
  1334. tmpvar_20 = dot (unity_SHAb, normal_13);
  1335. x1_17.z = tmpvar_20;
  1336. mediump vec4 tmpvar_21;
  1337. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1338. highp float tmpvar_22;
  1339. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1340. x2_16.x = tmpvar_22;
  1341. highp float tmpvar_23;
  1342. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1343. x2_16.y = tmpvar_23;
  1344. highp float tmpvar_24;
  1345. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1346. x2_16.z = tmpvar_24;
  1347. mediump float tmpvar_25;
  1348. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1349. vC_14 = tmpvar_25;
  1350. highp vec3 tmpvar_26;
  1351. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1352. x3_15 = tmpvar_26;
  1353. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1354. shlight_1 = tmpvar_12;
  1355. tmpvar_3 = shlight_1;
  1356. highp vec3 tmpvar_27;
  1357. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  1358. highp vec4 tmpvar_28;
  1359. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  1360. highp vec4 tmpvar_29;
  1361. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  1362. highp vec4 tmpvar_30;
  1363. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  1364. highp vec4 tmpvar_31;
  1365. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  1366. highp vec4 tmpvar_32;
  1367. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  1368. highp vec3 tmpvar_33;
  1369. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  1370. tmpvar_3 = tmpvar_33;
  1371. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1372. xlv_COLOR0 = tmpvar_5;
  1373. xlv_TEXCOORD0 = tmpvar_2;
  1374. xlv_TEXCOORD1 = tmpvar_3;
  1375. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  1376. }
  1377.  
  1378.  
  1379.  
  1380. #endif
  1381. #ifdef FRAGMENT
  1382.  
  1383. out mediump vec4 _glesFragData[4];
  1384. in lowp vec4 xlv_COLOR0;
  1385. in lowp vec3 xlv_TEXCOORD1;
  1386. void main ()
  1387. {
  1388. lowp vec4 c_1;
  1389. highp vec4 tmpvar_2;
  1390. tmpvar_2 = xlv_COLOR0;
  1391. lowp vec3 tmpvar_3;
  1392. highp vec3 tmpvar_4;
  1393. tmpvar_4 = tmpvar_2.xyz;
  1394. tmpvar_3 = tmpvar_4;
  1395. lowp vec4 c_5;
  1396. c_5.xyz = tmpvar_3;
  1397. c_5.w = 0.0;
  1398. c_1.w = c_5.w;
  1399. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1400. _glesFragData[0] = c_1;
  1401. }
  1402.  
  1403.  
  1404.  
  1405. #endif"
  1406. }
  1407. SubProgram "gles " {
  1408. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  1409. "!!GLES
  1410.  
  1411.  
  1412. #ifdef VERTEX
  1413.  
  1414. #extension GL_EXT_shadow_samplers : enable
  1415. attribute vec4 _glesVertex;
  1416. attribute vec4 _glesColor;
  1417. attribute vec3 _glesNormal;
  1418. attribute vec4 _glesMultiTexCoord0;
  1419. attribute vec4 _glesMultiTexCoord1;
  1420. attribute vec4 _glesTANGENT;
  1421. uniform highp vec3 _WorldSpaceCameraPos;
  1422. uniform highp vec4 unity_SHAr;
  1423. uniform highp vec4 unity_SHAg;
  1424. uniform highp vec4 unity_SHAb;
  1425. uniform highp vec4 unity_SHBr;
  1426. uniform highp vec4 unity_SHBg;
  1427. uniform highp vec4 unity_SHBb;
  1428. uniform highp vec4 unity_SHC;
  1429. uniform highp mat4 unity_World2Shadow[4];
  1430. uniform highp mat4 glstate_matrix_mvp;
  1431. uniform highp mat4 _Object2World;
  1432. uniform highp vec4 unity_Scale;
  1433. uniform highp float _IterationProgress;
  1434. varying lowp vec4 xlv_COLOR0;
  1435. varying lowp vec3 xlv_TEXCOORD0;
  1436. varying lowp vec3 xlv_TEXCOORD1;
  1437. varying highp vec4 xlv_TEXCOORD2;
  1438. void main ()
  1439. {
  1440. highp vec3 shlight_1;
  1441. lowp vec3 tmpvar_2;
  1442. lowp vec3 tmpvar_3;
  1443. highp vec4 tmpvar_4;
  1444. lowp vec4 tmpvar_5;
  1445. tmpvar_4.w = _glesVertex.w;
  1446. highp vec3 tmpvar_6;
  1447. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1448. highp vec3 tmpvar_7;
  1449. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1450. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1451. highp vec4 tmpvar_8;
  1452. tmpvar_8.w = 1.0;
  1453. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1454. tmpvar_5 = tmpvar_8;
  1455. mat3 tmpvar_9;
  1456. tmpvar_9[0] = _Object2World[0].xyz;
  1457. tmpvar_9[1] = _Object2World[1].xyz;
  1458. tmpvar_9[2] = _Object2World[2].xyz;
  1459. highp vec3 tmpvar_10;
  1460. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1461. tmpvar_2 = tmpvar_10;
  1462. highp vec4 tmpvar_11;
  1463. tmpvar_11.w = 1.0;
  1464. tmpvar_11.xyz = tmpvar_10;
  1465. mediump vec3 tmpvar_12;
  1466. mediump vec4 normal_13;
  1467. normal_13 = tmpvar_11;
  1468. highp float vC_14;
  1469. mediump vec3 x3_15;
  1470. mediump vec3 x2_16;
  1471. mediump vec3 x1_17;
  1472. highp float tmpvar_18;
  1473. tmpvar_18 = dot (unity_SHAr, normal_13);
  1474. x1_17.x = tmpvar_18;
  1475. highp float tmpvar_19;
  1476. tmpvar_19 = dot (unity_SHAg, normal_13);
  1477. x1_17.y = tmpvar_19;
  1478. highp float tmpvar_20;
  1479. tmpvar_20 = dot (unity_SHAb, normal_13);
  1480. x1_17.z = tmpvar_20;
  1481. mediump vec4 tmpvar_21;
  1482. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1483. highp float tmpvar_22;
  1484. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1485. x2_16.x = tmpvar_22;
  1486. highp float tmpvar_23;
  1487. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1488. x2_16.y = tmpvar_23;
  1489. highp float tmpvar_24;
  1490. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1491. x2_16.z = tmpvar_24;
  1492. mediump float tmpvar_25;
  1493. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1494. vC_14 = tmpvar_25;
  1495. highp vec3 tmpvar_26;
  1496. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1497. x3_15 = tmpvar_26;
  1498. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1499. shlight_1 = tmpvar_12;
  1500. tmpvar_3 = shlight_1;
  1501. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1502. xlv_COLOR0 = tmpvar_5;
  1503. xlv_TEXCOORD0 = tmpvar_2;
  1504. xlv_TEXCOORD1 = tmpvar_3;
  1505. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  1506. }
  1507.  
  1508.  
  1509.  
  1510. #endif
  1511. #ifdef FRAGMENT
  1512.  
  1513. #extension GL_EXT_shadow_samplers : enable
  1514. varying lowp vec4 xlv_COLOR0;
  1515. varying lowp vec3 xlv_TEXCOORD1;
  1516. void main ()
  1517. {
  1518. lowp vec4 c_1;
  1519. highp vec4 tmpvar_2;
  1520. tmpvar_2 = xlv_COLOR0;
  1521. lowp vec3 tmpvar_3;
  1522. highp vec3 tmpvar_4;
  1523. tmpvar_4 = tmpvar_2.xyz;
  1524. tmpvar_3 = tmpvar_4;
  1525. lowp vec4 c_5;
  1526. c_5.xyz = tmpvar_3;
  1527. c_5.w = 0.0;
  1528. c_1.w = c_5.w;
  1529. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1530. gl_FragData[0] = c_1;
  1531. }
  1532.  
  1533.  
  1534.  
  1535. #endif"
  1536. }
  1537. SubProgram "gles3 " {
  1538. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  1539. "!!GLES3#version 300 es
  1540.  
  1541.  
  1542. #ifdef VERTEX
  1543.  
  1544. in vec4 _glesVertex;
  1545. in vec4 _glesColor;
  1546. in vec3 _glesNormal;
  1547. in vec4 _glesMultiTexCoord0;
  1548. in vec4 _glesMultiTexCoord1;
  1549. #define TANGENT _glesTANGENT
  1550. in vec4 _glesTANGENT;
  1551. uniform highp vec3 _WorldSpaceCameraPos;
  1552. uniform highp vec4 unity_SHAr;
  1553. uniform highp vec4 unity_SHAg;
  1554. uniform highp vec4 unity_SHAb;
  1555. uniform highp vec4 unity_SHBr;
  1556. uniform highp vec4 unity_SHBg;
  1557. uniform highp vec4 unity_SHBb;
  1558. uniform highp vec4 unity_SHC;
  1559. uniform highp mat4 unity_World2Shadow[4];
  1560. uniform highp mat4 glstate_matrix_mvp;
  1561. uniform highp mat4 _Object2World;
  1562. uniform highp vec4 unity_Scale;
  1563. uniform highp float _IterationProgress;
  1564. out lowp vec4 xlv_COLOR0;
  1565. out lowp vec3 xlv_TEXCOORD0;
  1566. out lowp vec3 xlv_TEXCOORD1;
  1567. out highp vec4 xlv_TEXCOORD2;
  1568. void main ()
  1569. {
  1570. highp vec3 shlight_1;
  1571. lowp vec3 tmpvar_2;
  1572. lowp vec3 tmpvar_3;
  1573. highp vec4 tmpvar_4;
  1574. lowp vec4 tmpvar_5;
  1575. tmpvar_4.w = _glesVertex.w;
  1576. highp vec3 tmpvar_6;
  1577. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1578. highp vec3 tmpvar_7;
  1579. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1580. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1581. highp vec4 tmpvar_8;
  1582. tmpvar_8.w = 1.0;
  1583. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1584. tmpvar_5 = tmpvar_8;
  1585. mat3 tmpvar_9;
  1586. tmpvar_9[0] = _Object2World[0].xyz;
  1587. tmpvar_9[1] = _Object2World[1].xyz;
  1588. tmpvar_9[2] = _Object2World[2].xyz;
  1589. highp vec3 tmpvar_10;
  1590. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1591. tmpvar_2 = tmpvar_10;
  1592. highp vec4 tmpvar_11;
  1593. tmpvar_11.w = 1.0;
  1594. tmpvar_11.xyz = tmpvar_10;
  1595. mediump vec3 tmpvar_12;
  1596. mediump vec4 normal_13;
  1597. normal_13 = tmpvar_11;
  1598. highp float vC_14;
  1599. mediump vec3 x3_15;
  1600. mediump vec3 x2_16;
  1601. mediump vec3 x1_17;
  1602. highp float tmpvar_18;
  1603. tmpvar_18 = dot (unity_SHAr, normal_13);
  1604. x1_17.x = tmpvar_18;
  1605. highp float tmpvar_19;
  1606. tmpvar_19 = dot (unity_SHAg, normal_13);
  1607. x1_17.y = tmpvar_19;
  1608. highp float tmpvar_20;
  1609. tmpvar_20 = dot (unity_SHAb, normal_13);
  1610. x1_17.z = tmpvar_20;
  1611. mediump vec4 tmpvar_21;
  1612. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1613. highp float tmpvar_22;
  1614. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1615. x2_16.x = tmpvar_22;
  1616. highp float tmpvar_23;
  1617. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1618. x2_16.y = tmpvar_23;
  1619. highp float tmpvar_24;
  1620. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1621. x2_16.z = tmpvar_24;
  1622. mediump float tmpvar_25;
  1623. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1624. vC_14 = tmpvar_25;
  1625. highp vec3 tmpvar_26;
  1626. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1627. x3_15 = tmpvar_26;
  1628. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1629. shlight_1 = tmpvar_12;
  1630. tmpvar_3 = shlight_1;
  1631. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1632. xlv_COLOR0 = tmpvar_5;
  1633. xlv_TEXCOORD0 = tmpvar_2;
  1634. xlv_TEXCOORD1 = tmpvar_3;
  1635. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  1636. }
  1637.  
  1638.  
  1639.  
  1640. #endif
  1641. #ifdef FRAGMENT
  1642.  
  1643. out mediump vec4 _glesFragData[4];
  1644. uniform highp vec4 _LightShadowData;
  1645. uniform lowp sampler2DShadow _ShadowMapTexture;
  1646. in lowp vec4 xlv_COLOR0;
  1647. in lowp vec3 xlv_TEXCOORD1;
  1648. in highp vec4 xlv_TEXCOORD2;
  1649. void main ()
  1650. {
  1651. lowp vec4 c_1;
  1652. highp vec4 tmpvar_2;
  1653. tmpvar_2 = xlv_COLOR0;
  1654. lowp vec3 tmpvar_3;
  1655. highp vec3 tmpvar_4;
  1656. tmpvar_4 = tmpvar_2.xyz;
  1657. tmpvar_3 = tmpvar_4;
  1658. lowp float shadow_5;
  1659. mediump float tmpvar_6;
  1660. tmpvar_6 = texture (_ShadowMapTexture, xlv_TEXCOORD2.xyz);
  1661. shadow_5 = tmpvar_6;
  1662. highp float tmpvar_7;
  1663. tmpvar_7 = (_LightShadowData.x + (shadow_5 * (1.0 - _LightShadowData.x)));
  1664. shadow_5 = tmpvar_7;
  1665. lowp vec4 c_8;
  1666. c_8.xyz = tmpvar_3;
  1667. c_8.w = 0.0;
  1668. c_1.w = c_8.w;
  1669. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1670. _glesFragData[0] = c_1;
  1671. }
  1672.  
  1673.  
  1674.  
  1675. #endif"
  1676. }
  1677. SubProgram "gles " {
  1678. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  1679. "!!GLES
  1680.  
  1681.  
  1682. #ifdef VERTEX
  1683.  
  1684. #extension GL_EXT_shadow_samplers : enable
  1685. attribute vec4 _glesVertex;
  1686. attribute vec4 _glesColor;
  1687. attribute vec4 _glesMultiTexCoord0;
  1688. attribute vec4 _glesMultiTexCoord1;
  1689. attribute vec4 _glesTANGENT;
  1690. uniform highp vec3 _WorldSpaceCameraPos;
  1691. uniform highp mat4 unity_World2Shadow[4];
  1692. uniform highp mat4 glstate_matrix_mvp;
  1693. uniform highp mat4 _Object2World;
  1694. uniform highp float _IterationProgress;
  1695. uniform highp vec4 unity_LightmapST;
  1696. varying lowp vec4 xlv_COLOR0;
  1697. varying highp vec2 xlv_TEXCOORD0;
  1698. varying highp vec4 xlv_TEXCOORD1;
  1699. void main ()
  1700. {
  1701. highp vec4 tmpvar_1;
  1702. lowp vec4 tmpvar_2;
  1703. tmpvar_1.w = _glesVertex.w;
  1704. highp vec3 tmpvar_3;
  1705. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1706. highp vec3 tmpvar_4;
  1707. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1708. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1709. highp vec4 tmpvar_5;
  1710. tmpvar_5.w = 1.0;
  1711. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1712. tmpvar_2 = tmpvar_5;
  1713. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  1714. xlv_COLOR0 = tmpvar_2;
  1715. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  1716. xlv_TEXCOORD1 = (unity_World2Shadow[0] * (_Object2World * tmpvar_1));
  1717. }
  1718.  
  1719.  
  1720.  
  1721. #endif
  1722. #ifdef FRAGMENT
  1723.  
  1724. #extension GL_EXT_shadow_samplers : enable
  1725. uniform highp vec4 _LightShadowData;
  1726. uniform lowp sampler2DShadow _ShadowMapTexture;
  1727. uniform sampler2D unity_Lightmap;
  1728. varying lowp vec4 xlv_COLOR0;
  1729. varying highp vec2 xlv_TEXCOORD0;
  1730. varying highp vec4 xlv_TEXCOORD1;
  1731. void main ()
  1732. {
  1733. lowp vec4 c_1;
  1734. highp vec4 tmpvar_2;
  1735. tmpvar_2 = xlv_COLOR0;
  1736. lowp vec3 tmpvar_3;
  1737. highp vec3 tmpvar_4;
  1738. tmpvar_4 = tmpvar_2.xyz;
  1739. tmpvar_3 = tmpvar_4;
  1740. lowp float shadow_5;
  1741. lowp float tmpvar_6;
  1742. tmpvar_6 = shadow2DEXT (_ShadowMapTexture, xlv_TEXCOORD1.xyz);
  1743. highp float tmpvar_7;
  1744. tmpvar_7 = (_LightShadowData.x + (tmpvar_6 * (1.0 - _LightShadowData.x)));
  1745. shadow_5 = tmpvar_7;
  1746. c_1.xyz = (tmpvar_3 * min ((2.0 * texture2D (unity_Lightmap, xlv_TEXCOORD0).xyz), vec3((shadow_5 * 2.0))));
  1747. c_1.w = 0.0;
  1748. gl_FragData[0] = c_1;
  1749. }
  1750.  
  1751.  
  1752.  
  1753. #endif"
  1754. }
  1755. SubProgram "gles3 " {
  1756. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  1757. "!!GLES3#version 300 es
  1758.  
  1759.  
  1760. #ifdef VERTEX
  1761.  
  1762. in vec4 _glesVertex;
  1763. in vec4 _glesColor;
  1764. in vec4 _glesMultiTexCoord0;
  1765. in vec4 _glesMultiTexCoord1;
  1766. #define TANGENT _glesTANGENT
  1767. in vec4 _glesTANGENT;
  1768. uniform highp vec3 _WorldSpaceCameraPos;
  1769. uniform highp mat4 unity_World2Shadow[4];
  1770. uniform highp mat4 glstate_matrix_mvp;
  1771. uniform highp mat4 _Object2World;
  1772. uniform highp float _IterationProgress;
  1773. uniform highp vec4 unity_LightmapST;
  1774. out lowp vec4 xlv_COLOR0;
  1775. out highp vec2 xlv_TEXCOORD0;
  1776. out highp vec4 xlv_TEXCOORD1;
  1777. void main ()
  1778. {
  1779. highp vec4 tmpvar_1;
  1780. lowp vec4 tmpvar_2;
  1781. tmpvar_1.w = _glesVertex.w;
  1782. highp vec3 tmpvar_3;
  1783. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1784. highp vec3 tmpvar_4;
  1785. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1786. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1787. highp vec4 tmpvar_5;
  1788. tmpvar_5.w = 1.0;
  1789. tmpvar_5.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1790. tmpvar_2 = tmpvar_5;
  1791. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  1792. xlv_COLOR0 = tmpvar_2;
  1793. xlv_TEXCOORD0 = ((_glesMultiTexCoord1.xy * unity_LightmapST.xy) + unity_LightmapST.zw);
  1794. xlv_TEXCOORD1 = (unity_World2Shadow[0] * (_Object2World * tmpvar_1));
  1795. }
  1796.  
  1797.  
  1798.  
  1799. #endif
  1800. #ifdef FRAGMENT
  1801.  
  1802. out mediump vec4 _glesFragData[4];
  1803. uniform highp vec4 _LightShadowData;
  1804. uniform lowp sampler2DShadow _ShadowMapTexture;
  1805. uniform sampler2D unity_Lightmap;
  1806. in lowp vec4 xlv_COLOR0;
  1807. in highp vec2 xlv_TEXCOORD0;
  1808. in highp vec4 xlv_TEXCOORD1;
  1809. void main ()
  1810. {
  1811. lowp vec4 c_1;
  1812. highp vec4 tmpvar_2;
  1813. tmpvar_2 = xlv_COLOR0;
  1814. lowp vec3 tmpvar_3;
  1815. highp vec3 tmpvar_4;
  1816. tmpvar_4 = tmpvar_2.xyz;
  1817. tmpvar_3 = tmpvar_4;
  1818. lowp float shadow_5;
  1819. mediump float tmpvar_6;
  1820. tmpvar_6 = texture (_ShadowMapTexture, xlv_TEXCOORD1.xyz);
  1821. shadow_5 = tmpvar_6;
  1822. highp float tmpvar_7;
  1823. tmpvar_7 = (_LightShadowData.x + (shadow_5 * (1.0 - _LightShadowData.x)));
  1824. shadow_5 = tmpvar_7;
  1825. c_1.xyz = (tmpvar_3 * min ((2.0 * texture (unity_Lightmap, xlv_TEXCOORD0).xyz), vec3((shadow_5 * 2.0))));
  1826. c_1.w = 0.0;
  1827. _glesFragData[0] = c_1;
  1828. }
  1829.  
  1830.  
  1831.  
  1832. #endif"
  1833. }
  1834. SubProgram "gles " {
  1835. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  1836. "!!GLES
  1837.  
  1838.  
  1839. #ifdef VERTEX
  1840.  
  1841. #extension GL_EXT_shadow_samplers : enable
  1842. attribute vec4 _glesVertex;
  1843. attribute vec4 _glesColor;
  1844. attribute vec3 _glesNormal;
  1845. attribute vec4 _glesMultiTexCoord0;
  1846. attribute vec4 _glesMultiTexCoord1;
  1847. attribute vec4 _glesTANGENT;
  1848. uniform highp vec3 _WorldSpaceCameraPos;
  1849. uniform highp vec4 unity_4LightPosX0;
  1850. uniform highp vec4 unity_4LightPosY0;
  1851. uniform highp vec4 unity_4LightPosZ0;
  1852. uniform highp vec4 unity_4LightAtten0;
  1853. uniform highp vec4 unity_LightColor[8];
  1854. uniform highp vec4 unity_SHAr;
  1855. uniform highp vec4 unity_SHAg;
  1856. uniform highp vec4 unity_SHAb;
  1857. uniform highp vec4 unity_SHBr;
  1858. uniform highp vec4 unity_SHBg;
  1859. uniform highp vec4 unity_SHBb;
  1860. uniform highp vec4 unity_SHC;
  1861. uniform highp mat4 unity_World2Shadow[4];
  1862. uniform highp mat4 glstate_matrix_mvp;
  1863. uniform highp mat4 _Object2World;
  1864. uniform highp vec4 unity_Scale;
  1865. uniform highp float _IterationProgress;
  1866. varying lowp vec4 xlv_COLOR0;
  1867. varying lowp vec3 xlv_TEXCOORD0;
  1868. varying lowp vec3 xlv_TEXCOORD1;
  1869. varying highp vec4 xlv_TEXCOORD2;
  1870. void main ()
  1871. {
  1872. highp vec3 shlight_1;
  1873. lowp vec3 tmpvar_2;
  1874. lowp vec3 tmpvar_3;
  1875. highp vec4 tmpvar_4;
  1876. lowp vec4 tmpvar_5;
  1877. tmpvar_4.w = _glesVertex.w;
  1878. highp vec3 tmpvar_6;
  1879. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  1880. highp vec3 tmpvar_7;
  1881. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  1882. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  1883. highp vec4 tmpvar_8;
  1884. tmpvar_8.w = 1.0;
  1885. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  1886. tmpvar_5 = tmpvar_8;
  1887. mat3 tmpvar_9;
  1888. tmpvar_9[0] = _Object2World[0].xyz;
  1889. tmpvar_9[1] = _Object2World[1].xyz;
  1890. tmpvar_9[2] = _Object2World[2].xyz;
  1891. highp vec3 tmpvar_10;
  1892. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  1893. tmpvar_2 = tmpvar_10;
  1894. highp vec4 tmpvar_11;
  1895. tmpvar_11.w = 1.0;
  1896. tmpvar_11.xyz = tmpvar_10;
  1897. mediump vec3 tmpvar_12;
  1898. mediump vec4 normal_13;
  1899. normal_13 = tmpvar_11;
  1900. highp float vC_14;
  1901. mediump vec3 x3_15;
  1902. mediump vec3 x2_16;
  1903. mediump vec3 x1_17;
  1904. highp float tmpvar_18;
  1905. tmpvar_18 = dot (unity_SHAr, normal_13);
  1906. x1_17.x = tmpvar_18;
  1907. highp float tmpvar_19;
  1908. tmpvar_19 = dot (unity_SHAg, normal_13);
  1909. x1_17.y = tmpvar_19;
  1910. highp float tmpvar_20;
  1911. tmpvar_20 = dot (unity_SHAb, normal_13);
  1912. x1_17.z = tmpvar_20;
  1913. mediump vec4 tmpvar_21;
  1914. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  1915. highp float tmpvar_22;
  1916. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  1917. x2_16.x = tmpvar_22;
  1918. highp float tmpvar_23;
  1919. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  1920. x2_16.y = tmpvar_23;
  1921. highp float tmpvar_24;
  1922. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  1923. x2_16.z = tmpvar_24;
  1924. mediump float tmpvar_25;
  1925. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  1926. vC_14 = tmpvar_25;
  1927. highp vec3 tmpvar_26;
  1928. tmpvar_26 = (unity_SHC.xyz * vC_14);
  1929. x3_15 = tmpvar_26;
  1930. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  1931. shlight_1 = tmpvar_12;
  1932. tmpvar_3 = shlight_1;
  1933. highp vec3 tmpvar_27;
  1934. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  1935. highp vec4 tmpvar_28;
  1936. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  1937. highp vec4 tmpvar_29;
  1938. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  1939. highp vec4 tmpvar_30;
  1940. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  1941. highp vec4 tmpvar_31;
  1942. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  1943. highp vec4 tmpvar_32;
  1944. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  1945. highp vec3 tmpvar_33;
  1946. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  1947. tmpvar_3 = tmpvar_33;
  1948. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  1949. xlv_COLOR0 = tmpvar_5;
  1950. xlv_TEXCOORD0 = tmpvar_2;
  1951. xlv_TEXCOORD1 = tmpvar_3;
  1952. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  1953. }
  1954.  
  1955.  
  1956.  
  1957. #endif
  1958. #ifdef FRAGMENT
  1959.  
  1960. #extension GL_EXT_shadow_samplers : enable
  1961. varying lowp vec4 xlv_COLOR0;
  1962. varying lowp vec3 xlv_TEXCOORD1;
  1963. void main ()
  1964. {
  1965. lowp vec4 c_1;
  1966. highp vec4 tmpvar_2;
  1967. tmpvar_2 = xlv_COLOR0;
  1968. lowp vec3 tmpvar_3;
  1969. highp vec3 tmpvar_4;
  1970. tmpvar_4 = tmpvar_2.xyz;
  1971. tmpvar_3 = tmpvar_4;
  1972. lowp vec4 c_5;
  1973. c_5.xyz = tmpvar_3;
  1974. c_5.w = 0.0;
  1975. c_1.w = c_5.w;
  1976. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  1977. gl_FragData[0] = c_1;
  1978. }
  1979.  
  1980.  
  1981.  
  1982. #endif"
  1983. }
  1984. SubProgram "gles3 " {
  1985. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "SHADOWS_NATIVE" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" "VERTEXLIGHT_ON" }
  1986. "!!GLES3#version 300 es
  1987.  
  1988.  
  1989. #ifdef VERTEX
  1990.  
  1991. in vec4 _glesVertex;
  1992. in vec4 _glesColor;
  1993. in vec3 _glesNormal;
  1994. in vec4 _glesMultiTexCoord0;
  1995. in vec4 _glesMultiTexCoord1;
  1996. #define TANGENT _glesTANGENT
  1997. in vec4 _glesTANGENT;
  1998. uniform highp vec3 _WorldSpaceCameraPos;
  1999. uniform highp vec4 unity_4LightPosX0;
  2000. uniform highp vec4 unity_4LightPosY0;
  2001. uniform highp vec4 unity_4LightPosZ0;
  2002. uniform highp vec4 unity_4LightAtten0;
  2003. uniform highp vec4 unity_LightColor[8];
  2004. uniform highp vec4 unity_SHAr;
  2005. uniform highp vec4 unity_SHAg;
  2006. uniform highp vec4 unity_SHAb;
  2007. uniform highp vec4 unity_SHBr;
  2008. uniform highp vec4 unity_SHBg;
  2009. uniform highp vec4 unity_SHBb;
  2010. uniform highp vec4 unity_SHC;
  2011. uniform highp mat4 unity_World2Shadow[4];
  2012. uniform highp mat4 glstate_matrix_mvp;
  2013. uniform highp mat4 _Object2World;
  2014. uniform highp vec4 unity_Scale;
  2015. uniform highp float _IterationProgress;
  2016. out lowp vec4 xlv_COLOR0;
  2017. out lowp vec3 xlv_TEXCOORD0;
  2018. out lowp vec3 xlv_TEXCOORD1;
  2019. out highp vec4 xlv_TEXCOORD2;
  2020. void main ()
  2021. {
  2022. highp vec3 shlight_1;
  2023. lowp vec3 tmpvar_2;
  2024. lowp vec3 tmpvar_3;
  2025. highp vec4 tmpvar_4;
  2026. lowp vec4 tmpvar_5;
  2027. tmpvar_4.w = _glesVertex.w;
  2028. highp vec3 tmpvar_6;
  2029. tmpvar_6 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2030. highp vec3 tmpvar_7;
  2031. tmpvar_7 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2032. tmpvar_4.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_6.yzx * tmpvar_7.zxy) - (tmpvar_6.zxy * tmpvar_7.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2033. highp vec4 tmpvar_8;
  2034. tmpvar_8.w = 1.0;
  2035. tmpvar_8.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2036. tmpvar_5 = tmpvar_8;
  2037. mat3 tmpvar_9;
  2038. tmpvar_9[0] = _Object2World[0].xyz;
  2039. tmpvar_9[1] = _Object2World[1].xyz;
  2040. tmpvar_9[2] = _Object2World[2].xyz;
  2041. highp vec3 tmpvar_10;
  2042. tmpvar_10 = (tmpvar_9 * (_glesNormal * unity_Scale.w));
  2043. tmpvar_2 = tmpvar_10;
  2044. highp vec4 tmpvar_11;
  2045. tmpvar_11.w = 1.0;
  2046. tmpvar_11.xyz = tmpvar_10;
  2047. mediump vec3 tmpvar_12;
  2048. mediump vec4 normal_13;
  2049. normal_13 = tmpvar_11;
  2050. highp float vC_14;
  2051. mediump vec3 x3_15;
  2052. mediump vec3 x2_16;
  2053. mediump vec3 x1_17;
  2054. highp float tmpvar_18;
  2055. tmpvar_18 = dot (unity_SHAr, normal_13);
  2056. x1_17.x = tmpvar_18;
  2057. highp float tmpvar_19;
  2058. tmpvar_19 = dot (unity_SHAg, normal_13);
  2059. x1_17.y = tmpvar_19;
  2060. highp float tmpvar_20;
  2061. tmpvar_20 = dot (unity_SHAb, normal_13);
  2062. x1_17.z = tmpvar_20;
  2063. mediump vec4 tmpvar_21;
  2064. tmpvar_21 = (normal_13.xyzz * normal_13.yzzx);
  2065. highp float tmpvar_22;
  2066. tmpvar_22 = dot (unity_SHBr, tmpvar_21);
  2067. x2_16.x = tmpvar_22;
  2068. highp float tmpvar_23;
  2069. tmpvar_23 = dot (unity_SHBg, tmpvar_21);
  2070. x2_16.y = tmpvar_23;
  2071. highp float tmpvar_24;
  2072. tmpvar_24 = dot (unity_SHBb, tmpvar_21);
  2073. x2_16.z = tmpvar_24;
  2074. mediump float tmpvar_25;
  2075. tmpvar_25 = ((normal_13.x * normal_13.x) - (normal_13.y * normal_13.y));
  2076. vC_14 = tmpvar_25;
  2077. highp vec3 tmpvar_26;
  2078. tmpvar_26 = (unity_SHC.xyz * vC_14);
  2079. x3_15 = tmpvar_26;
  2080. tmpvar_12 = ((x1_17 + x2_16) + x3_15);
  2081. shlight_1 = tmpvar_12;
  2082. tmpvar_3 = shlight_1;
  2083. highp vec3 tmpvar_27;
  2084. tmpvar_27 = (_Object2World * tmpvar_4).xyz;
  2085. highp vec4 tmpvar_28;
  2086. tmpvar_28 = (unity_4LightPosX0 - tmpvar_27.x);
  2087. highp vec4 tmpvar_29;
  2088. tmpvar_29 = (unity_4LightPosY0 - tmpvar_27.y);
  2089. highp vec4 tmpvar_30;
  2090. tmpvar_30 = (unity_4LightPosZ0 - tmpvar_27.z);
  2091. highp vec4 tmpvar_31;
  2092. tmpvar_31 = (((tmpvar_28 * tmpvar_28) + (tmpvar_29 * tmpvar_29)) + (tmpvar_30 * tmpvar_30));
  2093. highp vec4 tmpvar_32;
  2094. tmpvar_32 = (max (vec4(0.0, 0.0, 0.0, 0.0), ((((tmpvar_28 * tmpvar_10.x) + (tmpvar_29 * tmpvar_10.y)) + (tmpvar_30 * tmpvar_10.z)) * inversesqrt(tmpvar_31))) * (1.0/((1.0 + (tmpvar_31 * unity_4LightAtten0)))));
  2095. highp vec3 tmpvar_33;
  2096. tmpvar_33 = (tmpvar_3 + ((((unity_LightColor[0].xyz * tmpvar_32.x) + (unity_LightColor[1].xyz * tmpvar_32.y)) + (unity_LightColor[2].xyz * tmpvar_32.z)) + (unity_LightColor[3].xyz * tmpvar_32.w)));
  2097. tmpvar_3 = tmpvar_33;
  2098. gl_Position = (glstate_matrix_mvp * tmpvar_4);
  2099. xlv_COLOR0 = tmpvar_5;
  2100. xlv_TEXCOORD0 = tmpvar_2;
  2101. xlv_TEXCOORD1 = tmpvar_3;
  2102. xlv_TEXCOORD2 = (unity_World2Shadow[0] * (_Object2World * tmpvar_4));
  2103. }
  2104.  
  2105.  
  2106.  
  2107. #endif
  2108. #ifdef FRAGMENT
  2109.  
  2110. out mediump vec4 _glesFragData[4];
  2111. uniform highp vec4 _LightShadowData;
  2112. uniform lowp sampler2DShadow _ShadowMapTexture;
  2113. in lowp vec4 xlv_COLOR0;
  2114. in lowp vec3 xlv_TEXCOORD1;
  2115. in highp vec4 xlv_TEXCOORD2;
  2116. void main ()
  2117. {
  2118. lowp vec4 c_1;
  2119. highp vec4 tmpvar_2;
  2120. tmpvar_2 = xlv_COLOR0;
  2121. lowp vec3 tmpvar_3;
  2122. highp vec3 tmpvar_4;
  2123. tmpvar_4 = tmpvar_2.xyz;
  2124. tmpvar_3 = tmpvar_4;
  2125. lowp float shadow_5;
  2126. mediump float tmpvar_6;
  2127. tmpvar_6 = texture (_ShadowMapTexture, xlv_TEXCOORD2.xyz);
  2128. shadow_5 = tmpvar_6;
  2129. highp float tmpvar_7;
  2130. tmpvar_7 = (_LightShadowData.x + (shadow_5 * (1.0 - _LightShadowData.x)));
  2131. shadow_5 = tmpvar_7;
  2132. lowp vec4 c_8;
  2133. c_8.xyz = tmpvar_3;
  2134. c_8.w = 0.0;
  2135. c_1.w = c_8.w;
  2136. c_1.xyz = (tmpvar_3 + (tmpvar_3 * xlv_TEXCOORD1));
  2137. _glesFragData[0] = c_1;
  2138. }
  2139.  
  2140.  
  2141.  
  2142. #endif"
  2143. }
  2144. }
  2145. Program "fp" {
  2146. SubProgram "gles " {
  2147. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  2148. "!!GLES"
  2149. }
  2150. SubProgram "gles3 " {
  2151. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  2152. "!!GLES3"
  2153. }
  2154. SubProgram "gles " {
  2155. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  2156. "!!GLES"
  2157. }
  2158. SubProgram "gles3 " {
  2159. Keywords { "DIRECTIONAL" "SHADOWS_OFF" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  2160. "!!GLES3"
  2161. }
  2162. SubProgram "gles " {
  2163. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  2164. "!!GLES"
  2165. }
  2166. SubProgram "gles3 " {
  2167. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_OFF" "DIRLIGHTMAP_OFF" }
  2168. "!!GLES3"
  2169. }
  2170. SubProgram "gles " {
  2171. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  2172. "!!GLES"
  2173. }
  2174. SubProgram "gles3 " {
  2175. Keywords { "DIRECTIONAL" "SHADOWS_SCREEN" "LIGHTMAP_ON" "DIRLIGHTMAP_OFF" }
  2176. "!!GLES3"
  2177. }
  2178. }
  2179. }
  2180. Pass {
  2181. Name "FORWARD"
  2182. Tags { "LIGHTMODE"="ForwardAdd" "QUEUE"="Geometry" "RenderType"="Opaque" }
  2183. ZWrite Off
  2184. Cull Off
  2185. Fog {
  2186. Color (0,0,0,0)
  2187. }
  2188. Blend One One
  2189. Program "vp" {
  2190. SubProgram "gles " {
  2191. Keywords { "POINT" }
  2192. "!!GLES
  2193.  
  2194.  
  2195. #ifdef VERTEX
  2196.  
  2197. attribute vec4 _glesVertex;
  2198. attribute vec4 _glesColor;
  2199. attribute vec3 _glesNormal;
  2200. attribute vec4 _glesMultiTexCoord0;
  2201. attribute vec4 _glesMultiTexCoord1;
  2202. attribute vec4 _glesTANGENT;
  2203. uniform highp vec3 _WorldSpaceCameraPos;
  2204. uniform highp vec4 _WorldSpaceLightPos0;
  2205. uniform highp mat4 glstate_matrix_mvp;
  2206. uniform highp mat4 _Object2World;
  2207. uniform highp vec4 unity_Scale;
  2208. uniform highp mat4 _LightMatrix0;
  2209. uniform highp float _IterationProgress;
  2210. varying lowp vec4 xlv_COLOR0;
  2211. varying lowp vec3 xlv_TEXCOORD0;
  2212. varying mediump vec3 xlv_TEXCOORD1;
  2213. varying highp vec3 xlv_TEXCOORD2;
  2214. void main ()
  2215. {
  2216. lowp vec3 tmpvar_1;
  2217. mediump vec3 tmpvar_2;
  2218. highp vec4 tmpvar_3;
  2219. lowp vec4 tmpvar_4;
  2220. tmpvar_3.w = _glesVertex.w;
  2221. highp vec3 tmpvar_5;
  2222. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2223. highp vec3 tmpvar_6;
  2224. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2225. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2226. highp vec4 tmpvar_7;
  2227. tmpvar_7.w = 1.0;
  2228. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2229. tmpvar_4 = tmpvar_7;
  2230. mat3 tmpvar_8;
  2231. tmpvar_8[0] = _Object2World[0].xyz;
  2232. tmpvar_8[1] = _Object2World[1].xyz;
  2233. tmpvar_8[2] = _Object2World[2].xyz;
  2234. highp vec3 tmpvar_9;
  2235. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2236. tmpvar_1 = tmpvar_9;
  2237. highp vec3 tmpvar_10;
  2238. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2239. tmpvar_2 = tmpvar_10;
  2240. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2241. xlv_COLOR0 = tmpvar_4;
  2242. xlv_TEXCOORD0 = tmpvar_1;
  2243. xlv_TEXCOORD1 = tmpvar_2;
  2244. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xyz;
  2245. }
  2246.  
  2247.  
  2248.  
  2249. #endif
  2250. #ifdef FRAGMENT
  2251.  
  2252. varying lowp vec4 xlv_COLOR0;
  2253. void main ()
  2254. {
  2255. lowp vec4 c_1;
  2256. highp vec4 tmpvar_2;
  2257. tmpvar_2 = xlv_COLOR0;
  2258. lowp vec3 tmpvar_3;
  2259. highp vec3 tmpvar_4;
  2260. tmpvar_4 = tmpvar_2.xyz;
  2261. tmpvar_3 = tmpvar_4;
  2262. lowp vec4 c_5;
  2263. c_5.xyz = tmpvar_3;
  2264. c_5.w = 0.0;
  2265. c_1.xyz = c_5.xyz;
  2266. c_1.w = 0.0;
  2267. gl_FragData[0] = c_1;
  2268. }
  2269.  
  2270.  
  2271.  
  2272. #endif"
  2273. }
  2274. SubProgram "gles3 " {
  2275. Keywords { "POINT" }
  2276. "!!GLES3#version 300 es
  2277.  
  2278.  
  2279. #ifdef VERTEX
  2280.  
  2281. in vec4 _glesVertex;
  2282. in vec4 _glesColor;
  2283. in vec3 _glesNormal;
  2284. in vec4 _glesMultiTexCoord0;
  2285. in vec4 _glesMultiTexCoord1;
  2286. #define TANGENT _glesTANGENT
  2287. in vec4 _glesTANGENT;
  2288. uniform highp vec3 _WorldSpaceCameraPos;
  2289. uniform highp vec4 _WorldSpaceLightPos0;
  2290. uniform highp mat4 glstate_matrix_mvp;
  2291. uniform highp mat4 _Object2World;
  2292. uniform highp vec4 unity_Scale;
  2293. uniform highp mat4 _LightMatrix0;
  2294. uniform highp float _IterationProgress;
  2295. out lowp vec4 xlv_COLOR0;
  2296. out lowp vec3 xlv_TEXCOORD0;
  2297. out mediump vec3 xlv_TEXCOORD1;
  2298. out highp vec3 xlv_TEXCOORD2;
  2299. void main ()
  2300. {
  2301. lowp vec3 tmpvar_1;
  2302. mediump vec3 tmpvar_2;
  2303. highp vec4 tmpvar_3;
  2304. lowp vec4 tmpvar_4;
  2305. tmpvar_3.w = _glesVertex.w;
  2306. highp vec3 tmpvar_5;
  2307. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2308. highp vec3 tmpvar_6;
  2309. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2310. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2311. highp vec4 tmpvar_7;
  2312. tmpvar_7.w = 1.0;
  2313. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2314. tmpvar_4 = tmpvar_7;
  2315. mat3 tmpvar_8;
  2316. tmpvar_8[0] = _Object2World[0].xyz;
  2317. tmpvar_8[1] = _Object2World[1].xyz;
  2318. tmpvar_8[2] = _Object2World[2].xyz;
  2319. highp vec3 tmpvar_9;
  2320. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2321. tmpvar_1 = tmpvar_9;
  2322. highp vec3 tmpvar_10;
  2323. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2324. tmpvar_2 = tmpvar_10;
  2325. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2326. xlv_COLOR0 = tmpvar_4;
  2327. xlv_TEXCOORD0 = tmpvar_1;
  2328. xlv_TEXCOORD1 = tmpvar_2;
  2329. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xyz;
  2330. }
  2331.  
  2332.  
  2333.  
  2334. #endif
  2335. #ifdef FRAGMENT
  2336.  
  2337. out mediump vec4 _glesFragData[4];
  2338. in lowp vec4 xlv_COLOR0;
  2339. void main ()
  2340. {
  2341. lowp vec4 c_1;
  2342. highp vec4 tmpvar_2;
  2343. tmpvar_2 = xlv_COLOR0;
  2344. lowp vec3 tmpvar_3;
  2345. highp vec3 tmpvar_4;
  2346. tmpvar_4 = tmpvar_2.xyz;
  2347. tmpvar_3 = tmpvar_4;
  2348. lowp vec4 c_5;
  2349. c_5.xyz = tmpvar_3;
  2350. c_5.w = 0.0;
  2351. c_1.xyz = c_5.xyz;
  2352. c_1.w = 0.0;
  2353. _glesFragData[0] = c_1;
  2354. }
  2355.  
  2356.  
  2357.  
  2358. #endif"
  2359. }
  2360. SubProgram "gles " {
  2361. Keywords { "DIRECTIONAL" }
  2362. "!!GLES
  2363.  
  2364.  
  2365. #ifdef VERTEX
  2366.  
  2367. attribute vec4 _glesVertex;
  2368. attribute vec4 _glesColor;
  2369. attribute vec3 _glesNormal;
  2370. attribute vec4 _glesMultiTexCoord0;
  2371. attribute vec4 _glesMultiTexCoord1;
  2372. attribute vec4 _glesTANGENT;
  2373. uniform highp vec3 _WorldSpaceCameraPos;
  2374. uniform lowp vec4 _WorldSpaceLightPos0;
  2375. uniform highp mat4 glstate_matrix_mvp;
  2376. uniform highp mat4 _Object2World;
  2377. uniform highp vec4 unity_Scale;
  2378. uniform highp float _IterationProgress;
  2379. varying lowp vec4 xlv_COLOR0;
  2380. varying lowp vec3 xlv_TEXCOORD0;
  2381. varying mediump vec3 xlv_TEXCOORD1;
  2382. void main ()
  2383. {
  2384. lowp vec3 tmpvar_1;
  2385. mediump vec3 tmpvar_2;
  2386. highp vec4 tmpvar_3;
  2387. lowp vec4 tmpvar_4;
  2388. tmpvar_3.w = _glesVertex.w;
  2389. highp vec3 tmpvar_5;
  2390. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2391. highp vec3 tmpvar_6;
  2392. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2393. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2394. highp vec4 tmpvar_7;
  2395. tmpvar_7.w = 1.0;
  2396. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2397. tmpvar_4 = tmpvar_7;
  2398. mat3 tmpvar_8;
  2399. tmpvar_8[0] = _Object2World[0].xyz;
  2400. tmpvar_8[1] = _Object2World[1].xyz;
  2401. tmpvar_8[2] = _Object2World[2].xyz;
  2402. highp vec3 tmpvar_9;
  2403. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2404. tmpvar_1 = tmpvar_9;
  2405. highp vec3 tmpvar_10;
  2406. tmpvar_10 = _WorldSpaceLightPos0.xyz;
  2407. tmpvar_2 = tmpvar_10;
  2408. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2409. xlv_COLOR0 = tmpvar_4;
  2410. xlv_TEXCOORD0 = tmpvar_1;
  2411. xlv_TEXCOORD1 = tmpvar_2;
  2412. }
  2413.  
  2414.  
  2415.  
  2416. #endif
  2417. #ifdef FRAGMENT
  2418.  
  2419. varying lowp vec4 xlv_COLOR0;
  2420. void main ()
  2421. {
  2422. lowp vec4 c_1;
  2423. highp vec4 tmpvar_2;
  2424. tmpvar_2 = xlv_COLOR0;
  2425. lowp vec3 tmpvar_3;
  2426. highp vec3 tmpvar_4;
  2427. tmpvar_4 = tmpvar_2.xyz;
  2428. tmpvar_3 = tmpvar_4;
  2429. lowp vec4 c_5;
  2430. c_5.xyz = tmpvar_3;
  2431. c_5.w = 0.0;
  2432. c_1.xyz = c_5.xyz;
  2433. c_1.w = 0.0;
  2434. gl_FragData[0] = c_1;
  2435. }
  2436.  
  2437.  
  2438.  
  2439. #endif"
  2440. }
  2441. SubProgram "gles3 " {
  2442. Keywords { "DIRECTIONAL" }
  2443. "!!GLES3#version 300 es
  2444.  
  2445.  
  2446. #ifdef VERTEX
  2447.  
  2448. in vec4 _glesVertex;
  2449. in vec4 _glesColor;
  2450. in vec3 _glesNormal;
  2451. in vec4 _glesMultiTexCoord0;
  2452. in vec4 _glesMultiTexCoord1;
  2453. #define TANGENT _glesTANGENT
  2454. in vec4 _glesTANGENT;
  2455. uniform highp vec3 _WorldSpaceCameraPos;
  2456. uniform lowp vec4 _WorldSpaceLightPos0;
  2457. uniform highp mat4 glstate_matrix_mvp;
  2458. uniform highp mat4 _Object2World;
  2459. uniform highp vec4 unity_Scale;
  2460. uniform highp float _IterationProgress;
  2461. out lowp vec4 xlv_COLOR0;
  2462. out lowp vec3 xlv_TEXCOORD0;
  2463. out mediump vec3 xlv_TEXCOORD1;
  2464. void main ()
  2465. {
  2466. lowp vec3 tmpvar_1;
  2467. mediump vec3 tmpvar_2;
  2468. highp vec4 tmpvar_3;
  2469. lowp vec4 tmpvar_4;
  2470. tmpvar_3.w = _glesVertex.w;
  2471. highp vec3 tmpvar_5;
  2472. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2473. highp vec3 tmpvar_6;
  2474. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2475. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2476. highp vec4 tmpvar_7;
  2477. tmpvar_7.w = 1.0;
  2478. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2479. tmpvar_4 = tmpvar_7;
  2480. mat3 tmpvar_8;
  2481. tmpvar_8[0] = _Object2World[0].xyz;
  2482. tmpvar_8[1] = _Object2World[1].xyz;
  2483. tmpvar_8[2] = _Object2World[2].xyz;
  2484. highp vec3 tmpvar_9;
  2485. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2486. tmpvar_1 = tmpvar_9;
  2487. highp vec3 tmpvar_10;
  2488. tmpvar_10 = _WorldSpaceLightPos0.xyz;
  2489. tmpvar_2 = tmpvar_10;
  2490. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2491. xlv_COLOR0 = tmpvar_4;
  2492. xlv_TEXCOORD0 = tmpvar_1;
  2493. xlv_TEXCOORD1 = tmpvar_2;
  2494. }
  2495.  
  2496.  
  2497.  
  2498. #endif
  2499. #ifdef FRAGMENT
  2500.  
  2501. out mediump vec4 _glesFragData[4];
  2502. in lowp vec4 xlv_COLOR0;
  2503. void main ()
  2504. {
  2505. lowp vec4 c_1;
  2506. highp vec4 tmpvar_2;
  2507. tmpvar_2 = xlv_COLOR0;
  2508. lowp vec3 tmpvar_3;
  2509. highp vec3 tmpvar_4;
  2510. tmpvar_4 = tmpvar_2.xyz;
  2511. tmpvar_3 = tmpvar_4;
  2512. lowp vec4 c_5;
  2513. c_5.xyz = tmpvar_3;
  2514. c_5.w = 0.0;
  2515. c_1.xyz = c_5.xyz;
  2516. c_1.w = 0.0;
  2517. _glesFragData[0] = c_1;
  2518. }
  2519.  
  2520.  
  2521.  
  2522. #endif"
  2523. }
  2524. SubProgram "gles " {
  2525. Keywords { "SPOT" }
  2526. "!!GLES
  2527.  
  2528.  
  2529. #ifdef VERTEX
  2530.  
  2531. attribute vec4 _glesVertex;
  2532. attribute vec4 _glesColor;
  2533. attribute vec3 _glesNormal;
  2534. attribute vec4 _glesMultiTexCoord0;
  2535. attribute vec4 _glesMultiTexCoord1;
  2536. attribute vec4 _glesTANGENT;
  2537. uniform highp vec3 _WorldSpaceCameraPos;
  2538. uniform highp vec4 _WorldSpaceLightPos0;
  2539. uniform highp mat4 glstate_matrix_mvp;
  2540. uniform highp mat4 _Object2World;
  2541. uniform highp vec4 unity_Scale;
  2542. uniform highp mat4 _LightMatrix0;
  2543. uniform highp float _IterationProgress;
  2544. varying lowp vec4 xlv_COLOR0;
  2545. varying lowp vec3 xlv_TEXCOORD0;
  2546. varying mediump vec3 xlv_TEXCOORD1;
  2547. varying highp vec4 xlv_TEXCOORD2;
  2548. void main ()
  2549. {
  2550. lowp vec3 tmpvar_1;
  2551. mediump vec3 tmpvar_2;
  2552. highp vec4 tmpvar_3;
  2553. lowp vec4 tmpvar_4;
  2554. tmpvar_3.w = _glesVertex.w;
  2555. highp vec3 tmpvar_5;
  2556. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2557. highp vec3 tmpvar_6;
  2558. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2559. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2560. highp vec4 tmpvar_7;
  2561. tmpvar_7.w = 1.0;
  2562. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2563. tmpvar_4 = tmpvar_7;
  2564. mat3 tmpvar_8;
  2565. tmpvar_8[0] = _Object2World[0].xyz;
  2566. tmpvar_8[1] = _Object2World[1].xyz;
  2567. tmpvar_8[2] = _Object2World[2].xyz;
  2568. highp vec3 tmpvar_9;
  2569. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2570. tmpvar_1 = tmpvar_9;
  2571. highp vec3 tmpvar_10;
  2572. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2573. tmpvar_2 = tmpvar_10;
  2574. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2575. xlv_COLOR0 = tmpvar_4;
  2576. xlv_TEXCOORD0 = tmpvar_1;
  2577. xlv_TEXCOORD1 = tmpvar_2;
  2578. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3));
  2579. }
  2580.  
  2581.  
  2582.  
  2583. #endif
  2584. #ifdef FRAGMENT
  2585.  
  2586. varying lowp vec4 xlv_COLOR0;
  2587. void main ()
  2588. {
  2589. lowp vec4 c_1;
  2590. highp vec4 tmpvar_2;
  2591. tmpvar_2 = xlv_COLOR0;
  2592. lowp vec3 tmpvar_3;
  2593. highp vec3 tmpvar_4;
  2594. tmpvar_4 = tmpvar_2.xyz;
  2595. tmpvar_3 = tmpvar_4;
  2596. lowp vec4 c_5;
  2597. c_5.xyz = tmpvar_3;
  2598. c_5.w = 0.0;
  2599. c_1.xyz = c_5.xyz;
  2600. c_1.w = 0.0;
  2601. gl_FragData[0] = c_1;
  2602. }
  2603.  
  2604.  
  2605.  
  2606. #endif"
  2607. }
  2608. SubProgram "gles3 " {
  2609. Keywords { "SPOT" }
  2610. "!!GLES3#version 300 es
  2611.  
  2612.  
  2613. #ifdef VERTEX
  2614.  
  2615. in vec4 _glesVertex;
  2616. in vec4 _glesColor;
  2617. in vec3 _glesNormal;
  2618. in vec4 _glesMultiTexCoord0;
  2619. in vec4 _glesMultiTexCoord1;
  2620. #define TANGENT _glesTANGENT
  2621. in vec4 _glesTANGENT;
  2622. uniform highp vec3 _WorldSpaceCameraPos;
  2623. uniform highp vec4 _WorldSpaceLightPos0;
  2624. uniform highp mat4 glstate_matrix_mvp;
  2625. uniform highp mat4 _Object2World;
  2626. uniform highp vec4 unity_Scale;
  2627. uniform highp mat4 _LightMatrix0;
  2628. uniform highp float _IterationProgress;
  2629. out lowp vec4 xlv_COLOR0;
  2630. out lowp vec3 xlv_TEXCOORD0;
  2631. out mediump vec3 xlv_TEXCOORD1;
  2632. out highp vec4 xlv_TEXCOORD2;
  2633. void main ()
  2634. {
  2635. lowp vec3 tmpvar_1;
  2636. mediump vec3 tmpvar_2;
  2637. highp vec4 tmpvar_3;
  2638. lowp vec4 tmpvar_4;
  2639. tmpvar_3.w = _glesVertex.w;
  2640. highp vec3 tmpvar_5;
  2641. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2642. highp vec3 tmpvar_6;
  2643. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2644. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2645. highp vec4 tmpvar_7;
  2646. tmpvar_7.w = 1.0;
  2647. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2648. tmpvar_4 = tmpvar_7;
  2649. mat3 tmpvar_8;
  2650. tmpvar_8[0] = _Object2World[0].xyz;
  2651. tmpvar_8[1] = _Object2World[1].xyz;
  2652. tmpvar_8[2] = _Object2World[2].xyz;
  2653. highp vec3 tmpvar_9;
  2654. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2655. tmpvar_1 = tmpvar_9;
  2656. highp vec3 tmpvar_10;
  2657. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2658. tmpvar_2 = tmpvar_10;
  2659. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2660. xlv_COLOR0 = tmpvar_4;
  2661. xlv_TEXCOORD0 = tmpvar_1;
  2662. xlv_TEXCOORD1 = tmpvar_2;
  2663. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3));
  2664. }
  2665.  
  2666.  
  2667.  
  2668. #endif
  2669. #ifdef FRAGMENT
  2670.  
  2671. out mediump vec4 _glesFragData[4];
  2672. in lowp vec4 xlv_COLOR0;
  2673. void main ()
  2674. {
  2675. lowp vec4 c_1;
  2676. highp vec4 tmpvar_2;
  2677. tmpvar_2 = xlv_COLOR0;
  2678. lowp vec3 tmpvar_3;
  2679. highp vec3 tmpvar_4;
  2680. tmpvar_4 = tmpvar_2.xyz;
  2681. tmpvar_3 = tmpvar_4;
  2682. lowp vec4 c_5;
  2683. c_5.xyz = tmpvar_3;
  2684. c_5.w = 0.0;
  2685. c_1.xyz = c_5.xyz;
  2686. c_1.w = 0.0;
  2687. _glesFragData[0] = c_1;
  2688. }
  2689.  
  2690.  
  2691.  
  2692. #endif"
  2693. }
  2694. SubProgram "gles " {
  2695. Keywords { "POINT_COOKIE" }
  2696. "!!GLES
  2697.  
  2698.  
  2699. #ifdef VERTEX
  2700.  
  2701. attribute vec4 _glesVertex;
  2702. attribute vec4 _glesColor;
  2703. attribute vec3 _glesNormal;
  2704. attribute vec4 _glesMultiTexCoord0;
  2705. attribute vec4 _glesMultiTexCoord1;
  2706. attribute vec4 _glesTANGENT;
  2707. uniform highp vec3 _WorldSpaceCameraPos;
  2708. uniform highp vec4 _WorldSpaceLightPos0;
  2709. uniform highp mat4 glstate_matrix_mvp;
  2710. uniform highp mat4 _Object2World;
  2711. uniform highp vec4 unity_Scale;
  2712. uniform highp mat4 _LightMatrix0;
  2713. uniform highp float _IterationProgress;
  2714. varying lowp vec4 xlv_COLOR0;
  2715. varying lowp vec3 xlv_TEXCOORD0;
  2716. varying mediump vec3 xlv_TEXCOORD1;
  2717. varying highp vec3 xlv_TEXCOORD2;
  2718. void main ()
  2719. {
  2720. lowp vec3 tmpvar_1;
  2721. mediump vec3 tmpvar_2;
  2722. highp vec4 tmpvar_3;
  2723. lowp vec4 tmpvar_4;
  2724. tmpvar_3.w = _glesVertex.w;
  2725. highp vec3 tmpvar_5;
  2726. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2727. highp vec3 tmpvar_6;
  2728. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2729. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2730. highp vec4 tmpvar_7;
  2731. tmpvar_7.w = 1.0;
  2732. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2733. tmpvar_4 = tmpvar_7;
  2734. mat3 tmpvar_8;
  2735. tmpvar_8[0] = _Object2World[0].xyz;
  2736. tmpvar_8[1] = _Object2World[1].xyz;
  2737. tmpvar_8[2] = _Object2World[2].xyz;
  2738. highp vec3 tmpvar_9;
  2739. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2740. tmpvar_1 = tmpvar_9;
  2741. highp vec3 tmpvar_10;
  2742. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2743. tmpvar_2 = tmpvar_10;
  2744. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2745. xlv_COLOR0 = tmpvar_4;
  2746. xlv_TEXCOORD0 = tmpvar_1;
  2747. xlv_TEXCOORD1 = tmpvar_2;
  2748. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xyz;
  2749. }
  2750.  
  2751.  
  2752.  
  2753. #endif
  2754. #ifdef FRAGMENT
  2755.  
  2756. varying lowp vec4 xlv_COLOR0;
  2757. void main ()
  2758. {
  2759. lowp vec4 c_1;
  2760. highp vec4 tmpvar_2;
  2761. tmpvar_2 = xlv_COLOR0;
  2762. lowp vec3 tmpvar_3;
  2763. highp vec3 tmpvar_4;
  2764. tmpvar_4 = tmpvar_2.xyz;
  2765. tmpvar_3 = tmpvar_4;
  2766. lowp vec4 c_5;
  2767. c_5.xyz = tmpvar_3;
  2768. c_5.w = 0.0;
  2769. c_1.xyz = c_5.xyz;
  2770. c_1.w = 0.0;
  2771. gl_FragData[0] = c_1;
  2772. }
  2773.  
  2774.  
  2775.  
  2776. #endif"
  2777. }
  2778. SubProgram "gles3 " {
  2779. Keywords { "POINT_COOKIE" }
  2780. "!!GLES3#version 300 es
  2781.  
  2782.  
  2783. #ifdef VERTEX
  2784.  
  2785. in vec4 _glesVertex;
  2786. in vec4 _glesColor;
  2787. in vec3 _glesNormal;
  2788. in vec4 _glesMultiTexCoord0;
  2789. in vec4 _glesMultiTexCoord1;
  2790. #define TANGENT _glesTANGENT
  2791. in vec4 _glesTANGENT;
  2792. uniform highp vec3 _WorldSpaceCameraPos;
  2793. uniform highp vec4 _WorldSpaceLightPos0;
  2794. uniform highp mat4 glstate_matrix_mvp;
  2795. uniform highp mat4 _Object2World;
  2796. uniform highp vec4 unity_Scale;
  2797. uniform highp mat4 _LightMatrix0;
  2798. uniform highp float _IterationProgress;
  2799. out lowp vec4 xlv_COLOR0;
  2800. out lowp vec3 xlv_TEXCOORD0;
  2801. out mediump vec3 xlv_TEXCOORD1;
  2802. out highp vec3 xlv_TEXCOORD2;
  2803. void main ()
  2804. {
  2805. lowp vec3 tmpvar_1;
  2806. mediump vec3 tmpvar_2;
  2807. highp vec4 tmpvar_3;
  2808. lowp vec4 tmpvar_4;
  2809. tmpvar_3.w = _glesVertex.w;
  2810. highp vec3 tmpvar_5;
  2811. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2812. highp vec3 tmpvar_6;
  2813. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2814. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2815. highp vec4 tmpvar_7;
  2816. tmpvar_7.w = 1.0;
  2817. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2818. tmpvar_4 = tmpvar_7;
  2819. mat3 tmpvar_8;
  2820. tmpvar_8[0] = _Object2World[0].xyz;
  2821. tmpvar_8[1] = _Object2World[1].xyz;
  2822. tmpvar_8[2] = _Object2World[2].xyz;
  2823. highp vec3 tmpvar_9;
  2824. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2825. tmpvar_1 = tmpvar_9;
  2826. highp vec3 tmpvar_10;
  2827. tmpvar_10 = (_WorldSpaceLightPos0.xyz - (_Object2World * tmpvar_3).xyz);
  2828. tmpvar_2 = tmpvar_10;
  2829. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2830. xlv_COLOR0 = tmpvar_4;
  2831. xlv_TEXCOORD0 = tmpvar_1;
  2832. xlv_TEXCOORD1 = tmpvar_2;
  2833. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xyz;
  2834. }
  2835.  
  2836.  
  2837.  
  2838. #endif
  2839. #ifdef FRAGMENT
  2840.  
  2841. out mediump vec4 _glesFragData[4];
  2842. in lowp vec4 xlv_COLOR0;
  2843. void main ()
  2844. {
  2845. lowp vec4 c_1;
  2846. highp vec4 tmpvar_2;
  2847. tmpvar_2 = xlv_COLOR0;
  2848. lowp vec3 tmpvar_3;
  2849. highp vec3 tmpvar_4;
  2850. tmpvar_4 = tmpvar_2.xyz;
  2851. tmpvar_3 = tmpvar_4;
  2852. lowp vec4 c_5;
  2853. c_5.xyz = tmpvar_3;
  2854. c_5.w = 0.0;
  2855. c_1.xyz = c_5.xyz;
  2856. c_1.w = 0.0;
  2857. _glesFragData[0] = c_1;
  2858. }
  2859.  
  2860.  
  2861.  
  2862. #endif"
  2863. }
  2864. SubProgram "gles " {
  2865. Keywords { "DIRECTIONAL_COOKIE" }
  2866. "!!GLES
  2867.  
  2868.  
  2869. #ifdef VERTEX
  2870.  
  2871. attribute vec4 _glesVertex;
  2872. attribute vec4 _glesColor;
  2873. attribute vec3 _glesNormal;
  2874. attribute vec4 _glesMultiTexCoord0;
  2875. attribute vec4 _glesMultiTexCoord1;
  2876. attribute vec4 _glesTANGENT;
  2877. uniform highp vec3 _WorldSpaceCameraPos;
  2878. uniform lowp vec4 _WorldSpaceLightPos0;
  2879. uniform highp mat4 glstate_matrix_mvp;
  2880. uniform highp mat4 _Object2World;
  2881. uniform highp vec4 unity_Scale;
  2882. uniform highp mat4 _LightMatrix0;
  2883. uniform highp float _IterationProgress;
  2884. varying lowp vec4 xlv_COLOR0;
  2885. varying lowp vec3 xlv_TEXCOORD0;
  2886. varying mediump vec3 xlv_TEXCOORD1;
  2887. varying highp vec2 xlv_TEXCOORD2;
  2888. void main ()
  2889. {
  2890. lowp vec3 tmpvar_1;
  2891. mediump vec3 tmpvar_2;
  2892. highp vec4 tmpvar_3;
  2893. lowp vec4 tmpvar_4;
  2894. tmpvar_3.w = _glesVertex.w;
  2895. highp vec3 tmpvar_5;
  2896. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2897. highp vec3 tmpvar_6;
  2898. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2899. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2900. highp vec4 tmpvar_7;
  2901. tmpvar_7.w = 1.0;
  2902. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2903. tmpvar_4 = tmpvar_7;
  2904. mat3 tmpvar_8;
  2905. tmpvar_8[0] = _Object2World[0].xyz;
  2906. tmpvar_8[1] = _Object2World[1].xyz;
  2907. tmpvar_8[2] = _Object2World[2].xyz;
  2908. highp vec3 tmpvar_9;
  2909. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2910. tmpvar_1 = tmpvar_9;
  2911. highp vec3 tmpvar_10;
  2912. tmpvar_10 = _WorldSpaceLightPos0.xyz;
  2913. tmpvar_2 = tmpvar_10;
  2914. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  2915. xlv_COLOR0 = tmpvar_4;
  2916. xlv_TEXCOORD0 = tmpvar_1;
  2917. xlv_TEXCOORD1 = tmpvar_2;
  2918. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xy;
  2919. }
  2920.  
  2921.  
  2922.  
  2923. #endif
  2924. #ifdef FRAGMENT
  2925.  
  2926. varying lowp vec4 xlv_COLOR0;
  2927. void main ()
  2928. {
  2929. lowp vec4 c_1;
  2930. highp vec4 tmpvar_2;
  2931. tmpvar_2 = xlv_COLOR0;
  2932. lowp vec3 tmpvar_3;
  2933. highp vec3 tmpvar_4;
  2934. tmpvar_4 = tmpvar_2.xyz;
  2935. tmpvar_3 = tmpvar_4;
  2936. lowp vec4 c_5;
  2937. c_5.xyz = tmpvar_3;
  2938. c_5.w = 0.0;
  2939. c_1.xyz = c_5.xyz;
  2940. c_1.w = 0.0;
  2941. gl_FragData[0] = c_1;
  2942. }
  2943.  
  2944.  
  2945.  
  2946. #endif"
  2947. }
  2948. SubProgram "gles3 " {
  2949. Keywords { "DIRECTIONAL_COOKIE" }
  2950. "!!GLES3#version 300 es
  2951.  
  2952.  
  2953. #ifdef VERTEX
  2954.  
  2955. in vec4 _glesVertex;
  2956. in vec4 _glesColor;
  2957. in vec3 _glesNormal;
  2958. in vec4 _glesMultiTexCoord0;
  2959. in vec4 _glesMultiTexCoord1;
  2960. #define TANGENT _glesTANGENT
  2961. in vec4 _glesTANGENT;
  2962. uniform highp vec3 _WorldSpaceCameraPos;
  2963. uniform lowp vec4 _WorldSpaceLightPos0;
  2964. uniform highp mat4 glstate_matrix_mvp;
  2965. uniform highp mat4 _Object2World;
  2966. uniform highp vec4 unity_Scale;
  2967. uniform highp mat4 _LightMatrix0;
  2968. uniform highp float _IterationProgress;
  2969. out lowp vec4 xlv_COLOR0;
  2970. out lowp vec3 xlv_TEXCOORD0;
  2971. out mediump vec3 xlv_TEXCOORD1;
  2972. out highp vec2 xlv_TEXCOORD2;
  2973. void main ()
  2974. {
  2975. lowp vec3 tmpvar_1;
  2976. mediump vec3 tmpvar_2;
  2977. highp vec4 tmpvar_3;
  2978. lowp vec4 tmpvar_4;
  2979. tmpvar_3.w = _glesVertex.w;
  2980. highp vec3 tmpvar_5;
  2981. tmpvar_5 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  2982. highp vec3 tmpvar_6;
  2983. tmpvar_6 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  2984. tmpvar_3.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_5.yzx * tmpvar_6.zxy) - (tmpvar_5.zxy * tmpvar_6.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  2985. highp vec4 tmpvar_7;
  2986. tmpvar_7.w = 1.0;
  2987. tmpvar_7.xyz = mix (_glesColor.xyz, _glesTANGENT.xyz, vec3(_IterationProgress));
  2988. tmpvar_4 = tmpvar_7;
  2989. mat3 tmpvar_8;
  2990. tmpvar_8[0] = _Object2World[0].xyz;
  2991. tmpvar_8[1] = _Object2World[1].xyz;
  2992. tmpvar_8[2] = _Object2World[2].xyz;
  2993. highp vec3 tmpvar_9;
  2994. tmpvar_9 = (tmpvar_8 * (_glesNormal * unity_Scale.w));
  2995. tmpvar_1 = tmpvar_9;
  2996. highp vec3 tmpvar_10;
  2997. tmpvar_10 = _WorldSpaceLightPos0.xyz;
  2998. tmpvar_2 = tmpvar_10;
  2999. gl_Position = (glstate_matrix_mvp * tmpvar_3);
  3000. xlv_COLOR0 = tmpvar_4;
  3001. xlv_TEXCOORD0 = tmpvar_1;
  3002. xlv_TEXCOORD1 = tmpvar_2;
  3003. xlv_TEXCOORD2 = (_LightMatrix0 * (_Object2World * tmpvar_3)).xy;
  3004. }
  3005.  
  3006.  
  3007.  
  3008. #endif
  3009. #ifdef FRAGMENT
  3010.  
  3011. out mediump vec4 _glesFragData[4];
  3012. in lowp vec4 xlv_COLOR0;
  3013. void main ()
  3014. {
  3015. lowp vec4 c_1;
  3016. highp vec4 tmpvar_2;
  3017. tmpvar_2 = xlv_COLOR0;
  3018. lowp vec3 tmpvar_3;
  3019. highp vec3 tmpvar_4;
  3020. tmpvar_4 = tmpvar_2.xyz;
  3021. tmpvar_3 = tmpvar_4;
  3022. lowp vec4 c_5;
  3023. c_5.xyz = tmpvar_3;
  3024. c_5.w = 0.0;
  3025. c_1.xyz = c_5.xyz;
  3026. c_1.w = 0.0;
  3027. _glesFragData[0] = c_1;
  3028. }
  3029.  
  3030.  
  3031.  
  3032. #endif"
  3033. }
  3034. }
  3035. Program "fp" {
  3036. SubProgram "gles " {
  3037. Keywords { "POINT" }
  3038. "!!GLES"
  3039. }
  3040. SubProgram "gles3 " {
  3041. Keywords { "POINT" }
  3042. "!!GLES3"
  3043. }
  3044. SubProgram "gles " {
  3045. Keywords { "DIRECTIONAL" }
  3046. "!!GLES"
  3047. }
  3048. SubProgram "gles3 " {
  3049. Keywords { "DIRECTIONAL" }
  3050. "!!GLES3"
  3051. }
  3052. SubProgram "gles " {
  3053. Keywords { "SPOT" }
  3054. "!!GLES"
  3055. }
  3056. SubProgram "gles3 " {
  3057. Keywords { "SPOT" }
  3058. "!!GLES3"
  3059. }
  3060. SubProgram "gles " {
  3061. Keywords { "POINT_COOKIE" }
  3062. "!!GLES"
  3063. }
  3064. SubProgram "gles3 " {
  3065. Keywords { "POINT_COOKIE" }
  3066. "!!GLES3"
  3067. }
  3068. SubProgram "gles " {
  3069. Keywords { "DIRECTIONAL_COOKIE" }
  3070. "!!GLES"
  3071. }
  3072. SubProgram "gles3 " {
  3073. Keywords { "DIRECTIONAL_COOKIE" }
  3074. "!!GLES3"
  3075. }
  3076. }
  3077. }
  3078. Pass {
  3079. Name "SHADOWCASTER"
  3080. Tags { "LIGHTMODE"="SHADOWCASTER" "SHADOWSUPPORT"="true" "QUEUE"="Geometry" "RenderType"="Opaque" }
  3081. Cull Off
  3082. Fog { Mode Off }
  3083. Offset 1, 1
  3084. Program "vp" {
  3085. SubProgram "gles " {
  3086. Keywords { "SHADOWS_DEPTH" }
  3087. "!!GLES
  3088.  
  3089.  
  3090. #ifdef VERTEX
  3091.  
  3092. attribute vec4 _glesVertex;
  3093. attribute vec4 _glesMultiTexCoord0;
  3094. attribute vec4 _glesMultiTexCoord1;
  3095. uniform highp vec3 _WorldSpaceCameraPos;
  3096. uniform highp vec4 unity_LightShadowBias;
  3097. uniform highp mat4 glstate_matrix_mvp;
  3098. uniform highp mat4 _Object2World;
  3099. uniform highp float _IterationProgress;
  3100. void main ()
  3101. {
  3102. highp vec4 tmpvar_1;
  3103. highp vec4 tmpvar_2;
  3104. tmpvar_2.w = _glesVertex.w;
  3105. highp vec3 tmpvar_3;
  3106. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3107. highp vec3 tmpvar_4;
  3108. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3109. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3110. highp vec4 tmpvar_5;
  3111. tmpvar_5 = (glstate_matrix_mvp * tmpvar_2);
  3112. tmpvar_1.xyw = tmpvar_5.xyw;
  3113. tmpvar_1.z = (tmpvar_5.z + unity_LightShadowBias.x);
  3114. tmpvar_1.z = mix (tmpvar_1.z, max (tmpvar_1.z, (tmpvar_5.w * -1.0)), unity_LightShadowBias.y);
  3115. gl_Position = tmpvar_1;
  3116. }
  3117.  
  3118.  
  3119.  
  3120. #endif
  3121. #ifdef FRAGMENT
  3122.  
  3123. void main ()
  3124. {
  3125. gl_FragData[0] = vec4(0.0, 0.0, 0.0, 0.0);
  3126. }
  3127.  
  3128.  
  3129.  
  3130. #endif"
  3131. }
  3132. SubProgram "gles3 " {
  3133. Keywords { "SHADOWS_DEPTH" }
  3134. "!!GLES3#version 300 es
  3135.  
  3136.  
  3137. #ifdef VERTEX
  3138.  
  3139. in vec4 _glesVertex;
  3140. in vec4 _glesMultiTexCoord0;
  3141. in vec4 _glesMultiTexCoord1;
  3142. uniform highp vec3 _WorldSpaceCameraPos;
  3143. uniform highp vec4 unity_LightShadowBias;
  3144. uniform highp mat4 glstate_matrix_mvp;
  3145. uniform highp mat4 _Object2World;
  3146. uniform highp float _IterationProgress;
  3147. void main ()
  3148. {
  3149. highp vec4 tmpvar_1;
  3150. highp vec4 tmpvar_2;
  3151. tmpvar_2.w = _glesVertex.w;
  3152. highp vec3 tmpvar_3;
  3153. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3154. highp vec3 tmpvar_4;
  3155. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3156. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3157. highp vec4 tmpvar_5;
  3158. tmpvar_5 = (glstate_matrix_mvp * tmpvar_2);
  3159. tmpvar_1.xyw = tmpvar_5.xyw;
  3160. tmpvar_1.z = (tmpvar_5.z + unity_LightShadowBias.x);
  3161. tmpvar_1.z = mix (tmpvar_1.z, max (tmpvar_1.z, (tmpvar_5.w * -1.0)), unity_LightShadowBias.y);
  3162. gl_Position = tmpvar_1;
  3163. }
  3164.  
  3165.  
  3166.  
  3167. #endif
  3168. #ifdef FRAGMENT
  3169.  
  3170. out mediump vec4 _glesFragData[4];
  3171. void main ()
  3172. {
  3173. _glesFragData[0] = vec4(0.0, 0.0, 0.0, 0.0);
  3174. }
  3175.  
  3176.  
  3177.  
  3178. #endif"
  3179. }
  3180. SubProgram "gles " {
  3181. Keywords { "SHADOWS_CUBE" }
  3182. "!!GLES
  3183.  
  3184.  
  3185. #ifdef VERTEX
  3186.  
  3187. attribute vec4 _glesVertex;
  3188. attribute vec4 _glesMultiTexCoord0;
  3189. attribute vec4 _glesMultiTexCoord1;
  3190. uniform highp vec3 _WorldSpaceCameraPos;
  3191. uniform highp vec4 _LightPositionRange;
  3192. uniform highp mat4 glstate_matrix_mvp;
  3193. uniform highp mat4 _Object2World;
  3194. uniform highp float _IterationProgress;
  3195. varying highp vec3 xlv_TEXCOORD0;
  3196. void main ()
  3197. {
  3198. highp vec4 tmpvar_1;
  3199. tmpvar_1.w = _glesVertex.w;
  3200. highp vec3 tmpvar_2;
  3201. tmpvar_2 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3202. highp vec3 tmpvar_3;
  3203. tmpvar_3 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3204. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_2.yzx * tmpvar_3.zxy) - (tmpvar_2.zxy * tmpvar_3.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3205. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  3206. xlv_TEXCOORD0 = ((_Object2World * tmpvar_1).xyz - _LightPositionRange.xyz);
  3207. }
  3208.  
  3209.  
  3210.  
  3211. #endif
  3212. #ifdef FRAGMENT
  3213.  
  3214. uniform highp vec4 _LightPositionRange;
  3215. varying highp vec3 xlv_TEXCOORD0;
  3216. void main ()
  3217. {
  3218. lowp vec4 tmpvar_1;
  3219. highp vec4 tmpvar_2;
  3220. tmpvar_2 = fract((vec4(1.0, 255.0, 65025.0, 1.65814e+07) * min ((sqrt(dot (xlv_TEXCOORD0, xlv_TEXCOORD0)) * _LightPositionRange.w), 0.999)));
  3221. highp vec4 tmpvar_3;
  3222. tmpvar_3 = (tmpvar_2 - (tmpvar_2.yzww * 0.00392157));
  3223. tmpvar_1 = tmpvar_3;
  3224. gl_FragData[0] = tmpvar_1;
  3225. }
  3226.  
  3227.  
  3228.  
  3229. #endif"
  3230. }
  3231. SubProgram "gles3 " {
  3232. Keywords { "SHADOWS_CUBE" }
  3233. "!!GLES3#version 300 es
  3234.  
  3235.  
  3236. #ifdef VERTEX
  3237.  
  3238. in vec4 _glesVertex;
  3239. in vec4 _glesMultiTexCoord0;
  3240. in vec4 _glesMultiTexCoord1;
  3241. uniform highp vec3 _WorldSpaceCameraPos;
  3242. uniform highp vec4 _LightPositionRange;
  3243. uniform highp mat4 glstate_matrix_mvp;
  3244. uniform highp mat4 _Object2World;
  3245. uniform highp float _IterationProgress;
  3246. out highp vec3 xlv_TEXCOORD0;
  3247. void main ()
  3248. {
  3249. highp vec4 tmpvar_1;
  3250. tmpvar_1.w = _glesVertex.w;
  3251. highp vec3 tmpvar_2;
  3252. tmpvar_2 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3253. highp vec3 tmpvar_3;
  3254. tmpvar_3 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3255. tmpvar_1.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_2.yzx * tmpvar_3.zxy) - (tmpvar_2.zxy * tmpvar_3.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3256. gl_Position = (glstate_matrix_mvp * tmpvar_1);
  3257. xlv_TEXCOORD0 = ((_Object2World * tmpvar_1).xyz - _LightPositionRange.xyz);
  3258. }
  3259.  
  3260.  
  3261.  
  3262. #endif
  3263. #ifdef FRAGMENT
  3264.  
  3265. out mediump vec4 _glesFragData[4];
  3266. uniform highp vec4 _LightPositionRange;
  3267. in highp vec3 xlv_TEXCOORD0;
  3268. void main ()
  3269. {
  3270. lowp vec4 tmpvar_1;
  3271. highp vec4 tmpvar_2;
  3272. tmpvar_2 = fract((vec4(1.0, 255.0, 65025.0, 1.65814e+07) * min ((sqrt(dot (xlv_TEXCOORD0, xlv_TEXCOORD0)) * _LightPositionRange.w), 0.999)));
  3273. highp vec4 tmpvar_3;
  3274. tmpvar_3 = (tmpvar_2 - (tmpvar_2.yzww * 0.00392157));
  3275. tmpvar_1 = tmpvar_3;
  3276. _glesFragData[0] = tmpvar_1;
  3277. }
  3278.  
  3279.  
  3280.  
  3281. #endif"
  3282. }
  3283. }
  3284. Program "fp" {
  3285. SubProgram "gles " {
  3286. Keywords { "SHADOWS_DEPTH" }
  3287. "!!GLES"
  3288. }
  3289. SubProgram "gles3 " {
  3290. Keywords { "SHADOWS_DEPTH" }
  3291. "!!GLES3"
  3292. }
  3293. SubProgram "gles " {
  3294. Keywords { "SHADOWS_CUBE" }
  3295. "!!GLES"
  3296. }
  3297. SubProgram "gles3 " {
  3298. Keywords { "SHADOWS_CUBE" }
  3299. "!!GLES3"
  3300. }
  3301. }
  3302. }
  3303. Pass {
  3304. Name "SHADOWCOLLECTOR"
  3305. Tags { "LIGHTMODE"="SHADOWCOLLECTOR" "QUEUE"="Geometry" "RenderType"="Opaque" }
  3306. Cull Off
  3307. Fog { Mode Off }
  3308. Program "vp" {
  3309. SubProgram "gles " {
  3310. Keywords { "SHADOWS_NONATIVE" }
  3311. "!!GLES
  3312.  
  3313.  
  3314. #ifdef VERTEX
  3315.  
  3316. attribute vec4 _glesVertex;
  3317. attribute vec4 _glesMultiTexCoord0;
  3318. attribute vec4 _glesMultiTexCoord1;
  3319. uniform highp vec3 _WorldSpaceCameraPos;
  3320. uniform highp mat4 unity_World2Shadow[4];
  3321. uniform highp mat4 glstate_matrix_mvp;
  3322. uniform highp mat4 glstate_matrix_modelview0;
  3323. uniform highp mat4 _Object2World;
  3324. uniform highp float _IterationProgress;
  3325. varying highp vec3 xlv_TEXCOORD0;
  3326. varying highp vec3 xlv_TEXCOORD1;
  3327. varying highp vec3 xlv_TEXCOORD2;
  3328. varying highp vec3 xlv_TEXCOORD3;
  3329. varying highp vec4 xlv_TEXCOORD4;
  3330. void main ()
  3331. {
  3332. highp vec4 tmpvar_1;
  3333. highp vec4 tmpvar_2;
  3334. tmpvar_2.w = _glesVertex.w;
  3335. highp vec3 tmpvar_3;
  3336. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3337. highp vec3 tmpvar_4;
  3338. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3339. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3340. highp vec4 tmpvar_5;
  3341. tmpvar_5 = (_Object2World * tmpvar_2);
  3342. tmpvar_1.xyz = tmpvar_5.xyz;
  3343. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3344. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3345. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3346. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3347. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3348. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3349. xlv_TEXCOORD4 = tmpvar_1;
  3350. }
  3351.  
  3352.  
  3353.  
  3354. #endif
  3355. #ifdef FRAGMENT
  3356.  
  3357. uniform highp vec4 _ProjectionParams;
  3358. uniform highp vec4 _LightSplitsNear;
  3359. uniform highp vec4 _LightSplitsFar;
  3360. uniform highp vec4 _LightShadowData;
  3361. uniform sampler2D _ShadowMapTexture;
  3362. varying highp vec3 xlv_TEXCOORD0;
  3363. varying highp vec3 xlv_TEXCOORD1;
  3364. varying highp vec3 xlv_TEXCOORD2;
  3365. varying highp vec3 xlv_TEXCOORD3;
  3366. varying highp vec4 xlv_TEXCOORD4;
  3367. void main ()
  3368. {
  3369. lowp vec4 tmpvar_1;
  3370. highp vec4 res_2;
  3371. highp vec4 zFar_3;
  3372. highp vec4 zNear_4;
  3373. bvec4 tmpvar_5;
  3374. tmpvar_5 = greaterThanEqual (xlv_TEXCOORD4.wwww, _LightSplitsNear);
  3375. lowp vec4 tmpvar_6;
  3376. tmpvar_6 = vec4(tmpvar_5);
  3377. zNear_4 = tmpvar_6;
  3378. bvec4 tmpvar_7;
  3379. tmpvar_7 = lessThan (xlv_TEXCOORD4.wwww, _LightSplitsFar);
  3380. lowp vec4 tmpvar_8;
  3381. tmpvar_8 = vec4(tmpvar_7);
  3382. zFar_3 = tmpvar_8;
  3383. highp vec4 tmpvar_9;
  3384. tmpvar_9 = (zNear_4 * zFar_3);
  3385. highp float tmpvar_10;
  3386. tmpvar_10 = clamp (((xlv_TEXCOORD4.w * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0);
  3387. highp vec4 tmpvar_11;
  3388. tmpvar_11.w = 1.0;
  3389. tmpvar_11.xyz = ((((xlv_TEXCOORD0 * tmpvar_9.x) + (xlv_TEXCOORD1 * tmpvar_9.y)) + (xlv_TEXCOORD2 * tmpvar_9.z)) + (xlv_TEXCOORD3 * tmpvar_9.w));
  3390. lowp vec4 tmpvar_12;
  3391. tmpvar_12 = texture2D (_ShadowMapTexture, tmpvar_11.xy);
  3392. highp float tmpvar_13;
  3393. if ((tmpvar_12.x < tmpvar_11.z)) {
  3394. tmpvar_13 = _LightShadowData.x;
  3395. } else {
  3396. tmpvar_13 = 1.0;
  3397. };
  3398. res_2.x = clamp ((tmpvar_13 + tmpvar_10), 0.0, 1.0);
  3399. res_2.y = 1.0;
  3400. highp vec2 enc_14;
  3401. highp vec2 tmpvar_15;
  3402. tmpvar_15 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3403. enc_14.y = tmpvar_15.y;
  3404. enc_14.x = (tmpvar_15.x - (tmpvar_15.y * 0.00392157));
  3405. res_2.zw = enc_14;
  3406. tmpvar_1 = res_2;
  3407. gl_FragData[0] = tmpvar_1;
  3408. }
  3409.  
  3410.  
  3411.  
  3412. #endif"
  3413. }
  3414. SubProgram "gles " {
  3415. Keywords { "SHADOWS_NATIVE" }
  3416. "!!GLES
  3417.  
  3418.  
  3419. #ifdef VERTEX
  3420.  
  3421. #extension GL_EXT_shadow_samplers : enable
  3422. attribute vec4 _glesVertex;
  3423. attribute vec4 _glesMultiTexCoord0;
  3424. attribute vec4 _glesMultiTexCoord1;
  3425. uniform highp vec3 _WorldSpaceCameraPos;
  3426. uniform highp mat4 unity_World2Shadow[4];
  3427. uniform highp mat4 glstate_matrix_mvp;
  3428. uniform highp mat4 glstate_matrix_modelview0;
  3429. uniform highp mat4 _Object2World;
  3430. uniform highp float _IterationProgress;
  3431. varying highp vec3 xlv_TEXCOORD0;
  3432. varying highp vec3 xlv_TEXCOORD1;
  3433. varying highp vec3 xlv_TEXCOORD2;
  3434. varying highp vec3 xlv_TEXCOORD3;
  3435. varying highp vec4 xlv_TEXCOORD4;
  3436. void main ()
  3437. {
  3438. highp vec4 tmpvar_1;
  3439. highp vec4 tmpvar_2;
  3440. tmpvar_2.w = _glesVertex.w;
  3441. highp vec3 tmpvar_3;
  3442. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3443. highp vec3 tmpvar_4;
  3444. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3445. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3446. highp vec4 tmpvar_5;
  3447. tmpvar_5 = (_Object2World * tmpvar_2);
  3448. tmpvar_1.xyz = tmpvar_5.xyz;
  3449. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3450. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3451. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3452. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3453. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3454. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3455. xlv_TEXCOORD4 = tmpvar_1;
  3456. }
  3457.  
  3458.  
  3459.  
  3460. #endif
  3461. #ifdef FRAGMENT
  3462.  
  3463. #extension GL_EXT_shadow_samplers : enable
  3464. uniform highp vec4 _ProjectionParams;
  3465. uniform highp vec4 _LightSplitsNear;
  3466. uniform highp vec4 _LightSplitsFar;
  3467. uniform highp vec4 _LightShadowData;
  3468. uniform lowp sampler2DShadow _ShadowMapTexture;
  3469. varying highp vec3 xlv_TEXCOORD0;
  3470. varying highp vec3 xlv_TEXCOORD1;
  3471. varying highp vec3 xlv_TEXCOORD2;
  3472. varying highp vec3 xlv_TEXCOORD3;
  3473. varying highp vec4 xlv_TEXCOORD4;
  3474. void main ()
  3475. {
  3476. lowp vec4 tmpvar_1;
  3477. highp vec4 res_2;
  3478. mediump float shadow_3;
  3479. highp vec4 zFar_4;
  3480. highp vec4 zNear_5;
  3481. bvec4 tmpvar_6;
  3482. tmpvar_6 = greaterThanEqual (xlv_TEXCOORD4.wwww, _LightSplitsNear);
  3483. lowp vec4 tmpvar_7;
  3484. tmpvar_7 = vec4(tmpvar_6);
  3485. zNear_5 = tmpvar_7;
  3486. bvec4 tmpvar_8;
  3487. tmpvar_8 = lessThan (xlv_TEXCOORD4.wwww, _LightSplitsFar);
  3488. lowp vec4 tmpvar_9;
  3489. tmpvar_9 = vec4(tmpvar_8);
  3490. zFar_4 = tmpvar_9;
  3491. highp vec4 tmpvar_10;
  3492. tmpvar_10 = (zNear_5 * zFar_4);
  3493. highp vec4 tmpvar_11;
  3494. tmpvar_11.w = 1.0;
  3495. tmpvar_11.xyz = ((((xlv_TEXCOORD0 * tmpvar_10.x) + (xlv_TEXCOORD1 * tmpvar_10.y)) + (xlv_TEXCOORD2 * tmpvar_10.z)) + (xlv_TEXCOORD3 * tmpvar_10.w));
  3496. lowp float tmpvar_12;
  3497. tmpvar_12 = shadow2DEXT (_ShadowMapTexture, tmpvar_11.xyz);
  3498. shadow_3 = tmpvar_12;
  3499. highp float tmpvar_13;
  3500. tmpvar_13 = (_LightShadowData.x + (shadow_3 * (1.0 - _LightShadowData.x)));
  3501. shadow_3 = tmpvar_13;
  3502. res_2.x = clamp ((shadow_3 + clamp (((xlv_TEXCOORD4.w * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0)), 0.0, 1.0);
  3503. res_2.y = 1.0;
  3504. highp vec2 enc_14;
  3505. highp vec2 tmpvar_15;
  3506. tmpvar_15 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3507. enc_14.y = tmpvar_15.y;
  3508. enc_14.x = (tmpvar_15.x - (tmpvar_15.y * 0.00392157));
  3509. res_2.zw = enc_14;
  3510. tmpvar_1 = res_2;
  3511. gl_FragData[0] = tmpvar_1;
  3512. }
  3513.  
  3514.  
  3515.  
  3516. #endif"
  3517. }
  3518. SubProgram "gles3 " {
  3519. Keywords { "SHADOWS_NATIVE" }
  3520. "!!GLES3#version 300 es
  3521.  
  3522.  
  3523. #ifdef VERTEX
  3524.  
  3525. in vec4 _glesVertex;
  3526. in vec4 _glesMultiTexCoord0;
  3527. in vec4 _glesMultiTexCoord1;
  3528. uniform highp vec3 _WorldSpaceCameraPos;
  3529. uniform highp mat4 unity_World2Shadow[4];
  3530. uniform highp mat4 glstate_matrix_mvp;
  3531. uniform highp mat4 glstate_matrix_modelview0;
  3532. uniform highp mat4 _Object2World;
  3533. uniform highp float _IterationProgress;
  3534. out highp vec3 xlv_TEXCOORD0;
  3535. out highp vec3 xlv_TEXCOORD1;
  3536. out highp vec3 xlv_TEXCOORD2;
  3537. out highp vec3 xlv_TEXCOORD3;
  3538. out highp vec4 xlv_TEXCOORD4;
  3539. void main ()
  3540. {
  3541. highp vec4 tmpvar_1;
  3542. highp vec4 tmpvar_2;
  3543. tmpvar_2.w = _glesVertex.w;
  3544. highp vec3 tmpvar_3;
  3545. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3546. highp vec3 tmpvar_4;
  3547. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3548. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3549. highp vec4 tmpvar_5;
  3550. tmpvar_5 = (_Object2World * tmpvar_2);
  3551. tmpvar_1.xyz = tmpvar_5.xyz;
  3552. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3553. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3554. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3555. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3556. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3557. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3558. xlv_TEXCOORD4 = tmpvar_1;
  3559. }
  3560.  
  3561.  
  3562.  
  3563. #endif
  3564. #ifdef FRAGMENT
  3565.  
  3566. out mediump vec4 _glesFragData[4];
  3567. uniform highp vec4 _ProjectionParams;
  3568. uniform highp vec4 _LightSplitsNear;
  3569. uniform highp vec4 _LightSplitsFar;
  3570. uniform highp vec4 _LightShadowData;
  3571. uniform lowp sampler2DShadow _ShadowMapTexture;
  3572. in highp vec3 xlv_TEXCOORD0;
  3573. in highp vec3 xlv_TEXCOORD1;
  3574. in highp vec3 xlv_TEXCOORD2;
  3575. in highp vec3 xlv_TEXCOORD3;
  3576. in highp vec4 xlv_TEXCOORD4;
  3577. void main ()
  3578. {
  3579. lowp vec4 tmpvar_1;
  3580. highp vec4 res_2;
  3581. mediump float shadow_3;
  3582. highp vec4 zFar_4;
  3583. highp vec4 zNear_5;
  3584. bvec4 tmpvar_6;
  3585. tmpvar_6 = greaterThanEqual (xlv_TEXCOORD4.wwww, _LightSplitsNear);
  3586. lowp vec4 tmpvar_7;
  3587. tmpvar_7 = vec4(tmpvar_6);
  3588. zNear_5 = tmpvar_7;
  3589. bvec4 tmpvar_8;
  3590. tmpvar_8 = lessThan (xlv_TEXCOORD4.wwww, _LightSplitsFar);
  3591. lowp vec4 tmpvar_9;
  3592. tmpvar_9 = vec4(tmpvar_8);
  3593. zFar_4 = tmpvar_9;
  3594. highp vec4 tmpvar_10;
  3595. tmpvar_10 = (zNear_5 * zFar_4);
  3596. highp vec4 tmpvar_11;
  3597. tmpvar_11.w = 1.0;
  3598. tmpvar_11.xyz = ((((xlv_TEXCOORD0 * tmpvar_10.x) + (xlv_TEXCOORD1 * tmpvar_10.y)) + (xlv_TEXCOORD2 * tmpvar_10.z)) + (xlv_TEXCOORD3 * tmpvar_10.w));
  3599. mediump float tmpvar_12;
  3600. tmpvar_12 = texture (_ShadowMapTexture, tmpvar_11.xyz);
  3601. highp float tmpvar_13;
  3602. tmpvar_13 = (_LightShadowData.x + (tmpvar_12 * (1.0 - _LightShadowData.x)));
  3603. shadow_3 = tmpvar_13;
  3604. res_2.x = clamp ((shadow_3 + clamp (((xlv_TEXCOORD4.w * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0)), 0.0, 1.0);
  3605. res_2.y = 1.0;
  3606. highp vec2 enc_14;
  3607. highp vec2 tmpvar_15;
  3608. tmpvar_15 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3609. enc_14.y = tmpvar_15.y;
  3610. enc_14.x = (tmpvar_15.x - (tmpvar_15.y * 0.00392157));
  3611. res_2.zw = enc_14;
  3612. tmpvar_1 = res_2;
  3613. _glesFragData[0] = tmpvar_1;
  3614. }
  3615.  
  3616.  
  3617.  
  3618. #endif"
  3619. }
  3620. SubProgram "gles " {
  3621. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NONATIVE" }
  3622. "!!GLES
  3623.  
  3624.  
  3625. #ifdef VERTEX
  3626.  
  3627. attribute vec4 _glesVertex;
  3628. attribute vec4 _glesMultiTexCoord0;
  3629. attribute vec4 _glesMultiTexCoord1;
  3630. uniform highp vec3 _WorldSpaceCameraPos;
  3631. uniform highp mat4 unity_World2Shadow[4];
  3632. uniform highp mat4 glstate_matrix_mvp;
  3633. uniform highp mat4 glstate_matrix_modelview0;
  3634. uniform highp mat4 _Object2World;
  3635. uniform highp float _IterationProgress;
  3636. varying highp vec3 xlv_TEXCOORD0;
  3637. varying highp vec3 xlv_TEXCOORD1;
  3638. varying highp vec3 xlv_TEXCOORD2;
  3639. varying highp vec3 xlv_TEXCOORD3;
  3640. varying highp vec4 xlv_TEXCOORD4;
  3641. void main ()
  3642. {
  3643. highp vec4 tmpvar_1;
  3644. highp vec4 tmpvar_2;
  3645. tmpvar_2.w = _glesVertex.w;
  3646. highp vec3 tmpvar_3;
  3647. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3648. highp vec3 tmpvar_4;
  3649. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3650. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3651. highp vec4 tmpvar_5;
  3652. tmpvar_5 = (_Object2World * tmpvar_2);
  3653. tmpvar_1.xyz = tmpvar_5.xyz;
  3654. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3655. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3656. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3657. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3658. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3659. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3660. xlv_TEXCOORD4 = tmpvar_1;
  3661. }
  3662.  
  3663.  
  3664.  
  3665. #endif
  3666. #ifdef FRAGMENT
  3667.  
  3668. uniform highp vec4 _ProjectionParams;
  3669. uniform highp vec4 unity_ShadowSplitSpheres[4];
  3670. uniform highp vec4 unity_ShadowSplitSqRadii;
  3671. uniform highp vec4 _LightShadowData;
  3672. uniform highp vec4 unity_ShadowFadeCenterAndType;
  3673. uniform sampler2D _ShadowMapTexture;
  3674. varying highp vec3 xlv_TEXCOORD0;
  3675. varying highp vec3 xlv_TEXCOORD1;
  3676. varying highp vec3 xlv_TEXCOORD2;
  3677. varying highp vec3 xlv_TEXCOORD3;
  3678. varying highp vec4 xlv_TEXCOORD4;
  3679. void main ()
  3680. {
  3681. lowp vec4 tmpvar_1;
  3682. highp vec4 res_2;
  3683. highp vec4 cascadeWeights_3;
  3684. highp vec3 tmpvar_4;
  3685. tmpvar_4 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[0].xyz);
  3686. highp vec3 tmpvar_5;
  3687. tmpvar_5 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[1].xyz);
  3688. highp vec3 tmpvar_6;
  3689. tmpvar_6 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[2].xyz);
  3690. highp vec3 tmpvar_7;
  3691. tmpvar_7 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[3].xyz);
  3692. highp vec4 tmpvar_8;
  3693. tmpvar_8.x = dot (tmpvar_4, tmpvar_4);
  3694. tmpvar_8.y = dot (tmpvar_5, tmpvar_5);
  3695. tmpvar_8.z = dot (tmpvar_6, tmpvar_6);
  3696. tmpvar_8.w = dot (tmpvar_7, tmpvar_7);
  3697. bvec4 tmpvar_9;
  3698. tmpvar_9 = lessThan (tmpvar_8, unity_ShadowSplitSqRadii);
  3699. lowp vec4 tmpvar_10;
  3700. tmpvar_10 = vec4(tmpvar_9);
  3701. cascadeWeights_3 = tmpvar_10;
  3702. cascadeWeights_3.yzw = clamp ((cascadeWeights_3.yzw - cascadeWeights_3.xyz), 0.0, 1.0);
  3703. highp vec3 p_11;
  3704. p_11 = (xlv_TEXCOORD4.xyz - unity_ShadowFadeCenterAndType.xyz);
  3705. highp float tmpvar_12;
  3706. tmpvar_12 = clamp (((sqrt(dot (p_11, p_11)) * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0);
  3707. highp vec4 tmpvar_13;
  3708. tmpvar_13.w = 1.0;
  3709. tmpvar_13.xyz = ((((xlv_TEXCOORD0 * cascadeWeights_3.x) + (xlv_TEXCOORD1 * cascadeWeights_3.y)) + (xlv_TEXCOORD2 * cascadeWeights_3.z)) + (xlv_TEXCOORD3 * cascadeWeights_3.w));
  3710. lowp vec4 tmpvar_14;
  3711. tmpvar_14 = texture2D (_ShadowMapTexture, tmpvar_13.xy);
  3712. highp float tmpvar_15;
  3713. if ((tmpvar_14.x < tmpvar_13.z)) {
  3714. tmpvar_15 = _LightShadowData.x;
  3715. } else {
  3716. tmpvar_15 = 1.0;
  3717. };
  3718. res_2.x = clamp ((tmpvar_15 + tmpvar_12), 0.0, 1.0);
  3719. res_2.y = 1.0;
  3720. highp vec2 enc_16;
  3721. highp vec2 tmpvar_17;
  3722. tmpvar_17 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3723. enc_16.y = tmpvar_17.y;
  3724. enc_16.x = (tmpvar_17.x - (tmpvar_17.y * 0.00392157));
  3725. res_2.zw = enc_16;
  3726. tmpvar_1 = res_2;
  3727. gl_FragData[0] = tmpvar_1;
  3728. }
  3729.  
  3730.  
  3731.  
  3732. #endif"
  3733. }
  3734. SubProgram "gles " {
  3735. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NATIVE" }
  3736. "!!GLES
  3737.  
  3738.  
  3739. #ifdef VERTEX
  3740.  
  3741. #extension GL_EXT_shadow_samplers : enable
  3742. attribute vec4 _glesVertex;
  3743. attribute vec4 _glesMultiTexCoord0;
  3744. attribute vec4 _glesMultiTexCoord1;
  3745. uniform highp vec3 _WorldSpaceCameraPos;
  3746. uniform highp mat4 unity_World2Shadow[4];
  3747. uniform highp mat4 glstate_matrix_mvp;
  3748. uniform highp mat4 glstate_matrix_modelview0;
  3749. uniform highp mat4 _Object2World;
  3750. uniform highp float _IterationProgress;
  3751. varying highp vec3 xlv_TEXCOORD0;
  3752. varying highp vec3 xlv_TEXCOORD1;
  3753. varying highp vec3 xlv_TEXCOORD2;
  3754. varying highp vec3 xlv_TEXCOORD3;
  3755. varying highp vec4 xlv_TEXCOORD4;
  3756. void main ()
  3757. {
  3758. highp vec4 tmpvar_1;
  3759. highp vec4 tmpvar_2;
  3760. tmpvar_2.w = _glesVertex.w;
  3761. highp vec3 tmpvar_3;
  3762. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3763. highp vec3 tmpvar_4;
  3764. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3765. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3766. highp vec4 tmpvar_5;
  3767. tmpvar_5 = (_Object2World * tmpvar_2);
  3768. tmpvar_1.xyz = tmpvar_5.xyz;
  3769. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3770. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3771. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3772. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3773. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3774. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3775. xlv_TEXCOORD4 = tmpvar_1;
  3776. }
  3777.  
  3778.  
  3779.  
  3780. #endif
  3781. #ifdef FRAGMENT
  3782.  
  3783. #extension GL_EXT_shadow_samplers : enable
  3784. uniform highp vec4 _ProjectionParams;
  3785. uniform highp vec4 unity_ShadowSplitSpheres[4];
  3786. uniform highp vec4 unity_ShadowSplitSqRadii;
  3787. uniform highp vec4 _LightShadowData;
  3788. uniform highp vec4 unity_ShadowFadeCenterAndType;
  3789. uniform lowp sampler2DShadow _ShadowMapTexture;
  3790. varying highp vec3 xlv_TEXCOORD0;
  3791. varying highp vec3 xlv_TEXCOORD1;
  3792. varying highp vec3 xlv_TEXCOORD2;
  3793. varying highp vec3 xlv_TEXCOORD3;
  3794. varying highp vec4 xlv_TEXCOORD4;
  3795. void main ()
  3796. {
  3797. lowp vec4 tmpvar_1;
  3798. highp vec4 res_2;
  3799. mediump float shadow_3;
  3800. highp vec4 cascadeWeights_4;
  3801. highp vec3 tmpvar_5;
  3802. tmpvar_5 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[0].xyz);
  3803. highp vec3 tmpvar_6;
  3804. tmpvar_6 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[1].xyz);
  3805. highp vec3 tmpvar_7;
  3806. tmpvar_7 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[2].xyz);
  3807. highp vec3 tmpvar_8;
  3808. tmpvar_8 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[3].xyz);
  3809. highp vec4 tmpvar_9;
  3810. tmpvar_9.x = dot (tmpvar_5, tmpvar_5);
  3811. tmpvar_9.y = dot (tmpvar_6, tmpvar_6);
  3812. tmpvar_9.z = dot (tmpvar_7, tmpvar_7);
  3813. tmpvar_9.w = dot (tmpvar_8, tmpvar_8);
  3814. bvec4 tmpvar_10;
  3815. tmpvar_10 = lessThan (tmpvar_9, unity_ShadowSplitSqRadii);
  3816. lowp vec4 tmpvar_11;
  3817. tmpvar_11 = vec4(tmpvar_10);
  3818. cascadeWeights_4 = tmpvar_11;
  3819. cascadeWeights_4.yzw = clamp ((cascadeWeights_4.yzw - cascadeWeights_4.xyz), 0.0, 1.0);
  3820. highp vec3 p_12;
  3821. p_12 = (xlv_TEXCOORD4.xyz - unity_ShadowFadeCenterAndType.xyz);
  3822. highp vec4 tmpvar_13;
  3823. tmpvar_13.w = 1.0;
  3824. tmpvar_13.xyz = ((((xlv_TEXCOORD0 * cascadeWeights_4.x) + (xlv_TEXCOORD1 * cascadeWeights_4.y)) + (xlv_TEXCOORD2 * cascadeWeights_4.z)) + (xlv_TEXCOORD3 * cascadeWeights_4.w));
  3825. lowp float tmpvar_14;
  3826. tmpvar_14 = shadow2DEXT (_ShadowMapTexture, tmpvar_13.xyz);
  3827. shadow_3 = tmpvar_14;
  3828. highp float tmpvar_15;
  3829. tmpvar_15 = (_LightShadowData.x + (shadow_3 * (1.0 - _LightShadowData.x)));
  3830. shadow_3 = tmpvar_15;
  3831. res_2.x = clamp ((shadow_3 + clamp (((sqrt(dot (p_12, p_12)) * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0)), 0.0, 1.0);
  3832. res_2.y = 1.0;
  3833. highp vec2 enc_16;
  3834. highp vec2 tmpvar_17;
  3835. tmpvar_17 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3836. enc_16.y = tmpvar_17.y;
  3837. enc_16.x = (tmpvar_17.x - (tmpvar_17.y * 0.00392157));
  3838. res_2.zw = enc_16;
  3839. tmpvar_1 = res_2;
  3840. gl_FragData[0] = tmpvar_1;
  3841. }
  3842.  
  3843.  
  3844.  
  3845. #endif"
  3846. }
  3847. SubProgram "gles3 " {
  3848. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NATIVE" }
  3849. "!!GLES3#version 300 es
  3850.  
  3851.  
  3852. #ifdef VERTEX
  3853.  
  3854. in vec4 _glesVertex;
  3855. in vec4 _glesMultiTexCoord0;
  3856. in vec4 _glesMultiTexCoord1;
  3857. uniform highp vec3 _WorldSpaceCameraPos;
  3858. uniform highp mat4 unity_World2Shadow[4];
  3859. uniform highp mat4 glstate_matrix_mvp;
  3860. uniform highp mat4 glstate_matrix_modelview0;
  3861. uniform highp mat4 _Object2World;
  3862. uniform highp float _IterationProgress;
  3863. out highp vec3 xlv_TEXCOORD0;
  3864. out highp vec3 xlv_TEXCOORD1;
  3865. out highp vec3 xlv_TEXCOORD2;
  3866. out highp vec3 xlv_TEXCOORD3;
  3867. out highp vec4 xlv_TEXCOORD4;
  3868. void main ()
  3869. {
  3870. highp vec4 tmpvar_1;
  3871. highp vec4 tmpvar_2;
  3872. tmpvar_2.w = _glesVertex.w;
  3873. highp vec3 tmpvar_3;
  3874. tmpvar_3 = ((fract((vec3(1.0, 256.0, 65536.0) * _glesMultiTexCoord1.x)) * 2.0) - 1.0);
  3875. highp vec3 tmpvar_4;
  3876. tmpvar_4 = (_WorldSpaceCameraPos - (_Object2World * _glesVertex).xyz);
  3877. tmpvar_2.xyz = (_glesVertex.xyz + ((normalize(((tmpvar_3.yzx * tmpvar_4.zxy) - (tmpvar_3.zxy * tmpvar_4.yzx))) * _glesMultiTexCoord0.x) * mix (_glesMultiTexCoord0.y, _glesMultiTexCoord1.y, _IterationProgress)));
  3878. highp vec4 tmpvar_5;
  3879. tmpvar_5 = (_Object2World * tmpvar_2);
  3880. tmpvar_1.xyz = tmpvar_5.xyz;
  3881. tmpvar_1.w = -((glstate_matrix_modelview0 * tmpvar_2).z);
  3882. gl_Position = (glstate_matrix_mvp * tmpvar_2);
  3883. xlv_TEXCOORD0 = (unity_World2Shadow[0] * tmpvar_5).xyz;
  3884. xlv_TEXCOORD1 = (unity_World2Shadow[1] * tmpvar_5).xyz;
  3885. xlv_TEXCOORD2 = (unity_World2Shadow[2] * tmpvar_5).xyz;
  3886. xlv_TEXCOORD3 = (unity_World2Shadow[3] * tmpvar_5).xyz;
  3887. xlv_TEXCOORD4 = tmpvar_1;
  3888. }
  3889.  
  3890.  
  3891.  
  3892. #endif
  3893. #ifdef FRAGMENT
  3894.  
  3895. out mediump vec4 _glesFragData[4];
  3896. uniform highp vec4 _ProjectionParams;
  3897. uniform highp vec4 unity_ShadowSplitSpheres[4];
  3898. uniform highp vec4 unity_ShadowSplitSqRadii;
  3899. uniform highp vec4 _LightShadowData;
  3900. uniform highp vec4 unity_ShadowFadeCenterAndType;
  3901. uniform lowp sampler2DShadow _ShadowMapTexture;
  3902. in highp vec3 xlv_TEXCOORD0;
  3903. in highp vec3 xlv_TEXCOORD1;
  3904. in highp vec3 xlv_TEXCOORD2;
  3905. in highp vec3 xlv_TEXCOORD3;
  3906. in highp vec4 xlv_TEXCOORD4;
  3907. void main ()
  3908. {
  3909. lowp vec4 tmpvar_1;
  3910. highp vec4 res_2;
  3911. mediump float shadow_3;
  3912. highp vec4 cascadeWeights_4;
  3913. highp vec3 tmpvar_5;
  3914. tmpvar_5 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[0].xyz);
  3915. highp vec3 tmpvar_6;
  3916. tmpvar_6 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[1].xyz);
  3917. highp vec3 tmpvar_7;
  3918. tmpvar_7 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[2].xyz);
  3919. highp vec3 tmpvar_8;
  3920. tmpvar_8 = (xlv_TEXCOORD4.xyz - unity_ShadowSplitSpheres[3].xyz);
  3921. highp vec4 tmpvar_9;
  3922. tmpvar_9.x = dot (tmpvar_5, tmpvar_5);
  3923. tmpvar_9.y = dot (tmpvar_6, tmpvar_6);
  3924. tmpvar_9.z = dot (tmpvar_7, tmpvar_7);
  3925. tmpvar_9.w = dot (tmpvar_8, tmpvar_8);
  3926. bvec4 tmpvar_10;
  3927. tmpvar_10 = lessThan (tmpvar_9, unity_ShadowSplitSqRadii);
  3928. lowp vec4 tmpvar_11;
  3929. tmpvar_11 = vec4(tmpvar_10);
  3930. cascadeWeights_4 = tmpvar_11;
  3931. cascadeWeights_4.yzw = clamp ((cascadeWeights_4.yzw - cascadeWeights_4.xyz), 0.0, 1.0);
  3932. highp vec3 p_12;
  3933. p_12 = (xlv_TEXCOORD4.xyz - unity_ShadowFadeCenterAndType.xyz);
  3934. highp vec4 tmpvar_13;
  3935. tmpvar_13.w = 1.0;
  3936. tmpvar_13.xyz = ((((xlv_TEXCOORD0 * cascadeWeights_4.x) + (xlv_TEXCOORD1 * cascadeWeights_4.y)) + (xlv_TEXCOORD2 * cascadeWeights_4.z)) + (xlv_TEXCOORD3 * cascadeWeights_4.w));
  3937. mediump float tmpvar_14;
  3938. tmpvar_14 = texture (_ShadowMapTexture, tmpvar_13.xyz);
  3939. highp float tmpvar_15;
  3940. tmpvar_15 = (_LightShadowData.x + (tmpvar_14 * (1.0 - _LightShadowData.x)));
  3941. shadow_3 = tmpvar_15;
  3942. res_2.x = clamp ((shadow_3 + clamp (((sqrt(dot (p_12, p_12)) * _LightShadowData.z) + _LightShadowData.w), 0.0, 1.0)), 0.0, 1.0);
  3943. res_2.y = 1.0;
  3944. highp vec2 enc_16;
  3945. highp vec2 tmpvar_17;
  3946. tmpvar_17 = fract((vec2(1.0, 255.0) * (1.0 - (xlv_TEXCOORD4.w * _ProjectionParams.w))));
  3947. enc_16.y = tmpvar_17.y;
  3948. enc_16.x = (tmpvar_17.x - (tmpvar_17.y * 0.00392157));
  3949. res_2.zw = enc_16;
  3950. tmpvar_1 = res_2;
  3951. _glesFragData[0] = tmpvar_1;
  3952. }
  3953.  
  3954.  
  3955.  
  3956. #endif"
  3957. }
  3958. }
  3959. Program "fp" {
  3960. SubProgram "gles " {
  3961. Keywords { "SHADOWS_NONATIVE" }
  3962. "!!GLES"
  3963. }
  3964. SubProgram "gles " {
  3965. Keywords { "SHADOWS_NATIVE" }
  3966. "!!GLES"
  3967. }
  3968. SubProgram "gles3 " {
  3969. Keywords { "SHADOWS_NATIVE" }
  3970. "!!GLES3"
  3971. }
  3972. SubProgram "gles " {
  3973. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NONATIVE" }
  3974. "!!GLES"
  3975. }
  3976. SubProgram "gles " {
  3977. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NATIVE" }
  3978. "!!GLES"
  3979. }
  3980. SubProgram "gles3 " {
  3981. Keywords { "SHADOWS_SPLIT_SPHERES" "SHADOWS_NATIVE" }
  3982. "!!GLES3"
  3983. }
  3984. }
  3985. }
  3986. }
  3987. Fallback "VertexLit"
  3988. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement