Advertisement
Guest User

Untitled

a guest
Dec 31st, 2017
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. //
  2. // Generated by Microsoft (R) HLSL Shader Compiler 9.29.952.3111
  3. //
  4. // Parameters:
  5. //
  6. //   float3 Camera_Forward;
  7. //   float3 Camera_Position;
  8. //   float4x4 View_Projection;
  9. //   int category_blend_mode;
  10. //   int category_fog;
  11. //  
  12. //   struct
  13. //   {
  14. //       float m_profile_type;
  15. //       float m_ngon_sides;
  16. //       float m_appearance_flags;
  17. //       float m_num_profiles;
  18. //       float2 m_uv_tiling_rate;
  19. //       float2 m_uv_scroll_rate;
  20. //       float2 m_uv_offset;
  21. //       float m_game_time;
  22. //       float3 m_origin;
  23. //      
  24. //       struct
  25. //       {
  26. //           float4 m__origin_range__origin_cutoff__edge_range__edge_cutoff;
  27. //
  28. //       } m_fade;
  29. //      
  30. //       struct
  31. //       {
  32. //           float m_value;
  33. //
  34. //       } m_inputs[16];
  35. //
  36. //   } g_all_state;
  37. //  
  38. //   float4 v_alt_exposure;
  39. //   float4 v_atmosphere_constant_0;
  40. //   float4 v_atmosphere_constant_1;
  41. //   float4 v_atmosphere_constant_2;
  42. //   float4 v_atmosphere_constant_3;
  43. //   float4 v_atmosphere_constant_4;
  44. //   float4 v_atmosphere_constant_5;
  45. //   float4 v_atmosphere_constant_extra;
  46. //   float4 v_exposure;
  47. //
  48. //
  49. // Registers:
  50. //
  51. //   Name                        Reg   Size
  52. //   --------------------------- ----- ----
  53. //   View_Projection             c0       4
  54. //   Camera_Forward              c4       1
  55. //   Camera_Position             c7       1
  56. //   category_blend_mode         c12      1
  57. //   category_fog                c13      1
  58. //   v_atmosphere_constant_extra c15      1
  59. //   g_all_state                 c16     10
  60. //   v_exposure                  c232     1
  61. //   v_atmosphere_constant_0     c233     1
  62. //   v_atmosphere_constant_1     c234     1
  63. //   v_atmosphere_constant_2     c235     1
  64. //   v_atmosphere_constant_3     c236     1
  65. //   v_atmosphere_constant_4     c237     1
  66. //   v_atmosphere_constant_5     c238     1
  67. //   v_alt_exposure              c239     1
  68. //
  69.  
  70.     vs_3_0
  71.     def c38, -2, -1, -8, 1.44269502
  72.     def c37, 6.28318548, 0.159154937, 0.5, -3.14159274
  73.     def c39, 0.00100000005, -1.5, 0.03125, 0.015625
  74.     def c40, -0.0187292993, 0.0742610022, -0.212114394, 1.57072878
  75.     def c33, 1, 0, -0.5, 0.5
  76.     def c34, 0, 1, 0, 0
  77.     def c35, 0, 0, 0, 0
  78.     def c36, 0, 0, -0.5, 0.5
  79.     dcl_position v0
  80.     dcl_position1 v1
  81.     dcl_texcoord v2
  82.     dcl_texcoord2 v3
  83.     dcl_texcoord3 v4
  84.     dcl_color v5
  85.     dcl_color1 v6
  86.     dcl_texcoord1 v7
  87.     dcl_position3 v8
  88.     dcl_position4 v9
  89.     dcl_texcoord4 v10
  90.     dcl_texcoord5 v11
  91.     dcl_texcoord6 v12
  92.     dcl_color2 v13
  93.     dcl_color3 v14
  94.     dcl_position6 v15
  95.     dcl_position o0
  96.     dcl_color o1
  97.     dcl_color1 o2
  98.     dcl_texcoord o3
  99.     if_ge -v7_abs.x, v7_abs.x
  100.       mov r0.xyz, v8
  101.       add r0.xyz, r0, -v0
  102.       mov r0.w, v0.w
  103.       mov r1.x, v1.w
  104.       mov r1.yz, v2.xxyw
  105.       mov r2, v5
  106.       mov r3.xyz, v6
  107.       mov r1.w, v6.w
  108.       mov r4.xyz, v0
  109.       mov r5.xyz, v3
  110.       mov r3.w, v2.z
  111.       mov r4.w, v2.w
  112.       mov r6.x, v4.x
  113.     else
  114.       add r5.w, v7.x, -c33.x
  115.       sge r5.w, -r5_abs.w, r5_abs.w
  116.       mov r7.xyz, v8
  117.       add r8.xyz, -r7, v15
  118.       add r7.xyz, r7, -v0
  119.       lrp r0.xyz, r5.w, r8, r7
  120.       mov r0.w, v8.w
  121.       mov r1.x, v9.w
  122.       mov r1.yz, v10.xxyw
  123.       mov r2, v13
  124.       mov r3.xyz, v14
  125.       mov r1.w, v14.w
  126.       mov r4.xyz, v8
  127.       mov r5.xyz, v11
  128.       mov r3.w, v10.z
  129.       mov r4.w, v10.w
  130.       mov r6.x, v12.x
  131.     endif
  132.     if_ge r0.w, c33.x
  133.       mov o0, c33.y
  134.       mov o2, c33.y
  135.       mov o1, c33.y
  136.       mov r7.xyz, c33.y
  137.     else
  138.       mul r2, r1.z, r2
  139.       exp r0.w, r1.w
  140.       mul r3.xyz, r0.w, r3
  141.       mul r2.xyz, r2, r3
  142.       frc r0.w, v7.y
  143.       slt r1.z, -r0.w, r0.w
  144.       add r0.w, -r0.w, v7.y
  145.       slt r1.w, v7.y, -v7.y
  146.       mad r0.w, r1.w, r1.z, r0.w
  147.       add r3.xyz, r5.yzxw, c33.x
  148.       mad r1.z, r3.z, c33.w, c33.w
  149.       frc r1.z, r1.z
  150.       mad r1.z, r1.z, c37.x, c37.w
  151.       mul r1.w, r0.w, c33.w
  152.       slt r3.z, r1.w, -r1.w
  153.       frc r5.x, r1.w
  154.       slt r5.y, -r5.x, r5.x
  155.       add r1.w, r1.w, -r5.x
  156.       mad r1.w, r3.z, r5.y, r1.w
  157.       abs r3.z, c16.x
  158.       sge r3.z, -r3.z, r3.z
  159.       sincos r5.xy, r1.z
  160.       mul r8.xyz, r0.zxyw, c33.yxyw
  161.       mad r8.xyz, r0.yzxw, c33.xyyw, -r8
  162.       dp3 r1.z, r8, r8
  163.       rsq r1.z, r1.z
  164.       mul r8.xzw, r1.z, r8.xyyz
  165.       mul r9.xyz, r0.yzxw, r8.wxzw
  166.       mad r9.xyz, r8.zwxw, r0.zxyw, -r9
  167.       nrm r10.xyz, r9
  168.       mul r9.xyz, r4.w, r10
  169.       mad r9.xyz, r3.w, r8.xzww, r9
  170.       add r11.xyz, r4.zxyw, -c7.zxyw
  171.       mul r12.xyz, r0.yzxw, r11
  172.       mad r11.xyz, r11.zxyw, r0.zxyw, -r12
  173.       dp3 r1.z, r11, r11
  174.       rsq r1.z, r1.z
  175.       mul r11.xzw, r1.z, r11.xyyz
  176.       mul r12.xyz, r0.yzxw, r11.wxzw
  177.       mad r0.xyz, r11.zwxw, r0.zxyw, -r12
  178.       dp3 r1.z, r0, r0
  179.       rsq r1.z, r1.z
  180.       mul r11.y, r0.x, r1.z
  181.       mov r8.y, r10.x
  182.       lrp r12, r3.z, r11, r8
  183.       mul r0.x, -r5.y, r12.x
  184.       mad r8.z, r5.x, r12.y, r0.x
  185.       mad r11, r0.yzyz, r1.z, -r10.yzyz
  186.       mad r10, r3.z, r11, r10.yzyz
  187.       mul r10, r5.yyxx, r10
  188.       mad r8.xy, -r5.y, r12.zwzw, r10.zwzw
  189.       mad r0.xz, r5.x, r12.wyzw, r10.yyxw
  190.       mul r5.xy, r5, r12
  191.       add r0.y, r5.y, r5.x
  192.       mul r5.xyz, r8, r0
  193.       mad r5.xyz, r0.zxyw, r8.yzxw, -r5
  194.       nrm r10.xyz, r5
  195.       dp3 r1.z, c4, r10
  196.       mul r1.x, r1.x, r2.w
  197.       add r2.w, r6.x, -c25.y
  198.       mul_sat r2.w, r2.w, c25.x
  199.       mad r2.w, r1.x, r2.w, -r1.x
  200.       mov r5.zw, c39
  201.       mul r5.xy, r5.zwzw, c18.x
  202.       frc r5.zw, r5.xyxy
  203.       add r5.xy, -r5.zwzw, r5
  204.       mul r5.xy, r5, c33.w
  205.       frc r5.xy, r5
  206.       slt r5.xy, -r5, r5
  207.       mad r1.x, r5.x, r2.w, r1.x
  208.       mad r2.w, r1_abs.z, c40.x, c40.y
  209.       mad r2.w, r2.w, r1_abs.z, c40.z
  210.       mad r2.w, r2.w, r1_abs.z, c40.w
  211.       add r1.z, -r1_abs.z, c33.x
  212.       rsq r1.z, r1.z
  213.       rcp r1.z, r1.z
  214.       mad r1.z, r2.w, r1.z, -c25.w
  215.       mul_sat r1.z, r1.z, c25.z
  216.       mad r1.z, r1.x, r1.z, -r1.x
  217.       mad o1.w, r5.y, r1.z, r1.x
  218.       mov r5.xyw, c33
  219.       add r1.x, -r5.x, c16.x
  220.       sge r1.x, -r1_abs.x, r1_abs.x
  221.       add r1.x, r1.x, r3.z
  222.       add r1.z, r1.w, r1.w
  223.       add r0.w, r0.w, -r1.z
  224.       if_lt -r1.x, r1.x
  225.         mova a0.x, r1.z
  226.         mova a0.y, r0.w
  227.         mov r10.xy, c33[a0.y]
  228.         mul r3.zw, r10.xyxy, c34[a0.x]
  229.         add r11.y, r3.w, r3.z
  230.         mul r3.zw, r10.xyxy, c33[a0.x]
  231.         add r11.x, r3.w, r3.z
  232.       else
  233.         add r1.z, r0.w, r1.w
  234.         mul r1.z, r1.z, c37.x
  235.         rcp r2.w, c17.x
  236.         mul r1.z, r1.z, r2.w
  237.         mad r1.z, r1.z, c37.y, c37.z
  238.         frc r1.z, r1.z
  239.         mad r1.z, r1.z, c37.x, c37.w
  240.         sincos r10.xy, r1.z
  241.         mul r11.xy, r10, c33.wzzw
  242.       endif
  243.       mul r1.yz, r1.y, r11.xxyw
  244.       mul r8.xyz, r8.zxyw, r1.z
  245.       mad r0.xyz, r1.y, r0.yzxw, r8
  246.       add r0.xyz, r0, r4
  247.       add r4.xyz, r9, r0
  248.       mul r7.xz, r3.xyyw, c33.w
  249.       mov r4.w, c33.x
  250.       dp4 o0.w, r4, c3
  251.       dp4 o0.z, r4, c2
  252.       if_lt -r1.x, r1.x
  253.         add r6.y, r0.w, c33.z
  254.       else
  255.         add r0.x, r0.w, r1.w
  256.         rcp r0.y, c17.x
  257.         mad r6.y, r0.x, r0.y, c33.z
  258.       endif
  259.       mov r0.xyz, c38
  260.       add r0.x, r0.x, c12.x
  261.       if_ge -r0_abs.x, r0_abs.x
  262.       else
  263.         add r0.xy, r0.yzzw, c12.x
  264.         sge r0.xy, -r0_abs, r0_abs
  265.         add r0.x, r0.y, r0.x
  266.         slt r0.x, -r0.x, r0.x
  267.         mul r0.yzw, r2.xxyz, c232.x
  268.         mad r1.xyz, r2, c239.y, -r0.yzww
  269.         mad r2.xyz, r0.x, r1, r0.yzww
  270.       endif
  271.       add r0.x, -r5.x, c13.x
  272.       if_ge -r0_abs.x, r0_abs.x
  273.         if_lt c234.w, r5.y
  274.           mov r0.xyz, c33.x
  275.           mov r1.xyz, c33.y
  276.         else
  277.           add r3.xyz, -r4, c7
  278.           dp3 r0.w, r3, r3
  279.           rsq r0.w, r0.w
  280.           mul r3.xyz, r0.w, r3
  281.           dp3 r1.w, r3, c233
  282.           add r2.w, r4.z, -c236.w
  283.           max r2.w, r2.w, c33.y
  284.           mov r3.w, c235.w
  285.           mad r3.x, c15.x, r1.w, r3.w
  286.           pow r5.x, r3.x, c39.y
  287.           rcp r0.w, r0.w
  288.           add r0.w, r0.w, c233.w
  289.           max r0.w, r0.w, c33.y
  290.           min r0.w, r0.w, c234.w
  291.           mov r3.w, c236.w
  292.           add r3.x, -r3.w, c7.z
  293.           max r3.x, r3.x, c33.y
  294.           mul r3.y, r3.x, c38.w
  295.           add r3.x, -r2.w, r3.x
  296.           mul r3.z, r3.x, r3.x
  297.           if_lt c39.x, r3.z
  298.             mul r2.w, r2.w, c38.w
  299.             rcp r3.x, r3.x
  300.             rcp r3.z, c238.w
  301.             mul r3.w, -r2.w, r3.z
  302.             exp r3.w, r3.w
  303.             mul r3.z, r3.z, -r3.y
  304.             exp r3.z, r3.z
  305.             add r3.z, -r3.w, r3.z
  306.             mul r3.z, r0.w, -r3.z
  307.             mul r3.z, r3.z, c238.w
  308.             mul r3.z, r3.x, r3.z
  309.             rcp r3.w, c237.w
  310.             mul r2.w, -r2.w, r3.w
  311.             exp r2.w, r2.w
  312.             mul r3.w, r3.w, -r3.y
  313.             exp r3.w, r3.w
  314.             add r2.w, -r2.w, r3.w
  315.             mul r2.w, r0.w, -r2.w
  316.             mul r2.w, r2.w, c237.w
  317.             mul r2.w, r3.x, r2.w
  318.             mul r8.xyz, r2.w, c236
  319.             mad r3.xzw, c235.xyyz, r3.z, r8.xyyz
  320.             exp r0.x, -r3.x
  321.             exp r0.y, -r3.z
  322.             exp r0.z, -r3.w
  323.           else
  324.             rcp r2.w, c238.w
  325.             mul r2.w, r2.w, -r3.y
  326.             exp r2.w, r2.w
  327.             mul r2.w, r0.w, r2.w
  328.             rcp r3.x, c237.w
  329.             mul r3.x, r3.x, -r3.y
  330.             exp r3.x, r3.x
  331.             mul r0.w, r0.w, r3.x
  332.             mul r3.xyz, r0.w, c236
  333.             mad r3.xyz, c235, r2.w, r3
  334.             exp r0.x, -r3.x
  335.             exp r0.y, -r3.y
  336.             exp r0.z, -r3.z
  337.           endif
  338.           mad r0.w, r1.w, r1.w, c33.x
  339.           mul r3.xyz, r5.x, c238
  340.           mad r3.xyz, c237, r0.w, r3
  341.           mul r3.xyz, r3, c234
  342.           add r8.xyz, -r0, c33.x
  343.           mul r1.xyz, r3, r8
  344.         endif
  345.         mul o1.xyz, r0, r2
  346.         mul r0.xyz, r1, c232.x
  347.       else
  348.         mov o1.xyz, r2
  349.         mov r0.xyz, c33.y
  350.       endif
  351.       mov r0.w, r7.x
  352.       mov o2, r0
  353.       dp4 o0.x, r4, c0
  354.       dp4 o0.y, r4, c1
  355.       mad r0.xy, r6, c20, r5.ywzw
  356.       mov r1.x, c23.x
  357.       mad r0.xy, r1.x, c21, r0
  358.       add r7.xy, r0, c22
  359.     endif
  360.     mov o3.xyz, r7
  361.     mov o3.w, c33.y
  362.  
  363. // approximately 299 instruction slots used
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement