home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 May / Gamestar_73_2005-05_dvd.iso / Dema / IMPERIAL_GLORY / data1.cab / NewComponent1 / Data.pak / Engine / OceanSurface.psh < prev    next >
Text File  |  2005-02-12  |  2KB  |  36 lines

  1. //-----------------------------------------------------------------------------------
  2. //  Pixel shader para las superficies oceßnicas
  3. //-----------------------------------------------------------------------------------
  4. // Constantes:
  5. //     c0: Color del agua cercana
  6. //            (*) CP_OCEAN_COLOR_LIGHT   0
  7. //     c1: Color del agua profunda 
  8. //          (*) CP_OCEAN_COLOR_DARK    1
  9. //-----------------------------------------------------------------------------------
  10.  
  11. ps.1.1
  12.  
  13. tex          t0         // obtiene la normal de la textura de bump maping
  14. texm3x3pad   t1, t0     // transforma normal.x a mundo
  15. texm3x3pad   t2, t0     // transforma normal.y a mundo
  16. texm3x3vspec t3, t0     // transforma normal.z a mundo, calcula la reflexi≤n y busca el valor en T3 (env.map) 
  17.                        
  18. //-----------------------------------------------------------
  19. // Aplica el factor de margen dinßmico al environment maping
  20. //-----------------------------------------------------------
  21. mul_x4 r0, t3, v1.a
  22. mad    r0, t3, v0.a, r0
  23.  
  24. //------------------------------------------------------------------
  25. // Interpola el color del oceano entre el agua profunda y el color
  26. // suave del agua cercana a partir del color del difiso
  27. //    r1 = c0(light) + v0(difuso)*( c1(dark) - c0(light) )
  28. //------------------------------------------------------------------
  29. lrp r1, v0, c1, c0
  30.  
  31. //---------------------------------------------------------------
  32. // Combina el color del oceano con el del env.map
  33. //   r0 = r0(env.map con dyn.range) + r1(color agua interpolada)
  34. //---------------------------------------------------------------
  35. add r0, r0, r1
  36.