Advertisement
Guest User

original

a guest
Mar 3rd, 2014
940
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 10.15 KB | None | 0 0
  1. //
  2. // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
  3. //
  4. // fxc /Tps_3_0 /E PS_AllLighting /Gfp /Fc light1.txt light1.hlsl
  5. //
  6. //
  7. // Parameters:
  8. //
  9. // float3 cameraPos;
  10. // sampler2D colorMap;
  11. // float4 globalAmbient;
  12. //
  13. // struct
  14. // {
  15. // int type;
  16. // float3 dir;
  17. // float3 pos;
  18. // float4 ambient;
  19. // float4 diffuse;
  20. // float4 specular;
  21. // float spotInnerCone;
  22. // float spotOuterCone;
  23. // float radius;
  24. //
  25. // } lights[16];
  26. //
  27. // struct
  28. // {
  29. // float4 ambient;
  30. // float4 diffuse;
  31. // float4 emissive;
  32. // float4 specular;
  33. // float shininess;
  34. //
  35. // } material;
  36. //
  37. // sampler2D normalMap;
  38. // int numLights;
  39. //
  40. //
  41. // Registers:
  42. //
  43. // Name Reg Size
  44. // ------------- ----- ----
  45. // numLights i0 1
  46. // lights c0 144
  47. // material c144 5
  48. // cameraPos c149 1
  49. // globalAmbient c150 1
  50. // colorMap s0 1
  51. // normalMap s1 1
  52. //
  53.  
  54. ps_3_0
  55. def c151, 1.25, 0.0795774683, 0.5, -0.00138883968
  56. def c152, -4, -5, -6, -7
  57. def c153, -8, -9, -10, -11
  58. def c154, -12, -13, -14, -15
  59. def c155, 6.28318548, -3.14159274, -2.52398507e-007, 2.47609005e-005
  60. def c156, 0.0416666418, 0, 0, 0
  61. def c157, 2, -1, 0, -3
  62. dcl_texcoord v0.xyz
  63. dcl_texcoord1 v1.xy
  64. dcl_texcoord2 v2.xyz
  65. dcl_texcoord3 v3.xyz
  66. dcl_texcoord4 v4.xyz
  67. dcl_2d s0
  68. dcl_2d s1
  69. nrm r0.xyz, v3
  70. nrm r1.xyz, v4
  71. nrm r2.xyz, v2
  72. add r3.xyz, c149, -v0
  73. dp3 r4.x, r3, r0
  74. dp3 r4.y, r3, r1
  75. dp3 r4.z, r3, r2
  76. dp3 r0.w, r4, r4
  77. rsq r0.w, r0.w
  78. texld r3, v1, s1
  79. mad r3.xyz, r3, c157.x, c157.y
  80. nrm r5.xyz, r3
  81. mul r1.w, r3.w, c148.x
  82. mov r3, c157.z
  83. mov r2.w, c157.z
  84. rep i0
  85. add r6, r2.w, -c157_abs.zyxw
  86. add r7, r2.w, c152
  87. add r8, r2.w, c153
  88. add r9, r2.w, c154
  89. mov r10.z, c157.z
  90. cmp r10.xyw, -r6_abs.x, c2.xyzz, r10.z
  91. cmp r10.xyw, -r6_abs.y, c11.xyzz, r10
  92. cmp r10.xyw, -r6_abs.z, c20.xyzz, r10
  93. cmp r10.xyw, -r6_abs.w, c29.xyzz, r10
  94. cmp r10.xyw, -r7_abs.x, c38.xyzz, r10
  95. cmp r10.xyw, -r7_abs.y, c47.xyzz, r10
  96. cmp r10.xyw, -r7_abs.z, c56.xyzz, r10
  97. cmp r10.xyw, -r7_abs.w, c65.xyzz, r10
  98. cmp r10.xyw, -r8_abs.x, c74.xyzz, r10
  99. cmp r10.xyw, -r8_abs.y, c83.xyzz, r10
  100. cmp r10.xyw, -r8_abs.z, c92.xyzz, r10
  101. cmp r10.xyw, -r8_abs.w, c101.xyzz, r10
  102. cmp r10.xyw, -r9_abs.x, c110.xyzz, r10
  103. cmp r10.xyw, -r9_abs.y, c119.xyzz, r10
  104. cmp r10.xyw, -r9_abs.z, c128.xyzz, r10
  105. cmp r10.xyw, -r9_abs.w, c137.xyzz, r10
  106. add r10.xyw, r10, -v0.xyzz
  107. dp3 r4.w, r10.xyww, r10.xyww
  108. rsq r4.w, r4.w
  109. rcp r4.w, r4.w
  110. cmp r5.w, -r6_abs.x, c8.x, r10.z
  111. cmp r5.w, -r6_abs.y, c17.x, r5.w
  112. cmp r5.w, -r6_abs.z, c26.x, r5.w
  113. cmp r5.w, -r6_abs.w, c35.x, r5.w
  114. cmp r5.w, -r7_abs.x, c44.x, r5.w
  115. cmp r5.w, -r7_abs.y, c53.x, r5.w
  116. cmp r5.w, -r7_abs.z, c62.x, r5.w
  117. cmp r5.w, -r7_abs.w, c71.x, r5.w
  118. cmp r5.w, -r8_abs.x, c80.x, r5.w
  119. cmp r5.w, -r8_abs.y, c89.x, r5.w
  120. cmp r5.w, -r8_abs.z, c98.x, r5.w
  121. cmp r5.w, -r8_abs.w, c107.x, r5.w
  122. cmp r5.w, -r9_abs.x, c116.x, r5.w
  123. cmp r5.w, -r9_abs.y, c125.x, r5.w
  124. cmp r5.w, -r9_abs.z, c134.x, r5.w
  125. cmp r5.w, -r9_abs.w, c143.x, r5.w
  126. mad r4.w, r5.w, -c151.x, r4.w
  127. cmp r4.w, r4.w, c157_abs.z, c157_abs.y
  128. cmp r11.x, -r6_abs.x, c0.x, r10.z
  129. cmp r11.x, -r6_abs.y, c9.x, r11.x
  130. cmp r11.x, -r6_abs.z, c18.x, r11.x
  131. cmp r11.x, -r6_abs.w, c27.x, r11.x
  132. cmp r11.x, -r7_abs.x, c36.x, r11.x
  133. cmp r11.x, -r7_abs.y, c45.x, r11.x
  134. cmp r11.x, -r7_abs.z, c54.x, r11.x
  135. cmp r11.x, -r7_abs.w, c63.x, r11.x
  136. cmp r11.x, -r8_abs.x, c72.x, r11.x
  137. cmp r11.x, -r8_abs.y, c81.x, r11.x
  138. cmp r11.x, -r8_abs.z, c90.x, r11.x
  139. cmp r11.x, -r8_abs.w, c99.x, r11.x
  140. cmp r11.x, -r9_abs.x, c108.x, r11.x
  141. cmp r11.x, -r9_abs.y, c117.x, r11.x
  142. cmp r11.x, -r9_abs.z, c126.x, r11.x
  143. cmp r11.x, -r9_abs.w, c135.x, r11.x
  144. cmp r11.y, -r11_abs.x, c157_abs.y, c157_abs.z
  145. add r4.w, r4.w, r11.y
  146. if_lt -r4.w, c157.z
  147. if_eq r11.x, c157.z
  148. cmp r11.yzw, -r6_abs.x, c1.xxyz, r10.z
  149. cmp r11.yzw, -r6_abs.y, c10.xxyz, r11
  150. cmp r11.yzw, -r6_abs.z, c19.xxyz, r11
  151. cmp r11.yzw, -r6_abs.w, c28.xxyz, r11
  152. cmp r11.yzw, -r7_abs.x, c37.xxyz, r11
  153. cmp r11.yzw, -r7_abs.y, c46.xxyz, r11
  154. cmp r11.yzw, -r7_abs.z, c55.xxyz, r11
  155. cmp r11.yzw, -r7_abs.w, c64.xxyz, r11
  156. cmp r11.yzw, -r8_abs.x, c73.xxyz, r11
  157. cmp r11.yzw, -r8_abs.y, c82.xxyz, r11
  158. cmp r11.yzw, -r8_abs.z, c91.xxyz, r11
  159. cmp r11.yzw, -r8_abs.w, c100.xxyz, r11
  160. cmp r11.yzw, -r9_abs.x, c109.xxyz, r11
  161. cmp r11.yzw, -r9_abs.y, c118.xxyz, r11
  162. cmp r11.yzw, -r9_abs.z, c127.xxyz, r11
  163. cmp r11.yzw, -r9_abs.w, c136.xxyz, r11
  164. dp3 r12.x, -r11.yzww, r0
  165. dp3 r12.y, -r11.yzww, r1
  166. dp3 r12.z, -r11.yzww, r2
  167. mov r4.w, -c157.y
  168. else
  169. rcp r5.w, r5.w
  170. mul r10.xyw, r5.w, r10
  171. dp3 r12.x, r10.xyww, r0
  172. dp3 r12.y, r10.xyww, r1
  173. dp3 r12.z, r10.xyww, r2
  174. dp3 r5.w, r12, r12
  175. add r5.w, -r5.w, -c157.y
  176. max r4.w, r5.w, c157.z
  177. endif
  178. nrm r13.xyz, r12
  179. if_eq r11.x, c157.x
  180. cmp r5.w, -r6_abs.x, c7.x, r10.z
  181. cmp r5.w, -r6_abs.y, c16.x, r5.w
  182. cmp r5.w, -r6_abs.z, c25.x, r5.w
  183. cmp r5.w, -r6_abs.w, c34.x, r5.w
  184. cmp r5.w, -r7_abs.x, c43.x, r5.w
  185. cmp r5.w, -r7_abs.y, c52.x, r5.w
  186. cmp r5.w, -r7_abs.z, c61.x, r5.w
  187. cmp r5.w, -r7_abs.w, c70.x, r5.w
  188. cmp r5.w, -r8_abs.x, c79.x, r5.w
  189. cmp r5.w, -r8_abs.y, c88.x, r5.w
  190. cmp r5.w, -r8_abs.z, c97.x, r5.w
  191. cmp r5.w, -r8_abs.w, c106.x, r5.w
  192. cmp r5.w, -r9_abs.x, c115.x, r5.w
  193. cmp r5.w, -r9_abs.y, c124.x, r5.w
  194. cmp r5.w, -r9_abs.z, c133.x, r5.w
  195. cmp r10.x, -r9_abs.w, c142.x, r5.w
  196. cmp r5.w, -r6_abs.x, c6.x, r10.z
  197. cmp r5.w, -r6_abs.y, c15.x, r5.w
  198. cmp r5.w, -r6_abs.z, c24.x, r5.w
  199. cmp r5.w, -r6_abs.w, c33.x, r5.w
  200. cmp r5.w, -r7_abs.x, c42.x, r5.w
  201. cmp r5.w, -r7_abs.y, c51.x, r5.w
  202. cmp r5.w, -r7_abs.z, c60.x, r5.w
  203. cmp r5.w, -r7_abs.w, c69.x, r5.w
  204. cmp r5.w, -r8_abs.x, c78.x, r5.w
  205. cmp r5.w, -r8_abs.y, c87.x, r5.w
  206. cmp r5.w, -r8_abs.z, c96.x, r5.w
  207. cmp r5.w, -r8_abs.w, c105.x, r5.w
  208. cmp r5.w, -r9_abs.x, c114.x, r5.w
  209. cmp r5.w, -r9_abs.y, c123.x, r5.w
  210. cmp r5.w, -r9_abs.z, c132.x, r5.w
  211. cmp r10.y, -r9_abs.w, c141.x, r5.w
  212. mad r10.xy, r10, c151.y, c151.z
  213. frc r10.xy, r10
  214. mad r10.xy, r10, c155.x, c155.y
  215. mul r10.xy, r10, r10
  216. mad r11.xy, r10, c155.z, c155.w
  217. mad r11.xy, r10, r11, c151.w
  218. mad r11.xy, r10, r11, c156.x
  219. mad r11.xy, r10, r11, -c151.z
  220. mad r10.xy, r10, r11, -c157.y
  221. cmp r11.xyz, -r6_abs.x, c1, r10.z
  222. cmp r11.xyz, -r6_abs.y, c10, r11
  223. cmp r11.xyz, -r6_abs.z, c19, r11
  224. cmp r11.xyz, -r6_abs.w, c28, r11
  225. cmp r11.xyz, -r7_abs.x, c37, r11
  226. cmp r11.xyz, -r7_abs.y, c46, r11
  227. cmp r11.xyz, -r7_abs.z, c55, r11
  228. cmp r11.xyz, -r7_abs.w, c64, r11
  229. cmp r11.xyz, -r8_abs.x, c73, r11
  230. cmp r11.xyz, -r8_abs.y, c82, r11
  231. cmp r11.xyz, -r8_abs.z, c91, r11
  232. cmp r11.xyz, -r8_abs.w, c100, r11
  233. cmp r11.xyz, -r9_abs.x, c109, r11
  234. cmp r11.xyz, -r9_abs.y, c118, r11
  235. cmp r11.xyz, -r9_abs.z, c127, r11
  236. cmp r11.xyz, -r9_abs.w, c136, r11
  237. dp3 r12.x, r11, r0
  238. dp3 r12.y, r11, r1
  239. dp3 r12.z, r11, r2
  240. nrm r11.xyz, r12
  241. dp3 r5.w, -r13, r11
  242. add r10.y, -r10.x, r10.y
  243. add r5.w, -r10.x, r5.w
  244. rcp r10.x, r10.y
  245. mul_sat r5.w, r5.w, r10.x
  246. mad r10.x, r5.w, -c157.x, -c157.w
  247. mul r5.w, r5.w, r5.w
  248. mul r5.w, r5.w, r10.x
  249. mul r4.w, r4.w, r5.w
  250. endif
  251. mad r10.xyw, r4.xyzz, r0.w, r13.xyzz
  252. nrm r11.xyz, r10.xyww
  253. dp3_sat r5.w, r5, r13
  254. dp3_sat r10.x, r5, r11
  255. pow r11.x, r10.x, r1.w
  256. cmp r12, -r6_abs.x, c4, r10.z
  257. cmp r12, -r6_abs.y, c13, r12
  258. cmp r12, -r6_abs.z, c22, r12
  259. cmp r12, -r6_abs.w, c31, r12
  260. cmp r12, -r7_abs.x, c40, r12
  261. cmp r12, -r7_abs.y, c49, r12
  262. cmp r12, -r7_abs.z, c58, r12
  263. cmp r12, -r7_abs.w, c67, r12
  264. cmp r12, -r8_abs.x, c76, r12
  265. cmp r12, -r8_abs.y, c85, r12
  266. cmp r12, -r8_abs.z, c94, r12
  267. cmp r12, -r8_abs.w, c103, r12
  268. cmp r12, -r9_abs.x, c112, r12
  269. cmp r12, -r9_abs.y, c121, r12
  270. cmp r12, -r9_abs.z, c130, r12
  271. cmp r12, -r9_abs.w, c139, r12
  272. cmp r10, -r6_abs.x, c5, r10.z
  273. cmp r10, -r6_abs.y, c14, r10
  274. cmp r10, -r6_abs.z, c23, r10
  275. cmp r6, -r6_abs.w, c32, r10
  276. cmp r6, -r7_abs.x, c41, r6
  277. cmp r6, -r7_abs.y, c50, r6
  278. cmp r6, -r7_abs.z, c59, r6
  279. cmp r6, -r7_abs.w, c68, r6
  280. cmp r6, -r8_abs.x, c77, r6
  281. cmp r6, -r8_abs.y, c86, r6
  282. cmp r6, -r8_abs.z, c95, r6
  283. cmp r6, -r8_abs.w, c104, r6
  284. cmp r6, -r9_abs.x, c113, r6
  285. cmp r6, -r9_abs.y, c122, r6
  286. cmp r6, -r9_abs.z, c131, r6
  287. cmp r6, -r9_abs.w, c140, r6
  288. mul r6, r11.x, r6
  289. cmp r6, -r5.w, c157.z, r6
  290. mad r6, c145, r12, r6
  291. mul r6, r5.w, r6
  292. mad r3, r6, r4.w, r3
  293. endif
  294. add r2.w, r2.w, -c157.y
  295. endrep
  296. mov r0, c144
  297. mov r1, c150
  298. mad r0, r0, r1, c146
  299. add r0, r0, r3
  300. texld r1, v1, s0
  301. mul oC0, r0, r1
  302.  
  303. // approximately 258 instruction slots used (2 texture, 256 arithmetic)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement