home *** CD-ROM | disk | FTP | other *** search
/ Joystick Magazine 2002 December / JOY143_CD1.iso / Data / Demos / Platoon / pl_demo.exe / Shaders / VertexShaders / FaceMorph.vs < prev    next >
Text File  |  2002-09-17  |  1KB  |  61 lines

  1. vs.1.0
  2.  
  3. #include "..\VERTEXFORMATS\FaceMorph.vf"
  4.  
  5. #define INTENSITY1 c0.x
  6. #define INTENSITY2 c0.y
  7. #define INTENSITY3 c0.z
  8. #define INTENSITY4 c0.w
  9. #define INTENSITY5 c1.x
  10. #define INTENSITY6 c1.y
  11.  
  12. #define WORLDVIEWPROJMATRIX c2
  13. #define WORLDMATRIX c6
  14.  
  15. #define LIGHT0DIR   c10
  16. #define LIGHT0COL   c11
  17.  
  18. #define LIGHT1DIR   c12
  19. #define LIGHT1COL   c13
  20.  
  21. #define AMBIENTCOLOR c14
  22.  
  23. #define NULL_VECTOR c15
  24. #define IDENTITY_VECTOR c16
  25.  
  26.  
  27. mov r0, DefPos
  28. mad r0.xyz, Ch1Pos.xyz, INTENSITY1, r0.xyz
  29. mad r0.xyz, Ch2Pos.xyz, INTENSITY2, r0.xyz
  30. mad r0.xyz, Ch3Pos.xyz, INTENSITY3, r0.xyz
  31. mad r0.xyz, Ch4Pos.xyz, INTENSITY4, r0.xyz
  32. mad r0.xyz, Ch5Pos.xyz, INTENSITY5, r0.xyz
  33. mad r0.xyz, Ch6Pos.xyz, INTENSITY6, r0.xyz
  34.  
  35. mov r1, DefNorm
  36. mad r1.xyz, Ch1Norm.xyz, INTENSITY1, r1.xyz
  37. mad r1.xyz, Ch2Norm.xyz, INTENSITY2, r1.xyz
  38. mad r1.xyz, Ch3Norm.xyz, INTENSITY3, r1.xyz
  39. mad r1.xyz, Ch4Norm.xyz, INTENSITY4, r1.xyz
  40. mad r1.xyz, Ch5Norm.xyz, INTENSITY5, r1.xyz
  41. mad r1.xyz, Ch6Norm.xyz, INTENSITY6, r1.xyz
  42.  
  43. m4x4 oPos, r0, WORLDVIEWPROJMATRIX
  44.  
  45. m3x3 r1, r1, WORLDMATRIX
  46.  
  47. dp3 r1.w, r1.xyz, r1.xyz
  48. rsq r1.w, r1.w
  49. mul r1, r1, r1.w
  50.  
  51. dp3 r4.x, r1, LIGHT0DIR
  52. max r4, r4.x, NULL_VECTOR
  53. mul r4, r4, LIGHT0COL
  54.  
  55. dp3 r5.x, r1, LIGHT1DIR
  56. max r5, r5.x, NULL_VECTOR
  57. mad r4, r5, LIGHT1COL, r4
  58.  
  59. add oD0, r4, AMBIENTCOLOR
  60. mov oT0, Map
  61.