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 / ShaderInstancing.vsh < prev    next >
Text File  |  2005-02-12  |  1KB  |  36 lines

  1. //-------------------------------
  2. // File: ShaderInstancing.vsh
  3. // Date: 28/1/2005 [Agre]
  4. //---------------------------------------------------------------------------------------------------------
  5. // Shader-instancing para objetos con formato de vΘrtice XYZUVI
  6. // Soporta paleta de 30 matrices
  7. //
  8. //   c0                -> Constantes globales (0.3f, 0.0f, 3.0f, 1.0f)
  9. //  [c1],  c2,  c3, c4 -> Matriz de proyeccion/vista
  10. //  [c5],  c6,  c7     -> matriz de transformaci≤n [paleta 1]    5 + (3 * (i_matriz - 1))
  11. //   c8,   c9, c10     -> matriz de transformaci≤n [paleta 2]
  12. //   c11, c12, c13     -> matriz de transformaci≤n [paleta 3]
  13. //   c14, c15, c16     -> matriz de transformaci≤n [paleta 4]
  14. //   c17, c18, c19     -> matriz de transformaci≤n [paleta 5]
  15. //   c20, c21, c22     -> matriz de transformaci≤n [paleta 6]
  16. //   ...
  17. //   C89, c90, c91     -> matriz de transformaci≤n [paleta 29]
  18. //   c92, c93, c94     -> matriz de transformaci≤n [paleta 30]
  19. //---------------------------------------------------------------------------------------------------------
  20. vs.1.1
  21.  
  22. dcl_position     v0
  23. dcl_texcoord     v1
  24. dcl_blendindices v3
  25.  
  26. mov r0.x, v3.x
  27. mul r0.x, r0.x, c0.z        // c0.z = 3 (n·mero de vectores por matriz de tranformaci≤n)
  28. mov a0.x, r0.x
  29. m4x3 r0, v0, c[a0.x + 5]    // Posici≤n de la paleta de matrices en las constantes
  30. mov r0.w, c0.w
  31. m4x4 r1, r0, c1
  32. mov oPos, r1
  33. mov oT0.xy, v1.xy
  34. mov oD0.xyzw, c0.wwww
  35. mov oFog, c0.w
  36.