home *** CD-ROM | disk | FTP | other *** search
/ GameStar 2006 January / Gamestar_80_2006-01_dvd.iso / Dema / splatmagazinerenegadepaintball_demo.exe / VShader072-000067114319.vsh < prev    next >
Text File  |  2005-10-13  |  4KB  |  148 lines

  1. ; This source file can be requested from NVLink.
  2. ; It could be re-assembled as a shader, but note that
  3. ; NVLink has already assembled this file into D3D opcodes
  4. ; You can ask NVLink for the constant and vertex slots from the API.
  5.  
  6. ; Total Instructions: 54
  7. ; Instructions removed by optimizer: 1
  8. ; Used Constants: 22
  9. ; Used Vertex Slots: 0
  10. ; Used Registers: 6
  11.  
  12. #define c_constants 0
  13. #define c_decompress_object_scale 1
  14. #define c_ambient_light 6
  15. #define c_worldviewprojection_0 2
  16. #define c_worldviewprojection_1 3
  17. #define c_worldviewprojection_2 4
  18. #define c_worldviewprojection_3 5
  19. #define c_cubematrix_0 9
  20. #define c_cubematrix_1 10
  21. #define c_cubematrix_2 11
  22. #define c_fogconst 8
  23. #define c_uvxform_0 20
  24. #define c_uvxform_1 21
  25. #define c_pointlight_diffuse_0 17
  26. #define c_pointlight_diffuse_1 19
  27. #define c_dirlight_diffuse_0 13
  28. #define c_dirlight_diffuse_1 15
  29. #define c_objectspace_eyeposition 7
  30. #define c_dirlight_direction_0 12
  31. #define c_dirlight_direction_1 14
  32. #define c_pointlight_position_0 16
  33. #define c_pointlight_position_1 18
  34.  
  35. vs.1.0
  36.  
  37. ; f_decompress_position
  38. mad r0.xy, v0.ywww, c[c_constants].wwww, v0.xzzz
  39. mad r0.zw, v1.yyyy, c[c_constants].wwww, v1.xxxx
  40. mad r0.xyz, r0.xyzz, c[c_decompress_object_scale].xxxx, -c[c_decompress_object_scale].yyyy
  41. mov r0.w, c[c_constants].yyyy
  42.  
  43. ; f_decompress_normal
  44. mad r1, v3, c[c_constants].zzzz, -c[c_constants].yyyy
  45.  
  46. ; f_decompress_texture0
  47. mad r2.xy, v2.ywww, c[c_constants].wwww, v2.xzzz
  48. mad r2.xy, r2.xyyy, c[c_decompress_object_scale].zzzz, -c[c_decompress_object_scale].wwww
  49.  
  50. ; f_move_fixed_localposition
  51. mov r0, r0
  52.  
  53. ; f_move_fixed_localnormal
  54.  
  55. ; f_outputobjectpos_clipspace
  56. mov r0.w, c[c_constants].yyyy
  57. dp4 oPos.x, r0, c[c_worldviewprojection_0]
  58. dp4 oPos.y, r0, c[c_worldviewprojection_1]
  59. dp4 oPos.z, r0, c[c_worldviewprojection_2]
  60. dp4 oPos.w, r0, c[c_worldviewprojection_3]
  61.  
  62. ; f_set_ambient
  63. mov r3, c[c_ambient_light]
  64.  
  65. ; f_create_objectspace_eyevector_local_viewer
  66. add r4, r0, -c[c_objectspace_eyeposition]
  67. dp3 r4.w, r4, r4
  68. rsq r5.w, r4.wwww
  69. mul r4, -r4, r5.wwww
  70.  
  71. ; f_calculate_linear_range_fog
  72. rcp r5.w, r5.wwww
  73. add r5.x, c[c_fogconst].yyyy, -r5.wwww
  74. mul r5.x, r5.xxxx, c[c_fogconst].zzzz
  75. add oFog, r5.xxxx, -c[c_fogconst].xxxx
  76.  
  77. ; f_calculate_objectspace_reflection
  78. dp3 r5.xyz, r4.xyzz, r1.xyzz
  79. add r5.xyz, -r5.xyzz, -r5.xyzz
  80. mad r5.xyz, r1.xyzz, -r5.xyzz, -r4.xyzz
  81.  
  82. ; f_calculate_cubereflection_vector_t1
  83. dp3 oT1.x, r5, c[c_cubematrix_0]
  84. dp3 oT1.y, r5, c[c_cubematrix_1]
  85. dp3 oT1.z, r5, c[c_cubematrix_2]
  86.  
  87. ; f_calculate_objectspace_directionallight_diffuse_intensity
  88. dp3 r5, r1, c[c_dirlight_direction_0]
  89.  
  90. ; f_clamp_diffuse_exponentiate_specular
  91. lit r5, r5
  92.  
  93. ; f_dirlight_accumulate_diffuse
  94. mad r5, r5.yyyy, c[c_dirlight_diffuse_0], r3
  95.  
  96. ; f_calculate_objectspace_directionallight_diffuse_intensity
  97. dp3 r3, r1, c[c_dirlight_direction_1]
  98.  
  99. ; f_clamp_diffuse_exponentiate_specular
  100. lit r3, r3
  101.  
  102. ; f_dirlight_accumulate_diffuse
  103. mad r3, r3.yyyy, c[c_dirlight_diffuse_1], r5
  104.  
  105. ; f_calculate_objectspace_pointlight_vector
  106. add r5, c[c_pointlight_position_0], -r0
  107. dp3 r5.w, r5, r5
  108. rsq r5.w, r5.wwww
  109. mul r5, r5, r5.wwww
  110.  
  111. ; f_calculate_objectspace_pointlight_diffuse_intensity
  112. dp3 r5, r1, r5
  113.  
  114. ; f_clamp_diffuse_exponentiate_specular
  115. lit r5, r5
  116.  
  117. ; f_pointlight_accumulate_diffuse
  118. mad r5, r5.yyyy, c[c_pointlight_diffuse_0], r3
  119.  
  120. ; f_calculate_objectspace_pointlight_vector
  121. add r0, c[c_pointlight_position_1], -r0
  122. dp3 r0.w, r0, r0
  123. rsq r0.w, r0.wwww
  124. mul r0, r0, r0.wwww
  125.  
  126. ; f_calculate_objectspace_pointlight_diffuse_intensity
  127. dp3 r1, r1, r0
  128.  
  129. ; f_clamp_diffuse_exponentiate_specular
  130. lit r1, r1
  131.  
  132. ; f_pointlight_accumulate_diffuse
  133. mad r1, r1.yyyy, c[c_pointlight_diffuse_1], r5
  134.  
  135. ; f_write_default_texture_uv_xform
  136. mov r5, c[c_constants].xxxy
  137. add r5.xy, c[c_constants].xxxx, r2.xyyy
  138. dp4 oT0.x, r5, c[c_uvxform_0]
  139. dp4 oT0.y, r5, c[c_uvxform_1]
  140.  
  141. ; f_set_diffuse_alpha_ambient
  142. mov oD0.w, c[c_ambient_light].wwww
  143.  
  144. ; f_write_diffuse_result
  145. mov oD0.xyz, r1
  146.  
  147. ; end
  148.