home *** CD-ROM | disk | FTP | other *** search
/ GameStar Special 2004 January / GSSH0104TT.iso / Extras / Tron20 / tron_tools.exe / TRON_Tools / Tools / RenderStyles / vs_toon_3light.vsh < prev    next >
Text File  |  2003-03-10  |  2KB  |  46 lines

  1. ; Vertex Data:
  2. ;   v0    -  Position
  3. ;   v1    -  Normal
  4. ;   v2    -  uv1
  5. ;
  6. ; Constant Data:
  7. ;   c0    -  Constant Vector (0.0, 0.5, 1.0, 2.0)
  8. ;   c1:c4 -  Projection Matrix
  9. ;   c5:c8 -  ModelViewProj Matrix
  10. ;   c5    -  Light direction
  11. ;   c6      -  Light color
  12.  
  13. vs.1.1
  14.  
  15. // Transform position (all the way)...
  16. LT_MACRO_RIGIDTRANS4<oPos,v0,c5>            // Rigid Transform...
  17. LT_MACRO_SKINBLENDTRANS4<r0,v0,v3,v4,r1,c18>        // Skin Blended Transform...
  18. LT_MACRO_SKINTRANS4<oPos,r0,c1>                // Skin Projection...
  19. LT_MACRO_SKINBLENDTRANS3<r6,v1,v3,v4,r1,c18>        // Skin Blended Transform (Normal)...
  20.  
  21. LT_MACRO_IFSKIN<dp3 r6.w, r6,  r6>            // Normalize the normal...
  22. LT_MACRO_IFSKIN<rsq r6.w, r6.w>
  23. LT_MACRO_IFSKIN<mul r6,   r6,  r6.w>
  24.  
  25. // Do the Lighting...
  26. LT_MACRO_IFRIGID<add r5, -v0, c9>            // Rigid: Light Vector (Model Space)...
  27. LT_MACRO_IFSKIN<add r5, -r0, c12>            // Skin: Light Vector (Camera Space)...
  28. LT_MACRO_LIGHT_ATT<r3.x,r5,v1,r6,r1,r2,c15>        // Material Attenuation...
  29. max r3.x,   r3.x,     c0.x                // We want one sided lighting...
  30. LT_MACRO_IFRIGID<add r5, -v0, c10>            // Rigid: Light Vector (Model Space)...
  31. LT_MACRO_IFSKIN<add r5, -r0, c13>            // Skin: Light Vector (Camera Space)...
  32. LT_MACRO_LIGHT_ATT<r3.y,r5,v1,r6,r1,r2,c16>
  33. max r3.y,   r3.y,     c0.x
  34. LT_MACRO_IFRIGID<add r5, -v0, c11>            // Rigid: Light Vector (Model Space)...
  35. LT_MACRO_IFSKIN<add r5, -r0, c14>            // Skin: Light Vector (Camera Space)...
  36. LT_MACRO_LIGHT_ATT<r3.z,r5,v1,r6,r1,r2,c17>
  37. max r3.z,   r3.z,     c0.x
  38.  
  39. // Output UVs...
  40. dp3  oT0.x, r3.xyz,   c0.zzz                // Add in all three lights...
  41. mov  oT1,   v2
  42.  
  43. // Vert Color...
  44. mov  oD0, c0.zzzz
  45.  
  46.