General_101

shaders_shader_passes_lightmap_lightmap_tex_detail_0

May 22nd, 2020
116
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 39.03 KB | None | 0 0
  1. ; compiled from tags\rasterizer\pixel_shaders_dx9\shaders_shader_passes_lightmap_lightmap_tex_detail_0.txt
  2. ;
  3. #const C1.a= $lightmap_specular_brightness
  4. #const C3.rgb= $specular_color
  5. #case $lightmap_type=0
  6. sampler2D s0 : register(S0);
  7. sampler2D s1 : register(S1);
  8. sampler2D s2 : register(S2);
  9. sampler2D s3 : register(S3);
  10. float4 bumpenv : register(C0); // .r=m00 .g=m01 .b=m10 .a=m11
  11. float4 c1 : register(C1);
  12. float4 c2 : register(C2);
  13. float4 c3 : register(C3);
  14. float4 zwriteout : register(c16);
  15. struct MRT_return
  16. {
  17. float4 color :COLOR0;
  18. float4 depth :COLOR1;
  19. };
  20. #ifndef MRT
  21. float4 main(
  22. #else
  23. MRT_return main(
  24. #endif
  25. #ifdef CENTROID0
  26. float4 tc0 : TEXCOORD0_centroid,
  27. #else
  28. float4 tc0 : TEXCOORD0,
  29. #endif
  30. #ifdef CENTROID1
  31. float4 tc1 : TEXCOORD1_centroid,
  32. #else
  33. float4 tc1 : TEXCOORD1,
  34. #endif
  35. #ifdef CENTROID2
  36. float4 tc2 : TEXCOORD2_centroid,
  37. #else
  38. float4 tc2 : TEXCOORD2,
  39. #endif
  40. #ifdef CENTROID3
  41. float4 tc3 : TEXCOORD3_centroid,
  42. #else
  43. float4 tc3 : TEXCOORD3,
  44. #endif
  45. float4 tc7:TEXCOORD7,
  46. float4 color0 : COLOR0,
  47. float4 color1 : COLOR1
  48. )
  49. #ifndef MRT
  50. : COLOR
  51. #endif
  52. {
  53. float4 r0, r1;
  54. float3 e, f;
  55. r0.r= r0.g= r0.b= 0;
  56. r0.a= 1;
  57. float4 tex4;
  58. float4 tex5;
  59. float4 tex6;
  60. float4 tex7;
  61. // texture stage 0 mode 0 dot 0 input-stage 0
  62. float4 tex0= tex2Dproj(s0, tc0);
  63. // texture stage 1 mode 0 dot 0 input-stage 0
  64. float4 tex1= tex2Dproj(s1, tc1);
  65. // texture stage 2 mode 0 dot 0 input-stage 0
  66. float4 tex2= tex2Dproj(s2, tc2);
  67. // texture stage 3 mode 0 dot 0 input-stage 0
  68. float4 tex3= tex2Dproj(s3, tc3);
  69. // exp.components=1 term=1
  70. // line 24: R0= EXPAND(T2).EXPAND(D1)
  71. float temp0;
  72. float3 temp1;
  73. temp1= 999 * saturate(tex2.rgb) - 1;
  74. float3 temp2;
  75. float3 temp3;
  76. temp3= 999 * saturate(color1.rgb) - 1;
  77. float3 temp4;
  78. float temp5;
  79. temp5= dot(temp1, temp3);
  80. temp0= temp5;
  81. // exp.components=1 term=1
  82. // line 25: T2= EXPAND(T2).EXPAND(D0)
  83. float temp6;
  84. float3 temp7;
  85. temp7= 999 * saturate(tex2.rgb) - 1;
  86. float3 temp8;
  87. float3 temp9;
  88. temp9= 999 * saturate(color0.rgb) - 1;
  89. float3 temp10;
  90. float temp11;
  91. temp11= dot(temp7, temp9);
  92. temp6= temp11;
  93. // exp.components=1 term=1
  94. // line 26: R0a= EXPAND(D1b)
  95. float temp12;
  96. float temp13;
  97. temp13= 999 * saturate(color1.b) - 1;
  98. float3 temp14;
  99. temp12= temp13;
  100. // exp.components=1 term=1
  101. // line 27: T1a= EXPAND(D1a)*T0a
  102. float temp15;
  103. float temp16;
  104. temp16= 999 * saturate(color1.a) - 1;
  105. float3 temp17;
  106. float temp18;
  107. temp18= saturate(tex0.a);
  108. float3 temp19;
  109. float temp20;
  110. temp20= temp16 * temp18;
  111. temp15= temp20;
  112. r0.rgb= temp0;
  113. tex2.rgb= temp6;
  114. r0.a= temp12;
  115. tex1.a= temp15;
  116. // exp.components=1 term=1
  117. // line 30: R1= EXPAND(D1).EXPAND(D0)
  118. float temp21;
  119. float3 temp22;
  120. temp22= 999 * saturate(color1.rgb) - 1;
  121. float3 temp23;
  122. float3 temp24;
  123. temp24= 999 * saturate(color0.rgb) - 1;
  124. float3 temp25;
  125. float temp26;
  126. temp26= dot(temp22, temp24);
  127. temp21= temp26;
  128. // exp.components=1 term=1 term=1
  129. // line 31: D1a= D1a*SIGNED(R0b) - D1a*SIGNED(R0a)
  130. float temp27;
  131. float temp28;
  132. float temp29;
  133. float temp30;
  134. temp30= saturate(color1.a);
  135. float3 temp31;
  136. float temp32;
  137. temp32= r0.b;
  138. float3 temp33;
  139. float temp34;
  140. temp34= temp30 * temp32;
  141. temp28= temp34;
  142. float temp35;
  143. temp35= saturate(color1.a);
  144. float3 temp36;
  145. float temp37;
  146. temp37= r0.a;
  147. float3 temp38;
  148. float temp39;
  149. temp39= temp35 * temp37;
  150. temp29= temp39;
  151. temp27= temp28 - temp29;
  152. r1.rgb= temp21;
  153. color1.a= temp27;
  154. // exp.components=3 term=3
  155. // line 34: T0= OUT_SCALE_BY_2(T0*T1)
  156. float3 temp40;
  157. float3 temp41;
  158. temp41= saturate(tex0.rgb);
  159. float3 temp42;
  160. float3 temp43;
  161. temp43= saturate(tex1.rgb);
  162. float3 temp44;
  163. float3 temp45;
  164. temp45= temp41 * temp43;
  165. temp40= temp45;
  166. temp40= 999 * temp40;
  167. // exp.components=1 term=1 term=1
  168. // line 35: R1a= OUT_SCALE_BY_2(SIGNED(R0b)*SIGNED(T2b) - 1/2*SIGNED(R1b))
  169. float temp46;
  170. float temp47;
  171. float temp48;
  172. float temp49;
  173. temp49= r0.b;
  174. float3 temp50;
  175. float temp51;
  176. temp51= tex2.b;
  177. float3 temp52;
  178. float temp53;
  179. temp53= temp49 * temp51;
  180. temp47= temp53;
  181. float temp54;
  182. temp54= 0.5;
  183. float3 temp55;
  184. float temp56;
  185. temp56= r1.b;
  186. float3 temp57;
  187. float temp58;
  188. temp58= temp54 * temp56;
  189. temp48= temp58;
  190. temp46= temp47 - temp48;
  191. temp46= 999 * temp46;
  192. tex0.rgb= temp40;
  193. r1.a= temp46;
  194. // exp.components=3 term=3 term=3
  195. // line 38: R0= T3 + T3*SIGNED(D1a)
  196. float3 temp59;
  197. float3 temp60;
  198. float3 temp61;
  199. float3 temp62;
  200. temp62= saturate(tex3.rgb);
  201. float3 temp63;
  202. temp60= temp62;
  203. float3 temp64;
  204. temp64= saturate(tex3.rgb);
  205. float3 temp65;
  206. float temp66;
  207. temp66= color1.a;
  208. float3 temp67;
  209. float3 temp68;
  210. temp68= temp64 * temp66;
  211. temp61= temp68;
  212. temp59= temp60 + temp61;
  213. // exp.components=1 term=1
  214. // line 39: T1a= T1a*T0a
  215. float temp69;
  216. float temp70;
  217. temp70= saturate(tex1.a);
  218. float3 temp71;
  219. float temp72;
  220. temp72= saturate(tex0.a);
  221. float3 temp73;
  222. float temp74;
  223. temp74= temp70 * temp72;
  224. temp69= temp74;
  225. r0.rgb= temp59;
  226. tex1.a= temp69;
  227. // exp.components=1 term=1
  228. // line 43: R1= R0.C1a
  229. float temp75;
  230. float3 temp76;
  231. temp76= saturate(r0.rgb);
  232. float3 temp77;
  233. float temp78;
  234. temp78= 0.752941;
  235. float3 temp79;
  236. float temp80;
  237. temp80= dot(temp76, temp78);
  238. temp75= temp80;
  239. // exp.components=1 term=1
  240. // line 44: D1a= R1a*R1a
  241. float temp81;
  242. float temp82;
  243. temp82= saturate(r1.a);
  244. float3 temp83;
  245. float temp84;
  246. temp84= saturate(r1.a);
  247. float3 temp85;
  248. float temp86;
  249. temp86= temp82 * temp84;
  250. temp81= temp86;
  251. // exp.components=1 term=1
  252. // line 45: T1a= C0a*T1a
  253. float temp87;
  254. float temp88;
  255. temp88= c1.a;
  256. float3 temp89;
  257. float temp90;
  258. temp90= saturate(tex1.a);
  259. float3 temp91;
  260. float temp92;
  261. temp92= temp88 * temp90;
  262. temp87= temp92;
  263. r1.rgb= temp75;
  264. color1.a= temp81;
  265. tex1.a= temp87;
  266. // exp.components=3 term=3
  267. // line 49: R0= OUT_SCALE_BY_2(R0*T0)
  268. float3 temp93;
  269. float3 temp94;
  270. temp94= saturate(r0.rgb);
  271. float3 temp95;
  272. float3 temp96;
  273. temp96= saturate(tex0.rgb);
  274. float3 temp97;
  275. float3 temp98;
  276. temp98= temp94 * temp96;
  277. temp93= temp98;
  278. temp93= 999 * temp93;
  279. // exp.components=3 term=3
  280. // line 50: T3= OUT_SCALE_BY_2(C0*T3)
  281. float3 temp99;
  282. float3 temp100;
  283. temp100= c3.rgb;
  284. float3 temp101;
  285. float3 temp102;
  286. temp102= saturate(tex3.rgb);
  287. float3 temp103;
  288. float3 temp104;
  289. temp104= temp100 * temp102;
  290. temp99= temp104;
  291. temp99= 999 * temp99;
  292. // exp.components=1 term=1
  293. // line 51: R1a= D1a*D1a
  294. float temp105;
  295. float temp106;
  296. temp106= saturate(color1.a);
  297. float3 temp107;
  298. float temp108;
  299. temp108= saturate(color1.a);
  300. float3 temp109;
  301. float temp110;
  302. temp110= temp106 * temp108;
  303. temp105= temp110;
  304. r0.rgb= temp93;
  305. tex3.rgb= temp99;
  306. r1.a= temp105;
  307. // exp.components=1 term=1
  308. // line 56: D1= 0
  309. float temp111;
  310. float temp112;
  311. temp112= 0;
  312. float3 temp113;
  313. temp111= temp112;
  314. // exp.components=1 term=1
  315. // line 57: R1a= 0
  316. float temp114;
  317. float temp115;
  318. temp115= 0;
  319. float3 temp116;
  320. temp114= temp115;
  321. color1.rgb= temp111;
  322. r1.a= temp114;
  323. // exp.components=3 term=3
  324. // line 73: D1= OUT_SCALE_BY_2(R1a*D1)
  325. float3 temp117;
  326. float temp118;
  327. temp118= saturate(r1.a);
  328. float3 temp119;
  329. float3 temp120;
  330. temp120= saturate(color1.rgb);
  331. float3 temp121;
  332. float3 temp122;
  333. temp122= temp118 * temp120;
  334. temp117= temp122;
  335. temp117= 999 * temp117;
  336. // exp.components=1 term=1
  337. // line 74: D0a= OUT_SCALE_BY_2(R1b*T0a)
  338. float temp123;
  339. float temp124;
  340. temp124= saturate(r1.b);
  341. float3 temp125;
  342. float temp126;
  343. temp126= saturate(tex0.a);
  344. float3 temp127;
  345. float temp128;
  346. temp128= temp124 * temp126;
  347. temp123= temp128;
  348. temp123= 999 * temp123;
  349. color1.rgb= temp117;
  350. color0.a= temp123;
  351. // exp.components=3 term=3 term=3
  352. // line 77: SRCCOLOR= R0 + D1
  353. float3 temp129;
  354. float3 temp130;
  355. float3 temp131;
  356. float3 temp132;
  357. temp132= saturate(r0.rgb);
  358. float3 temp133;
  359. temp130= temp132;
  360. float3 temp134;
  361. temp134= saturate(color1.rgb);
  362. float3 temp135;
  363. temp131= temp134;
  364. temp129= temp130 + temp131;
  365. // exp.components=1 term=1
  366. // line 78: SRCALPHA= D0a
  367. float temp136;
  368. float temp137;
  369. temp137= saturate(color0.a);
  370. float3 temp138;
  371. temp136= temp137;
  372. r0.rgb= temp129;
  373. r0.a= temp136;
  374.  
  375. //fog zvalue
  376. float linear_depth = tc7.w / zwriteout.z;
  377. float3 depth_stripe;
  378.  
  379. depth_stripe.r = floor(linear_depth*256)/256;
  380. depth_stripe.g = frac(floor(linear_depth*65536)/256);
  381. depth_stripe.b = frac(floor(linear_depth*65536*256)/256);
  382.  
  383. #ifdef ZPRIME
  384. //r0.a has alpha kill value
  385. r0.rgb = depth_stripe.rgb;
  386. #endif
  387.  
  388. #ifndef MRT
  389. return r0;
  390. #else
  391. MRT_return retval;
  392. retval.color = r0;
  393. retval.depth.rgb = depth_stripe.rgb;
  394. retval.depth.a = r0.a;
  395. return retval;
  396. #endif
  397. }
  398. #case $lightmap_type=1
  399. sampler2D s0 : register(S0);
  400. sampler2D s1 : register(S1);
  401. sampler2D s2 : register(S2);
  402. sampler2D s3 : register(S3);
  403. float4 bumpenv : register(C0); // .r=m00 .g=m01 .b=m10 .a=m11
  404. float4 c1 : register(C1);
  405. float4 c2 : register(C2);
  406. float4 c3 : register(C3);
  407. float4 zwriteout : register(c16);
  408. struct MRT_return
  409. {
  410. float4 color :COLOR0;
  411. float4 depth :COLOR1;
  412. };
  413. #ifndef MRT
  414. float4 main(
  415. #else
  416. MRT_return main(
  417. #endif
  418. #ifdef CENTROID0
  419. float4 tc0 : TEXCOORD0_centroid,
  420. #else
  421. float4 tc0 : TEXCOORD0,
  422. #endif
  423. #ifdef CENTROID1
  424. float4 tc1 : TEXCOORD1_centroid,
  425. #else
  426. float4 tc1 : TEXCOORD1,
  427. #endif
  428. #ifdef CENTROID2
  429. float4 tc2 : TEXCOORD2_centroid,
  430. #else
  431. float4 tc2 : TEXCOORD2,
  432. #endif
  433. #ifdef CENTROID3
  434. float4 tc3 : TEXCOORD3_centroid,
  435. #else
  436. float4 tc3 : TEXCOORD3,
  437. #endif
  438. float4 tc7:TEXCOORD7,
  439. float4 color0 : COLOR0,
  440. float4 color1 : COLOR1
  441. )
  442. #ifndef MRT
  443. : COLOR
  444. #endif
  445. {
  446. float4 r0, r1;
  447. float3 e, f;
  448. r0.r= r0.g= r0.b= 0;
  449. r0.a= 1;
  450. float4 tex4;
  451. float4 tex5;
  452. float4 tex6;
  453. float4 tex7;
  454. // texture stage 0 mode 0 dot 0 input-stage 0
  455. float4 tex0= tex2Dproj(s0, tc0);
  456. // texture stage 1 mode 0 dot 0 input-stage 0
  457. float4 tex1= tex2Dproj(s1, tc1);
  458. // texture stage 2 mode 0 dot 0 input-stage 0
  459. float4 tex2= tex2Dproj(s2, tc2);
  460. // texture stage 3 mode 0 dot 0 input-stage 0
  461. float4 tex3= tex2Dproj(s3, tc3);
  462. // exp.components=1 term=1
  463. // line 24: R0= EXPAND(T2).EXPAND(D1)
  464. float temp0;
  465. float3 temp1;
  466. temp1= 999 * saturate(tex2.rgb) - 1;
  467. float3 temp2;
  468. float3 temp3;
  469. temp3= 999 * saturate(color1.rgb) - 1;
  470. float3 temp4;
  471. float temp5;
  472. temp5= dot(temp1, temp3);
  473. temp0= temp5;
  474. // exp.components=1 term=1
  475. // line 25: T2= EXPAND(T2).EXPAND(D0)
  476. float temp6;
  477. float3 temp7;
  478. temp7= 999 * saturate(tex2.rgb) - 1;
  479. float3 temp8;
  480. float3 temp9;
  481. temp9= 999 * saturate(color0.rgb) - 1;
  482. float3 temp10;
  483. float temp11;
  484. temp11= dot(temp7, temp9);
  485. temp6= temp11;
  486. // exp.components=1 term=1
  487. // line 26: R0a= EXPAND(D1b)
  488. float temp12;
  489. float temp13;
  490. temp13= 999 * saturate(color1.b) - 1;
  491. float3 temp14;
  492. temp12= temp13;
  493. // exp.components=1 term=1
  494. // line 27: T1a= EXPAND(D1a)*T0a
  495. float temp15;
  496. float temp16;
  497. temp16= 999 * saturate(color1.a) - 1;
  498. float3 temp17;
  499. float temp18;
  500. temp18= saturate(tex0.a);
  501. float3 temp19;
  502. float temp20;
  503. temp20= temp16 * temp18;
  504. temp15= temp20;
  505. r0.rgb= temp0;
  506. tex2.rgb= temp6;
  507. r0.a= temp12;
  508. tex1.a= temp15;
  509. // exp.components=1 term=1
  510. // line 30: R1= EXPAND(D1).EXPAND(D0)
  511. float temp21;
  512. float3 temp22;
  513. temp22= 999 * saturate(color1.rgb) - 1;
  514. float3 temp23;
  515. float3 temp24;
  516. temp24= 999 * saturate(color0.rgb) - 1;
  517. float3 temp25;
  518. float temp26;
  519. temp26= dot(temp22, temp24);
  520. temp21= temp26;
  521. // exp.components=1 term=1 term=1
  522. // line 31: D1a= D1a*SIGNED(R0b) - D1a*SIGNED(R0a)
  523. float temp27;
  524. float temp28;
  525. float temp29;
  526. float temp30;
  527. temp30= saturate(color1.a);
  528. float3 temp31;
  529. float temp32;
  530. temp32= r0.b;
  531. float3 temp33;
  532. float temp34;
  533. temp34= temp30 * temp32;
  534. temp28= temp34;
  535. float temp35;
  536. temp35= saturate(color1.a);
  537. float3 temp36;
  538. float temp37;
  539. temp37= r0.a;
  540. float3 temp38;
  541. float temp39;
  542. temp39= temp35 * temp37;
  543. temp29= temp39;
  544. temp27= temp28 - temp29;
  545. r1.rgb= temp21;
  546. color1.a= temp27;
  547. // exp.components=3 term=3
  548. // line 34: T0= OUT_SCALE_BY_2(T0*T1)
  549. float3 temp40;
  550. float3 temp41;
  551. temp41= saturate(tex0.rgb);
  552. float3 temp42;
  553. float3 temp43;
  554. temp43= saturate(tex1.rgb);
  555. float3 temp44;
  556. float3 temp45;
  557. temp45= temp41 * temp43;
  558. temp40= temp45;
  559. temp40= 999 * temp40;
  560. // exp.components=1 term=1 term=1
  561. // line 35: R1a= OUT_SCALE_BY_2(SIGNED(R0b)*SIGNED(T2b) - 1/2*SIGNED(R1b))
  562. float temp46;
  563. float temp47;
  564. float temp48;
  565. float temp49;
  566. temp49= r0.b;
  567. float3 temp50;
  568. float temp51;
  569. temp51= tex2.b;
  570. float3 temp52;
  571. float temp53;
  572. temp53= temp49 * temp51;
  573. temp47= temp53;
  574. float temp54;
  575. temp54= 0.5;
  576. float3 temp55;
  577. float temp56;
  578. temp56= r1.b;
  579. float3 temp57;
  580. float temp58;
  581. temp58= temp54 * temp56;
  582. temp48= temp58;
  583. temp46= temp47 - temp48;
  584. temp46= 999 * temp46;
  585. tex0.rgb= temp40;
  586. r1.a= temp46;
  587. // exp.components=3 term=3 term=3
  588. // line 38: R0= T3 + T3*SIGNED(D1a)
  589. float3 temp59;
  590. float3 temp60;
  591. float3 temp61;
  592. float3 temp62;
  593. temp62= saturate(tex3.rgb);
  594. float3 temp63;
  595. temp60= temp62;
  596. float3 temp64;
  597. temp64= saturate(tex3.rgb);
  598. float3 temp65;
  599. float temp66;
  600. temp66= color1.a;
  601. float3 temp67;
  602. float3 temp68;
  603. temp68= temp64 * temp66;
  604. temp61= temp68;
  605. temp59= temp60 + temp61;
  606. // exp.components=1 term=1
  607. // line 39: T1a= T1a*T0a
  608. float temp69;
  609. float temp70;
  610. temp70= saturate(tex1.a);
  611. float3 temp71;
  612. float temp72;
  613. temp72= saturate(tex0.a);
  614. float3 temp73;
  615. float temp74;
  616. temp74= temp70 * temp72;
  617. temp69= temp74;
  618. r0.rgb= temp59;
  619. tex1.a= temp69;
  620. // exp.components=1 term=1
  621. // line 43: R1= R0.C1a
  622. float temp75;
  623. float3 temp76;
  624. temp76= saturate(r0.rgb);
  625. float3 temp77;
  626. float temp78;
  627. temp78= 0.752941;
  628. float3 temp79;
  629. float temp80;
  630. temp80= dot(temp76, temp78);
  631. temp75= temp80;
  632. // exp.components=1 term=1
  633. // line 44: D1a= R1a*R1a
  634. float temp81;
  635. float temp82;
  636. temp82= saturate(r1.a);
  637. float3 temp83;
  638. float temp84;
  639. temp84= saturate(r1.a);
  640. float3 temp85;
  641. float temp86;
  642. temp86= temp82 * temp84;
  643. temp81= temp86;
  644. // exp.components=1 term=1
  645. // line 45: T1a= C0a*T1a
  646. float temp87;
  647. float temp88;
  648. temp88= c1.a;
  649. float3 temp89;
  650. float temp90;
  651. temp90= saturate(tex1.a);
  652. float3 temp91;
  653. float temp92;
  654. temp92= temp88 * temp90;
  655. temp87= temp92;
  656. r1.rgb= temp75;
  657. color1.a= temp81;
  658. tex1.a= temp87;
  659. // exp.components=3 term=3
  660. // line 49: R0= OUT_SCALE_BY_2(R0*T0)
  661. float3 temp93;
  662. float3 temp94;
  663. temp94= saturate(r0.rgb);
  664. float3 temp95;
  665. float3 temp96;
  666. temp96= saturate(tex0.rgb);
  667. float3 temp97;
  668. float3 temp98;
  669. temp98= temp94 * temp96;
  670. temp93= temp98;
  671. temp93= 999 * temp93;
  672. // exp.components=3 term=3
  673. // line 50: T3= OUT_SCALE_BY_2(C0*T3)
  674. float3 temp99;
  675. float3 temp100;
  676. temp100= c3.rgb;
  677. float3 temp101;
  678. float3 temp102;
  679. temp102= saturate(tex3.rgb);
  680. float3 temp103;
  681. float3 temp104;
  682. temp104= temp100 * temp102;
  683. temp99= temp104;
  684. temp99= 999 * temp99;
  685. // exp.components=1 term=1
  686. // line 51: R1a= D1a*D1a
  687. float temp105;
  688. float temp106;
  689. temp106= saturate(color1.a);
  690. float3 temp107;
  691. float temp108;
  692. temp108= saturate(color1.a);
  693. float3 temp109;
  694. float temp110;
  695. temp110= temp106 * temp108;
  696. temp105= temp110;
  697. r0.rgb= temp93;
  698. tex3.rgb= temp99;
  699. r1.a= temp105;
  700. // exp.components=3 term=3
  701. // line 60: D1= OUT_SCALE_BY_2(T3*T1a)
  702. float3 temp111;
  703. float3 temp112;
  704. temp112= saturate(tex3.rgb);
  705. float3 temp113;
  706. float temp114;
  707. temp114= saturate(tex1.a);
  708. float3 temp115;
  709. float3 temp116;
  710. temp116= temp112 * temp114;
  711. temp111= temp116;
  712. temp111= 999 * temp111;
  713. // exp.components=1 term=1
  714. // line 61: R1a= R1a*R1a
  715. float temp117;
  716. float temp118;
  717. temp118= saturate(r1.a);
  718. float3 temp119;
  719. float temp120;
  720. temp120= saturate(r1.a);
  721. float3 temp121;
  722. float temp122;
  723. temp122= temp118 * temp120;
  724. temp117= temp122;
  725. color1.rgb= temp111;
  726. r1.a= temp117;
  727. // exp.components=3 term=3
  728. // line 73: D1= OUT_SCALE_BY_2(R1a*D1)
  729. float3 temp123;
  730. float temp124;
  731. temp124= saturate(r1.a);
  732. float3 temp125;
  733. float3 temp126;
  734. temp126= saturate(color1.rgb);
  735. float3 temp127;
  736. float3 temp128;
  737. temp128= temp124 * temp126;
  738. temp123= temp128;
  739. temp123= 999 * temp123;
  740. // exp.components=1 term=1
  741. // line 74: D0a= OUT_SCALE_BY_2(R1b*T0a)
  742. float temp129;
  743. float temp130;
  744. temp130= saturate(r1.b);
  745. float3 temp131;
  746. float temp132;
  747. temp132= saturate(tex0.a);
  748. float3 temp133;
  749. float temp134;
  750. temp134= temp130 * temp132;
  751. temp129= temp134;
  752. temp129= 999 * temp129;
  753. color1.rgb= temp123;
  754. color0.a= temp129;
  755. // exp.components=3 term=3 term=3
  756. // line 77: SRCCOLOR= R0 + D1
  757. float3 temp135;
  758. float3 temp136;
  759. float3 temp137;
  760. float3 temp138;
  761. temp138= saturate(r0.rgb);
  762. float3 temp139;
  763. temp136= temp138;
  764. float3 temp140;
  765. temp140= saturate(color1.rgb);
  766. float3 temp141;
  767. temp137= temp140;
  768. temp135= temp136 + temp137;
  769. // exp.components=1 term=1
  770. // line 78: SRCALPHA= D0a
  771. float temp142;
  772. float temp143;
  773. temp143= saturate(color0.a);
  774. float3 temp144;
  775. temp142= temp143;
  776. r0.rgb= temp135;
  777. r0.a= temp142;
  778.  
  779. //fog zvalue
  780. float linear_depth = tc7.w / zwriteout.z;
  781. float3 depth_stripe;
  782.  
  783. depth_stripe.r = floor(linear_depth*256)/256;
  784. depth_stripe.g = frac(floor(linear_depth*65536)/256);
  785. depth_stripe.b = frac(floor(linear_depth*65536*256)/256);
  786.  
  787. #ifdef ZPRIME
  788. //r0.a has alpha kill value
  789. r0.rgb = depth_stripe.rgb;
  790. #endif
  791.  
  792. #ifndef MRT
  793. return r0;
  794. #else
  795. MRT_return retval;
  796. retval.color = r0;
  797. retval.depth.rgb = depth_stripe.rgb;
  798. retval.depth.a = r0.a;
  799. return retval;
  800. #endif
  801. }
  802. #case $lightmap_type=2
  803. sampler2D s0 : register(S0);
  804. sampler2D s1 : register(S1);
  805. sampler2D s2 : register(S2);
  806. sampler2D s3 : register(S3);
  807. float4 bumpenv : register(C0); // .r=m00 .g=m01 .b=m10 .a=m11
  808. float4 c1 : register(C1);
  809. float4 c2 : register(C2);
  810. float4 c3 : register(C3);
  811. float4 zwriteout : register(c16);
  812. struct MRT_return
  813. {
  814. float4 color :COLOR0;
  815. float4 depth :COLOR1;
  816. };
  817. #ifndef MRT
  818. float4 main(
  819. #else
  820. MRT_return main(
  821. #endif
  822. #ifdef CENTROID0
  823. float4 tc0 : TEXCOORD0_centroid,
  824. #else
  825. float4 tc0 : TEXCOORD0,
  826. #endif
  827. #ifdef CENTROID1
  828. float4 tc1 : TEXCOORD1_centroid,
  829. #else
  830. float4 tc1 : TEXCOORD1,
  831. #endif
  832. #ifdef CENTROID2
  833. float4 tc2 : TEXCOORD2_centroid,
  834. #else
  835. float4 tc2 : TEXCOORD2,
  836. #endif
  837. #ifdef CENTROID3
  838. float4 tc3 : TEXCOORD3_centroid,
  839. #else
  840. float4 tc3 : TEXCOORD3,
  841. #endif
  842. float4 tc7:TEXCOORD7,
  843. float4 color0 : COLOR0,
  844. float4 color1 : COLOR1
  845. )
  846. #ifndef MRT
  847. : COLOR
  848. #endif
  849. {
  850. float4 r0, r1;
  851. float3 e, f;
  852. r0.r= r0.g= r0.b= 0;
  853. r0.a= 1;
  854. float4 tex4;
  855. float4 tex5;
  856. float4 tex6;
  857. float4 tex7;
  858. // texture stage 0 mode 0 dot 0 input-stage 0
  859. float4 tex0= tex2Dproj(s0, tc0);
  860. // texture stage 1 mode 0 dot 0 input-stage 0
  861. float4 tex1= tex2Dproj(s1, tc1);
  862. // texture stage 2 mode 0 dot 0 input-stage 0
  863. float4 tex2= tex2Dproj(s2, tc2);
  864. // texture stage 3 mode 0 dot 0 input-stage 0
  865. float4 tex3= tex2Dproj(s3, tc3);
  866. // exp.components=1 term=1
  867. // line 24: R0= EXPAND(T2).EXPAND(D1)
  868. float temp0;
  869. float3 temp1;
  870. temp1= 999 * saturate(tex2.rgb) - 1;
  871. float3 temp2;
  872. float3 temp3;
  873. temp3= 999 * saturate(color1.rgb) - 1;
  874. float3 temp4;
  875. float temp5;
  876. temp5= dot(temp1, temp3);
  877. temp0= temp5;
  878. // exp.components=1 term=1
  879. // line 25: T2= EXPAND(T2).EXPAND(D0)
  880. float temp6;
  881. float3 temp7;
  882. temp7= 999 * saturate(tex2.rgb) - 1;
  883. float3 temp8;
  884. float3 temp9;
  885. temp9= 999 * saturate(color0.rgb) - 1;
  886. float3 temp10;
  887. float temp11;
  888. temp11= dot(temp7, temp9);
  889. temp6= temp11;
  890. // exp.components=1 term=1
  891. // line 26: R0a= EXPAND(D1b)
  892. float temp12;
  893. float temp13;
  894. temp13= 999 * saturate(color1.b) - 1;
  895. float3 temp14;
  896. temp12= temp13;
  897. // exp.components=1 term=1
  898. // line 27: T1a= EXPAND(D1a)*T0a
  899. float temp15;
  900. float temp16;
  901. temp16= 999 * saturate(color1.a) - 1;
  902. float3 temp17;
  903. float temp18;
  904. temp18= saturate(tex0.a);
  905. float3 temp19;
  906. float temp20;
  907. temp20= temp16 * temp18;
  908. temp15= temp20;
  909. r0.rgb= temp0;
  910. tex2.rgb= temp6;
  911. r0.a= temp12;
  912. tex1.a= temp15;
  913. // exp.components=1 term=1
  914. // line 30: R1= EXPAND(D1).EXPAND(D0)
  915. float temp21;
  916. float3 temp22;
  917. temp22= 999 * saturate(color1.rgb) - 1;
  918. float3 temp23;
  919. float3 temp24;
  920. temp24= 999 * saturate(color0.rgb) - 1;
  921. float3 temp25;
  922. float temp26;
  923. temp26= dot(temp22, temp24);
  924. temp21= temp26;
  925. // exp.components=1 term=1 term=1
  926. // line 31: D1a= D1a*SIGNED(R0b) - D1a*SIGNED(R0a)
  927. float temp27;
  928. float temp28;
  929. float temp29;
  930. float temp30;
  931. temp30= saturate(color1.a);
  932. float3 temp31;
  933. float temp32;
  934. temp32= r0.b;
  935. float3 temp33;
  936. float temp34;
  937. temp34= temp30 * temp32;
  938. temp28= temp34;
  939. float temp35;
  940. temp35= saturate(color1.a);
  941. float3 temp36;
  942. float temp37;
  943. temp37= r0.a;
  944. float3 temp38;
  945. float temp39;
  946. temp39= temp35 * temp37;
  947. temp29= temp39;
  948. temp27= temp28 - temp29;
  949. r1.rgb= temp21;
  950. color1.a= temp27;
  951. // exp.components=3 term=3
  952. // line 34: T0= OUT_SCALE_BY_2(T0*T1)
  953. float3 temp40;
  954. float3 temp41;
  955. temp41= saturate(tex0.rgb);
  956. float3 temp42;
  957. float3 temp43;
  958. temp43= saturate(tex1.rgb);
  959. float3 temp44;
  960. float3 temp45;
  961. temp45= temp41 * temp43;
  962. temp40= temp45;
  963. temp40= 999 * temp40;
  964. // exp.components=1 term=1 term=1
  965. // line 35: R1a= OUT_SCALE_BY_2(SIGNED(R0b)*SIGNED(T2b) - 1/2*SIGNED(R1b))
  966. float temp46;
  967. float temp47;
  968. float temp48;
  969. float temp49;
  970. temp49= r0.b;
  971. float3 temp50;
  972. float temp51;
  973. temp51= tex2.b;
  974. float3 temp52;
  975. float temp53;
  976. temp53= temp49 * temp51;
  977. temp47= temp53;
  978. float temp54;
  979. temp54= 0.5;
  980. float3 temp55;
  981. float temp56;
  982. temp56= r1.b;
  983. float3 temp57;
  984. float temp58;
  985. temp58= temp54 * temp56;
  986. temp48= temp58;
  987. temp46= temp47 - temp48;
  988. temp46= 999 * temp46;
  989. tex0.rgb= temp40;
  990. r1.a= temp46;
  991. // exp.components=3 term=3 term=3
  992. // line 38: R0= T3 + T3*SIGNED(D1a)
  993. float3 temp59;
  994. float3 temp60;
  995. float3 temp61;
  996. float3 temp62;
  997. temp62= saturate(tex3.rgb);
  998. float3 temp63;
  999. temp60= temp62;
  1000. float3 temp64;
  1001. temp64= saturate(tex3.rgb);
  1002. float3 temp65;
  1003. float temp66;
  1004. temp66= color1.a;
  1005. float3 temp67;
  1006. float3 temp68;
  1007. temp68= temp64 * temp66;
  1008. temp61= temp68;
  1009. temp59= temp60 + temp61;
  1010. // exp.components=1 term=1
  1011. // line 39: T1a= T1a*T0a
  1012. float temp69;
  1013. float temp70;
  1014. temp70= saturate(tex1.a);
  1015. float3 temp71;
  1016. float temp72;
  1017. temp72= saturate(tex0.a);
  1018. float3 temp73;
  1019. float temp74;
  1020. temp74= temp70 * temp72;
  1021. temp69= temp74;
  1022. r0.rgb= temp59;
  1023. tex1.a= temp69;
  1024. // exp.components=1 term=1
  1025. // line 43: R1= R0.C1a
  1026. float temp75;
  1027. float3 temp76;
  1028. temp76= saturate(r0.rgb);
  1029. float3 temp77;
  1030. float temp78;
  1031. temp78= 0.752941;
  1032. float3 temp79;
  1033. float temp80;
  1034. temp80= dot(temp76, temp78);
  1035. temp75= temp80;
  1036. // exp.components=1 term=1
  1037. // line 44: D1a= R1a*R1a
  1038. float temp81;
  1039. float temp82;
  1040. temp82= saturate(r1.a);
  1041. float3 temp83;
  1042. float temp84;
  1043. temp84= saturate(r1.a);
  1044. float3 temp85;
  1045. float temp86;
  1046. temp86= temp82 * temp84;
  1047. temp81= temp86;
  1048. // exp.components=1 term=1
  1049. // line 45: T1a= C0a*T1a
  1050. float temp87;
  1051. float temp88;
  1052. temp88= c1.a;
  1053. float3 temp89;
  1054. float temp90;
  1055. temp90= saturate(tex1.a);
  1056. float3 temp91;
  1057. float temp92;
  1058. temp92= temp88 * temp90;
  1059. temp87= temp92;
  1060. r1.rgb= temp75;
  1061. color1.a= temp81;
  1062. tex1.a= temp87;
  1063. // exp.components=3 term=3
  1064. // line 49: R0= OUT_SCALE_BY_2(R0*T0)
  1065. float3 temp93;
  1066. float3 temp94;
  1067. temp94= saturate(r0.rgb);
  1068. float3 temp95;
  1069. float3 temp96;
  1070. temp96= saturate(tex0.rgb);
  1071. float3 temp97;
  1072. float3 temp98;
  1073. temp98= temp94 * temp96;
  1074. temp93= temp98;
  1075. temp93= 999 * temp93;
  1076. // exp.components=3 term=3
  1077. // line 50: T3= OUT_SCALE_BY_2(C0*T3)
  1078. float3 temp99;
  1079. float3 temp100;
  1080. temp100= c3.rgb;
  1081. float3 temp101;
  1082. float3 temp102;
  1083. temp102= saturate(tex3.rgb);
  1084. float3 temp103;
  1085. float3 temp104;
  1086. temp104= temp100 * temp102;
  1087. temp99= temp104;
  1088. temp99= 999 * temp99;
  1089. // exp.components=1 term=1
  1090. // line 51: R1a= D1a*D1a
  1091. float temp105;
  1092. float temp106;
  1093. temp106= saturate(color1.a);
  1094. float3 temp107;
  1095. float temp108;
  1096. temp108= saturate(color1.a);
  1097. float3 temp109;
  1098. float temp110;
  1099. temp110= temp106 * temp108;
  1100. temp105= temp110;
  1101. r0.rgb= temp93;
  1102. tex3.rgb= temp99;
  1103. r1.a= temp105;
  1104. // exp.components=3 term=3
  1105. // line 64: D1= OUT_SCALE_BY_2(T3*T1a)
  1106. float3 temp111;
  1107. float3 temp112;
  1108. temp112= saturate(tex3.rgb);
  1109. float3 temp113;
  1110. float temp114;
  1111. temp114= saturate(tex1.a);
  1112. float3 temp115;
  1113. float3 temp116;
  1114. temp116= temp112 * temp114;
  1115. temp111= temp116;
  1116. temp111= 999 * temp111;
  1117. // exp.components=1 term=1
  1118. // line 65: R1a= D1a
  1119. float temp117;
  1120. float temp118;
  1121. temp118= saturate(color1.a);
  1122. float3 temp119;
  1123. temp117= temp118;
  1124. color1.rgb= temp111;
  1125. r1.a= temp117;
  1126. // exp.components=3 term=3
  1127. // line 73: D1= OUT_SCALE_BY_2(R1a*D1)
  1128. float3 temp120;
  1129. float temp121;
  1130. temp121= saturate(r1.a);
  1131. float3 temp122;
  1132. float3 temp123;
  1133. temp123= saturate(color1.rgb);
  1134. float3 temp124;
  1135. float3 temp125;
  1136. temp125= temp121 * temp123;
  1137. temp120= temp125;
  1138. temp120= 999 * temp120;
  1139. // exp.components=1 term=1
  1140. // line 74: D0a= OUT_SCALE_BY_2(R1b*T0a)
  1141. float temp126;
  1142. float temp127;
  1143. temp127= saturate(r1.b);
  1144. float3 temp128;
  1145. float temp129;
  1146. temp129= saturate(tex0.a);
  1147. float3 temp130;
  1148. float temp131;
  1149. temp131= temp127 * temp129;
  1150. temp126= temp131;
  1151. temp126= 999 * temp126;
  1152. color1.rgb= temp120;
  1153. color0.a= temp126;
  1154. // exp.components=3 term=3 term=3
  1155. // line 77: SRCCOLOR= R0 + D1
  1156. float3 temp132;
  1157. float3 temp133;
  1158. float3 temp134;
  1159. float3 temp135;
  1160. temp135= saturate(r0.rgb);
  1161. float3 temp136;
  1162. temp133= temp135;
  1163. float3 temp137;
  1164. temp137= saturate(color1.rgb);
  1165. float3 temp138;
  1166. temp134= temp137;
  1167. temp132= temp133 + temp134;
  1168. // exp.components=1 term=1
  1169. // line 78: SRCALPHA= D0a
  1170. float temp139;
  1171. float temp140;
  1172. temp140= saturate(color0.a);
  1173. float3 temp141;
  1174. temp139= temp140;
  1175. r0.rgb= temp132;
  1176. r0.a= temp139;
  1177.  
  1178. //fog zvalue
  1179. float linear_depth = tc7.w / zwriteout.z;
  1180. float3 depth_stripe;
  1181.  
  1182. depth_stripe.r = floor(linear_depth*256)/256;
  1183. depth_stripe.g = frac(floor(linear_depth*65536)/256);
  1184. depth_stripe.b = frac(floor(linear_depth*65536*256)/256);
  1185.  
  1186. #ifdef ZPRIME
  1187. //r0.a has alpha kill value
  1188. r0.rgb = depth_stripe.rgb;
  1189. #endif
  1190.  
  1191. #ifndef MRT
  1192. return r0;
  1193. #else
  1194. MRT_return retval;
  1195. retval.color = r0;
  1196. retval.depth.rgb = depth_stripe.rgb;
  1197. retval.depth.a = r0.a;
  1198. return retval;
  1199. #endif
  1200. }
  1201. #case $lightmap_type=3
  1202. sampler2D s0 : register(S0);
  1203. sampler2D s1 : register(S1);
  1204. sampler2D s2 : register(S2);
  1205. sampler2D s3 : register(S3);
  1206. float4 bumpenv : register(C0); // .r=m00 .g=m01 .b=m10 .a=m11
  1207. float4 c1 : register(C1);
  1208. float4 c2 : register(C2);
  1209. float4 c3 : register(C3);
  1210. float4 zwriteout : register(c16);
  1211. struct MRT_return
  1212. {
  1213. float4 color :COLOR0;
  1214. float4 depth :COLOR1;
  1215. };
  1216. #ifndef MRT
  1217. float4 main(
  1218. #else
  1219. MRT_return main(
  1220. #endif
  1221. #ifdef CENTROID0
  1222. float4 tc0 : TEXCOORD0_centroid,
  1223. #else
  1224. float4 tc0 : TEXCOORD0,
  1225. #endif
  1226. #ifdef CENTROID1
  1227. float4 tc1 : TEXCOORD1_centroid,
  1228. #else
  1229. float4 tc1 : TEXCOORD1,
  1230. #endif
  1231. #ifdef CENTROID2
  1232. float4 tc2 : TEXCOORD2_centroid,
  1233. #else
  1234. float4 tc2 : TEXCOORD2,
  1235. #endif
  1236. #ifdef CENTROID3
  1237. float4 tc3 : TEXCOORD3_centroid,
  1238. #else
  1239. float4 tc3 : TEXCOORD3,
  1240. #endif
  1241. float4 tc7:TEXCOORD7,
  1242. float4 color0 : COLOR0,
  1243. float4 color1 : COLOR1
  1244. )
  1245. #ifndef MRT
  1246. : COLOR
  1247. #endif
  1248. {
  1249. float4 r0, r1;
  1250. float3 e, f;
  1251. r0.r= r0.g= r0.b= 0;
  1252. r0.a= 1;
  1253. float4 tex4;
  1254. float4 tex5;
  1255. float4 tex6;
  1256. float4 tex7;
  1257. // texture stage 0 mode 0 dot 0 input-stage 0
  1258. float4 tex0= tex2Dproj(s0, tc0);
  1259. // texture stage 1 mode 0 dot 0 input-stage 0
  1260. float4 tex1= tex2Dproj(s1, tc1);
  1261. // texture stage 2 mode 0 dot 0 input-stage 0
  1262. float4 tex2= tex2Dproj(s2, tc2);
  1263. // texture stage 3 mode 0 dot 0 input-stage 0
  1264. float4 tex3= tex2Dproj(s3, tc3);
  1265. // exp.components=1 term=1
  1266. // line 24: R0= EXPAND(T2).EXPAND(D1)
  1267. float temp0;
  1268. float3 temp1;
  1269. temp1= 999 * saturate(tex2.rgb) - 1;
  1270. float3 temp2;
  1271. float3 temp3;
  1272. temp3= 999 * saturate(color1.rgb) - 1;
  1273. float3 temp4;
  1274. float temp5;
  1275. temp5= dot(temp1, temp3);
  1276. temp0= temp5;
  1277. // exp.components=1 term=1
  1278. // line 25: T2= EXPAND(T2).EXPAND(D0)
  1279. float temp6;
  1280. float3 temp7;
  1281. temp7= 999 * saturate(tex2.rgb) - 1;
  1282. float3 temp8;
  1283. float3 temp9;
  1284. temp9= 999 * saturate(color0.rgb) - 1;
  1285. float3 temp10;
  1286. float temp11;
  1287. temp11= dot(temp7, temp9);
  1288. temp6= temp11;
  1289. // exp.components=1 term=1
  1290. // line 26: R0a= EXPAND(D1b)
  1291. float temp12;
  1292. float temp13;
  1293. temp13= 999 * saturate(color1.b) - 1;
  1294. float3 temp14;
  1295. temp12= temp13;
  1296. // exp.components=1 term=1
  1297. // line 27: T1a= EXPAND(D1a)*T0a
  1298. float temp15;
  1299. float temp16;
  1300. temp16= 999 * saturate(color1.a) - 1;
  1301. float3 temp17;
  1302. float temp18;
  1303. temp18= saturate(tex0.a);
  1304. float3 temp19;
  1305. float temp20;
  1306. temp20= temp16 * temp18;
  1307. temp15= temp20;
  1308. r0.rgb= temp0;
  1309. tex2.rgb= temp6;
  1310. r0.a= temp12;
  1311. tex1.a= temp15;
  1312. // exp.components=1 term=1
  1313. // line 30: R1= EXPAND(D1).EXPAND(D0)
  1314. float temp21;
  1315. float3 temp22;
  1316. temp22= 999 * saturate(color1.rgb) - 1;
  1317. float3 temp23;
  1318. float3 temp24;
  1319. temp24= 999 * saturate(color0.rgb) - 1;
  1320. float3 temp25;
  1321. float temp26;
  1322. temp26= dot(temp22, temp24);
  1323. temp21= temp26;
  1324. // exp.components=1 term=1 term=1
  1325. // line 31: D1a= D1a*SIGNED(R0b) - D1a*SIGNED(R0a)
  1326. float temp27;
  1327. float temp28;
  1328. float temp29;
  1329. float temp30;
  1330. temp30= saturate(color1.a);
  1331. float3 temp31;
  1332. float temp32;
  1333. temp32= r0.b;
  1334. float3 temp33;
  1335. float temp34;
  1336. temp34= temp30 * temp32;
  1337. temp28= temp34;
  1338. float temp35;
  1339. temp35= saturate(color1.a);
  1340. float3 temp36;
  1341. float temp37;
  1342. temp37= r0.a;
  1343. float3 temp38;
  1344. float temp39;
  1345. temp39= temp35 * temp37;
  1346. temp29= temp39;
  1347. temp27= temp28 - temp29;
  1348. r1.rgb= temp21;
  1349. color1.a= temp27;
  1350. // exp.components=3 term=3
  1351. // line 34: T0= OUT_SCALE_BY_2(T0*T1)
  1352. float3 temp40;
  1353. float3 temp41;
  1354. temp41= saturate(tex0.rgb);
  1355. float3 temp42;
  1356. float3 temp43;
  1357. temp43= saturate(tex1.rgb);
  1358. float3 temp44;
  1359. float3 temp45;
  1360. temp45= temp41 * temp43;
  1361. temp40= temp45;
  1362. temp40= 999 * temp40;
  1363. // exp.components=1 term=1 term=1
  1364. // line 35: R1a= OUT_SCALE_BY_2(SIGNED(R0b)*SIGNED(T2b) - 1/2*SIGNED(R1b))
  1365. float temp46;
  1366. float temp47;
  1367. float temp48;
  1368. float temp49;
  1369. temp49= r0.b;
  1370. float3 temp50;
  1371. float temp51;
  1372. temp51= tex2.b;
  1373. float3 temp52;
  1374. float temp53;
  1375. temp53= temp49 * temp51;
  1376. temp47= temp53;
  1377. float temp54;
  1378. temp54= 0.5;
  1379. float3 temp55;
  1380. float temp56;
  1381. temp56= r1.b;
  1382. float3 temp57;
  1383. float temp58;
  1384. temp58= temp54 * temp56;
  1385. temp48= temp58;
  1386. temp46= temp47 - temp48;
  1387. temp46= 999 * temp46;
  1388. tex0.rgb= temp40;
  1389. r1.a= temp46;
  1390. // exp.components=3 term=3 term=3
  1391. // line 38: R0= T3 + T3*SIGNED(D1a)
  1392. float3 temp59;
  1393. float3 temp60;
  1394. float3 temp61;
  1395. float3 temp62;
  1396. temp62= saturate(tex3.rgb);
  1397. float3 temp63;
  1398. temp60= temp62;
  1399. float3 temp64;
  1400. temp64= saturate(tex3.rgb);
  1401. float3 temp65;
  1402. float temp66;
  1403. temp66= color1.a;
  1404. float3 temp67;
  1405. float3 temp68;
  1406. temp68= temp64 * temp66;
  1407. temp61= temp68;
  1408. temp59= temp60 + temp61;
  1409. // exp.components=1 term=1
  1410. // line 39: T1a= T1a*T0a
  1411. float temp69;
  1412. float temp70;
  1413. temp70= saturate(tex1.a);
  1414. float3 temp71;
  1415. float temp72;
  1416. temp72= saturate(tex0.a);
  1417. float3 temp73;
  1418. float temp74;
  1419. temp74= temp70 * temp72;
  1420. temp69= temp74;
  1421. r0.rgb= temp59;
  1422. tex1.a= temp69;
  1423. // exp.components=1 term=1
  1424. // line 43: R1= R0.C1a
  1425. float temp75;
  1426. float3 temp76;
  1427. temp76= saturate(r0.rgb);
  1428. float3 temp77;
  1429. float temp78;
  1430. temp78= 0.752941;
  1431. float3 temp79;
  1432. float temp80;
  1433. temp80= dot(temp76, temp78);
  1434. temp75= temp80;
  1435. // exp.components=1 term=1
  1436. // line 44: D1a= R1a*R1a
  1437. float temp81;
  1438. float temp82;
  1439. temp82= saturate(r1.a);
  1440. float3 temp83;
  1441. float temp84;
  1442. temp84= saturate(r1.a);
  1443. float3 temp85;
  1444. float temp86;
  1445. temp86= temp82 * temp84;
  1446. temp81= temp86;
  1447. // exp.components=1 term=1
  1448. // line 45: T1a= C0a*T1a
  1449. float temp87;
  1450. float temp88;
  1451. temp88= c1.a;
  1452. float3 temp89;
  1453. float temp90;
  1454. temp90= saturate(tex1.a);
  1455. float3 temp91;
  1456. float temp92;
  1457. temp92= temp88 * temp90;
  1458. temp87= temp92;
  1459. r1.rgb= temp75;
  1460. color1.a= temp81;
  1461. tex1.a= temp87;
  1462. // exp.components=3 term=3
  1463. // line 49: R0= OUT_SCALE_BY_2(R0*T0)
  1464. float3 temp93;
  1465. float3 temp94;
  1466. temp94= saturate(r0.rgb);
  1467. float3 temp95;
  1468. float3 temp96;
  1469. temp96= saturate(tex0.rgb);
  1470. float3 temp97;
  1471. float3 temp98;
  1472. temp98= temp94 * temp96;
  1473. temp93= temp98;
  1474. temp93= 999 * temp93;
  1475. // exp.components=3 term=3
  1476. // line 50: T3= OUT_SCALE_BY_2(C0*T3)
  1477. float3 temp99;
  1478. float3 temp100;
  1479. temp100= c3.rgb;
  1480. float3 temp101;
  1481. float3 temp102;
  1482. temp102= saturate(tex3.rgb);
  1483. float3 temp103;
  1484. float3 temp104;
  1485. temp104= temp100 * temp102;
  1486. temp99= temp104;
  1487. temp99= 999 * temp99;
  1488. // exp.components=1 term=1
  1489. // line 51: R1a= D1a*D1a
  1490. float temp105;
  1491. float temp106;
  1492. temp106= saturate(color1.a);
  1493. float3 temp107;
  1494. float temp108;
  1495. temp108= saturate(color1.a);
  1496. float3 temp109;
  1497. float temp110;
  1498. temp110= temp106 * temp108;
  1499. temp105= temp110;
  1500. r0.rgb= temp93;
  1501. tex3.rgb= temp99;
  1502. r1.a= temp105;
  1503. // exp.components=3 term=3
  1504. // line 68: D1= OUT_SCALE_BY_2(T3*T1a)
  1505. float3 temp111;
  1506. float3 temp112;
  1507. temp112= saturate(tex3.rgb);
  1508. float3 temp113;
  1509. float temp114;
  1510. temp114= saturate(tex1.a);
  1511. float3 temp115;
  1512. float3 temp116;
  1513. temp116= temp112 * temp114;
  1514. temp111= temp116;
  1515. temp111= 999 * temp111;
  1516. // exp.components=1 term=1 term=1
  1517. // line 69: R1a= OUT_SCALE_BY_2(R1a*R1a - 1/2)
  1518. float temp117;
  1519. float temp118;
  1520. float temp119;
  1521. float temp120;
  1522. temp120= saturate(r1.a);
  1523. float3 temp121;
  1524. float temp122;
  1525. temp122= saturate(r1.a);
  1526. float3 temp123;
  1527. float temp124;
  1528. temp124= temp120 * temp122;
  1529. temp118= temp124;
  1530. float temp125;
  1531. temp125= 0.5;
  1532. float3 temp126;
  1533. temp119= temp125;
  1534. temp117= temp118 - temp119;
  1535. temp117= 999 * temp117;
  1536. color1.rgb= temp111;
  1537. r1.a= temp117;
  1538. // exp.components=3 term=3
  1539. // line 73: D1= OUT_SCALE_BY_2(R1a*D1)
  1540. float3 temp127;
  1541. float temp128;
  1542. temp128= saturate(r1.a);
  1543. float3 temp129;
  1544. float3 temp130;
  1545. temp130= saturate(color1.rgb);
  1546. float3 temp131;
  1547. float3 temp132;
  1548. temp132= temp128 * temp130;
  1549. temp127= temp132;
  1550. temp127= 999 * temp127;
  1551. // exp.components=1 term=1
  1552. // line 74: D0a= OUT_SCALE_BY_2(R1b*T0a)
  1553. float temp133;
  1554. float temp134;
  1555. temp134= saturate(r1.b);
  1556. float3 temp135;
  1557. float temp136;
  1558. temp136= saturate(tex0.a);
  1559. float3 temp137;
  1560. float temp138;
  1561. temp138= temp134 * temp136;
  1562. temp133= temp138;
  1563. temp133= 999 * temp133;
  1564. color1.rgb= temp127;
  1565. color0.a= temp133;
  1566. // exp.components=3 term=3 term=3
  1567. // line 77: SRCCOLOR= R0 + D1
  1568. float3 temp139;
  1569. float3 temp140;
  1570. float3 temp141;
  1571. float3 temp142;
  1572. temp142= saturate(r0.rgb);
  1573. float3 temp143;
  1574. temp140= temp142;
  1575. float3 temp144;
  1576. temp144= saturate(color1.rgb);
  1577. float3 temp145;
  1578. temp141= temp144;
  1579. temp139= temp140 + temp141;
  1580. // exp.components=1 term=1
  1581. // line 78: SRCALPHA= D0a
  1582. float temp146;
  1583. float temp147;
  1584. temp147= saturate(color0.a);
  1585. float3 temp148;
  1586. temp146= temp147;
  1587. r0.rgb= temp139;
  1588. r0.a= temp146;
  1589.  
  1590. //fog zvalue
  1591. float linear_depth = tc7.w / zwriteout.z;
  1592. float3 depth_stripe;
  1593.  
  1594. depth_stripe.r = floor(linear_depth*256)/256;
  1595. depth_stripe.g = frac(floor(linear_depth*65536)/256);
  1596. depth_stripe.b = frac(floor(linear_depth*65536*256)/256);
  1597.  
  1598. #ifdef ZPRIME
  1599. //r0.a has alpha kill value
  1600. r0.rgb = depth_stripe.rgb;
  1601. #endif
  1602.  
  1603. #ifndef MRT
  1604. return r0;
  1605. #else
  1606. MRT_return retval;
  1607. retval.color = r0;
  1608. retval.depth.rgb = depth_stripe.rgb;
  1609. retval.depth.a = r0.a;
  1610. return retval;
  1611. #endif
  1612. }
Add Comment
Please, Sign In to add comment