home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2005 March / Gamestar_71_2005-03_dvd.iso / Dema / LegacyDemo / legacy / legacy.exe / 1033 / RCDATA / 154 next >
Text File  |  2005-01-17  |  2KB  |  69 lines

  1.  
  2. vs.1.1
  3.  
  4. ;------------------------------------------------------------------------------
  5. ; v0 = position
  6. ; v1 = blend weights
  7. ; v2 = blend indices
  8. ; v3 = normal
  9. ; v4 = texture coordinates
  10. ;------------------------------------------------------------------------------
  11.  
  12. ;------------------------------------------------------------------------------
  13. ; r0.w = Last blend weight
  14. ; r1 = Blend indices
  15. ; r2 = Temp position
  16. ; r3 = Temp normal
  17. ; r4 = Blended position in camera space
  18. ; r5 = Blended normal in camera space
  19. ;------------------------------------------------------------------------------
  20.  
  21. ;------------------------------------------------------------------------------
  22. ; Constants specified by the app;
  23. ;
  24. ; c9-c95 = world-view matrix palette
  25. ; c8      = diffuse * light.diffuse
  26. ; c7      = ambient color
  27. ; c2-c5   = projection matrix
  28. ; c1      = light direction
  29. ; c0      = {1, power, 0, 1020.01};
  30. ;------------------------------------------------------------------------------
  31.  
  32. ;------------------------------------------------------------------------------
  33. ; oPos      = Output position
  34. ; oD0      = Diffuse
  35. ; oD1      = Specular
  36. ; oT0      = texture coordinates
  37. ;------------------------------------------------------------------------------
  38.  
  39. // Compensate for lack of UBYTE4 on Geforce3
  40. mul r1,v2.zyxw,c0.wwww
  41. //mul r1,v2,c0.wwww
  42.  
  43.  
  44. //Set 1
  45. mov a0.x,r1.x
  46. m4x3 r4,v0,c[a0.x + 9];
  47. m3x3 r5,v3,c[a0.x + 9]; 
  48.  
  49. //compute position
  50. mov r4.w,c0.x
  51. m4x4 oPos,r4,c2
  52.  
  53. // normalize normals
  54. dp3 r5.w, r5, r5;
  55. rsq r5.w, r5.w;
  56. mul r5, r5, r5.w;
  57.  
  58. ; Do the lighting calculation
  59. dp3 r1.x, r5, c1      ; normal dot light
  60. lit r1, r1
  61. mul r0, r1.y, c8      ; Multiply with diffuse
  62. add r0, r0, c7        ; Add in ambient
  63. min oD0, r0, c0.x     ; clamp if > 1
  64. mov oD1, c0.zzzz     ; output specular
  65.  
  66. ; Copy texture coordinate
  67. mov oT0, v4
  68.  
  69.