home *** CD-ROM | disk | FTP | other *** search
/ Igromania 2005 May / Igromania_2005-05.iso / DemosThemes2 / Demo1944BattleOfTheBulge / demo1944english.exe / Inf / water1x1-shadow.ps.ati < prev    next >
Text File  |  2004-06-18  |  2KB  |  78 lines

  1. ps_2_0
  2.  
  3. ; c0 = mastercolor
  4. ; c1 = ambient color
  5.  
  6.  
  7. def c12, 0, 0, 0, 1
  8. def c13, 0.00048828125f, 0, 0, 0
  9. def c14, 0, 0.00048828125f, 0, 0
  10. def c15, 0.00048828125f, 0.00048828125f, 0, 0
  11. def c16, 2048, 2048, 2048, 2048
  12.  
  13. def c17, 0.2, 0.1, 0.4, 0.7
  14.  
  15. dcl v0 ; vertex color
  16. dcl v1 ; specular color
  17.  
  18. dcl_2d s0 ; shadow map
  19. dcl_2d s1 ; bump map
  20. dcl_2d s2 ; reflection map
  21.  
  22. dcl t0.xyzw ; shadow map coord
  23. dcl t1.xy ; bump coord
  24. dcl t2.xy ; reflection coord
  25.  
  26. #if 1
  27.     // regi shadow-map kod
  28.     rcp r0, t0.w
  29.     mul r0, t0, r0
  30.     texld r1, r0, s0
  31.     sub r1, r0.z, r1.r
  32.     cmp r0, r1, c1, v0
  33. #else
  34.     ; uj shadow map kod itt kezdodik
  35.     rcp r0, t0.w ; r0.w=1/t0.w
  36.     mul r0, t0, r0 ; r0=t0/t0.w
  37.  
  38.     ; more taps
  39.     ; r0=alap tap
  40.     add r1, r0, c13
  41.     add r2, r0, c14
  42.     add r3, r0, c15
  43.  
  44.     mul r4, r0, c16 ; r4, texel space
  45.     frc r4, r4 ; r4.xy=interpolant
  46.  
  47.     texld r5, r0, s0 ; tap0 sample
  48.     texld r6, r1, s0 ; tap1 sample
  49.     texld r7, r2, s0 ; tap2 sample
  50.     texld r8, r3, s0 ; tap3 sample
  51.  
  52.     sub r1.r, r0.z, r5.r ; kivonas 00
  53.     sub r1.g, r0.z, r6.r ; kivonas 10
  54.     sub r1.b, r0.z, r7.r ; kivonas 01
  55.     sub r1.a, r0.z, r8.r ; kivonas 11
  56.  
  57.     cmp r2, r1, c12.x, c12.w ; 0 vagy 1
  58.     lrp r5, r4.x, r2.g, r2.r
  59.     lrp r6, r4.x, r2.a, r2.b
  60.     lrp r7, r4.y, r6, r5
  61.     lrp r0, r7, v0, c1
  62. #endif
  63. ; itt van vege. eredmeny r0-ban
  64.  
  65. texld r1, t1, s1 ; sample bump map, marad is
  66. mad r2.xy, r1, c17.x, c17.y ; *0.2-0.1 (-0.1..0.1)
  67. add r2.xy, r2, t2 ; add reflection coord
  68. texld r2, r2, s2 ; sample reflection (r2)
  69.  
  70. mad r3.rgb, r1, c17.z, c17.w ; fake shading from bump
  71. mul r3.rgb, r3, r0 ; scale shading
  72. mul r3.rgb, r3, r2 ; mul reflection
  73. mad r3.rgb, r1, v1, r3 ; scale and add specular
  74. mov r3.a, v0.a
  75.  
  76. mov oC0, r3
  77.  
  78.