Advertisement
Guest User

Untitled

a guest
Feb 27th, 2017
218
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 14.99 KB | None | 0 0
  1. #include <metal_stdlib>
  2. #include <metal_texture>
  3. using namespace metal;
  4. struct Globals_Type
  5. {
  6.     float3 _WorldSpaceCameraPos;
  7.     half4 _WorldSpaceLightPos0;
  8.     half4 unity_SHAr;
  9.     half4 unity_SHAg;
  10.     half4 unity_SHAb;
  11.     half4 unity_OcclusionMaskSelector;
  12.     float4 hlslcc_mtx4x4unity_WorldToShadow[16];
  13.     half4 _LightShadowData;
  14.     float4 unity_ShadowFadeCenterAndType;
  15.     float4 hlslcc_mtx4x4unity_MatrixV[4];
  16.     half4 unity_SpecCube0_HDR;
  17.     float4 unity_ProbeVolumeParams;
  18.     float4 hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[4];
  19.     float3 unity_ProbeVolumeSizeInv;
  20.     float3 unity_ProbeVolumeMin;
  21.     half4 _LightColor0;
  22.     half4 _Color;
  23.     half _Metallic;
  24.     half _Glossiness;
  25.     half _OcclusionStrength;
  26. };
  27.  
  28. struct Mtl_FragmentIn
  29. {
  30.     float4 TEXCOORD0 [[ user(TEXCOORD0) ]] ;
  31.     half3 TEXCOORD1 [[ user(TEXCOORD1) ]] ;
  32.     half4 TEXCOORD2 [[ user(TEXCOORD2) ]] ;
  33.     half4 TEXCOORD3 [[ user(TEXCOORD3) ]] ;
  34.     half4 TEXCOORD4 [[ user(TEXCOORD4) ]] ;
  35.     half4 TEXCOORD5 [[ user(TEXCOORD5) ]] ;
  36. };
  37.  
  38. struct Mtl_FragmentOut
  39. {
  40.     half4 SV_Target0 [[ color(0) ]];
  41. };
  42.  
  43. constexpr sampler _mtl_xl_shadow_sampler(address::clamp_to_edge, filter::linear, compare_func::greater_equal);
  44. fragment Mtl_FragmentOut xlatMtlMain(
  45.     constant Globals_Type& Globals [[ buffer(0) ]],
  46.     sampler samplerunity_SpecCube0 [[ sampler (0) ]],
  47.     sampler samplerunity_ProbeVolumeSH [[ sampler (1) ]],
  48.     sampler sampler_MainTex [[ sampler (2) ]],
  49.     sampler sampler_OcclusionMap [[ sampler (3) ]],
  50.     sampler sampler_ShadowMapTexture [[ sampler (4) ]],
  51.     texture2d<half, access::sample > _MainTex [[ texture (0) ]] ,
  52.     texture2d<half, access::sample > _OcclusionMap [[ texture (1) ]] ,
  53.     texturecube<half, access::sample > unity_SpecCube0 [[ texture (2) ]] ,
  54.     texture3d<float, access::sample > unity_ProbeVolumeSH [[ texture (3) ]] ,
  55.     depth2d<float, access::sample > _ShadowMapTexture [[ texture (4) ]] ,
  56.     Mtl_FragmentIn input [[ stage_in ]])
  57. {
  58.     Mtl_FragmentOut output;
  59.     //--- Start Early Main ---
  60.     float4 u_xlat16_0;
  61.     float4 u_xlat1;
  62.     float4 u_xlat16_1;
  63.     bool u_xlatb1;
  64.     float3 u_xlat16_2;
  65.     float3 u_xlat16_3;
  66.     float3 u_xlat16_4;
  67.     float3 u_xlat16_5;
  68.     float4 u_xlat6;
  69.     float4 u_xlat16_6;
  70.     float4 u_xlat7;
  71.     float u_xlat16_8;
  72.     float3 u_xlat16_9;
  73.     float3 u_xlat16_10;
  74.     float3 u_xlat12;
  75.     float u_xlat16_12;
  76.     bool u_xlatb12;
  77.     float3 u_xlat16_15;
  78.     float3 u_xlat16_16;
  79.     float u_xlat18;
  80.     float3 u_xlat16_19;
  81.     float u_xlat23;
  82.     float u_xlat16_23;
  83.     bool u_xlatb23;
  84.     float u_xlat16_26;
  85.     float u_xlat34;
  86.     float u_xlat16_35;
  87.     float u_xlat16_36;
  88.     float u_xlat16_37;
  89.     //--- End Early Main ---
  90.     //SAMPLE
  91.     u_xlat16_0.xyz = float3(_MainTex.sample(sampler_MainTex, input.TEXCOORD0.xy).xyz);
  92.     //MUL
  93.     u_xlat16_1.xyz = float3(u_xlat16_0.xyz * float3(Globals._Color.xyz));
  94.     //MAD
  95.     u_xlat16_2.xyz = float3(float3(Globals._Color.xyz) * float3(u_xlat16_0.xyz) + float3(-0.220916301, -0.220916301, -0.220916301));
  96.     //MAD
  97.     u_xlat16_2.xyz = float3(float3(Globals._Metallic) * float3(u_xlat16_2.xyz) + float3(0.220916301, 0.220916301, 0.220916301));
  98.     //MAD
  99.     u_xlat16_35 = float((-float(Globals._Metallic)) * 0.779083729 + 0.779083729);
  100.     //MUL
  101.     u_xlat16_3.xyz = float3(u_xlat16_1.xyz * float3(u_xlat16_35));
  102.     //DP3
  103.     u_xlat16_36 = dot(input.TEXCOORD4.xyz, input.TEXCOORD4.xyz);
  104.     //RSQ
  105.     u_xlat16_36 = rsqrt(u_xlat16_36);
  106.     //MUL
  107.     u_xlat16_0.xyz = float3(float3(u_xlat16_36) * float3(input.TEXCOORD4.xyz));
  108.     //DP3
  109.     u_xlat16_36 = dot(input.TEXCOORD1.xyz, input.TEXCOORD1.xyz);
  110.     //RSQ
  111.     u_xlat16_36 = rsqrt(u_xlat16_36);
  112.     //MUL
  113.     u_xlat16_4.xyz = float3(float3(u_xlat16_36) * float3(input.TEXCOORD1.xyz));
  114.     //MOV
  115.     u_xlat16_16.x = input.TEXCOORD2.w;
  116.     //MOV
  117.     u_xlat16_16.y = input.TEXCOORD3.w;
  118.     //MOV
  119.     u_xlat16_16.z = input.TEXCOORD4.w;
  120.     //ADD
  121.     u_xlat1.xyz = (-float3(u_xlat16_16.xyz)) + Globals._WorldSpaceCameraPos.xyzx.xyz;
  122.     //MOV
  123.     u_xlat6.x = Globals.hlslcc_mtx4x4unity_MatrixV[0].z;
  124.     //MOV
  125.     u_xlat6.y = Globals.hlslcc_mtx4x4unity_MatrixV[1].z;
  126.     //MOV
  127.     u_xlat6.z = Globals.hlslcc_mtx4x4unity_MatrixV[2].z;
  128.     //DP3
  129.     u_xlat1.x = dot(u_xlat1.xyz, u_xlat6.xyz);
  130.     //ADD
  131.     u_xlat12.xyz = float3(u_xlat16_16.xyz) + (-Globals.unity_ShadowFadeCenterAndType.xyz);
  132.     //DP3
  133.     u_xlat12.x = dot(u_xlat12.xyz, u_xlat12.xyz);
  134.     //SQRT
  135.     u_xlat12.x = sqrt(u_xlat12.x);
  136.     //ADD
  137.     u_xlat12.x = (-u_xlat1.x) + u_xlat12.x;
  138.     //MAD
  139.     u_xlat1.x = Globals.unity_ShadowFadeCenterAndType.w * u_xlat12.x + u_xlat1.x;
  140.     //MAD
  141.     u_xlat1.x = u_xlat1.x * float(Globals._LightShadowData.z) + float(Globals._LightShadowData.w);
  142.     u_xlat1.x = clamp(u_xlat1.x, 0.0f, 1.0f);
  143.     //EQ
  144.     u_xlatb12 = Globals.unity_ProbeVolumeParams.x==1.0;
  145.     //IF
  146.     if(u_xlatb12){
  147.         //EQ
  148.         u_xlatb23 = Globals.unity_ProbeVolumeParams.y==1.0;
  149.         //MUL
  150.         u_xlat6.xyz = float3(input.TEXCOORD3.www) * Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[1].xyz;
  151.         //MAD
  152.         u_xlat6.xyz = Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[0].xyz * float3(input.TEXCOORD2.www) + u_xlat6.xyz;
  153.         //MAD
  154.         u_xlat6.xyz = Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[2].xyz * float3(input.TEXCOORD4.www) + u_xlat6.xyz;
  155.         //ADD
  156.         u_xlat6.xyz = u_xlat6.xyz + Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[3].xyz;
  157.         //MOVC
  158.         u_xlat6.xyz = (bool(u_xlatb23)) ? u_xlat6.xyz : float3(u_xlat16_16.xyz);
  159.         //ADD
  160.         u_xlat6.xyz = u_xlat6.xyz + (-Globals.unity_ProbeVolumeMin.xyzx.xyz);
  161.         //MUL
  162.         u_xlat6.yzw = u_xlat6.xyz * Globals.unity_ProbeVolumeSizeInv.xyzx.xyz;
  163.         //MAD
  164.         u_xlat23 = u_xlat6.y * 0.25 + 0.75;
  165.         //MAD
  166.         u_xlat34 = Globals.unity_ProbeVolumeParams.z * 0.5 + 0.75;
  167.         //MAX
  168.         u_xlat6.x = max(u_xlat34, u_xlat23);
  169.         //SAMPLE
  170.         u_xlat6 = unity_ProbeVolumeSH.sample(samplerunity_ProbeVolumeSH, u_xlat6.xzw);
  171.         //MOV
  172.         u_xlat16_6 = float4(u_xlat6);
  173.     //ELSE
  174.     } else {
  175.         //MOV
  176.         u_xlat16_6.x = float(1.0);
  177.         //MOV
  178.         u_xlat16_6.y = float(1.0);
  179.         //MOV
  180.         u_xlat16_6.z = float(1.0);
  181.         //MOV
  182.         u_xlat16_6.w = float(1.0);
  183.     //ENDIF
  184.     }
  185.     //DP4
  186.     u_xlat16_37 = dot(u_xlat16_6, float4(Globals.unity_OcclusionMaskSelector));
  187.     u_xlat16_37 = clamp(u_xlat16_37, 0.0f, 1.0f);
  188.     //MUL
  189.     u_xlat7.xyz = float3(input.TEXCOORD3.www) * Globals.hlslcc_mtx4x4unity_WorldToShadow[1].xyz;
  190.     //MAD
  191.     u_xlat7.xyz = Globals.hlslcc_mtx4x4unity_WorldToShadow[0].xyz * float3(input.TEXCOORD2.www) + u_xlat7.xyz;
  192.     //MAD
  193.     u_xlat7.xyz = Globals.hlslcc_mtx4x4unity_WorldToShadow[2].xyz * float3(input.TEXCOORD4.www) + u_xlat7.xyz;
  194.     //ADD
  195.     u_xlat7.xyz = u_xlat7.xyz + Globals.hlslcc_mtx4x4unity_WorldToShadow[3].xyz;
  196.     //SAMPLE_C_LZ
  197.     u_xlat16_23 = _ShadowMapTexture.sample_compare(_mtl_xl_shadow_sampler, u_xlat7.xy, saturate(u_xlat7.z), level(0.0));
  198.     //ADD
  199.     u_xlat16_5.x = float((-float(Globals._LightShadowData.x)) + 1.0);
  200.     //MAD
  201.     u_xlat16_5.x = float(u_xlat16_23 * u_xlat16_5.x + Globals._LightShadowData.x);
  202.     //ADD
  203.     u_xlat16_5.x = float(u_xlat1.x + float(u_xlat16_5.x));
  204.     u_xlat16_5.x = clamp(u_xlat16_5.x, 0.0f, 1.0f);
  205.     //MIN
  206.     u_xlat16_37 = min(u_xlat16_37, u_xlat16_5.x);
  207.     //MOVC
  208.     u_xlat16_37 = (u_xlatb12) ? u_xlat16_37 : u_xlat16_5.x;
  209.     //SAMPLE
  210.     u_xlat16_1.x = _OcclusionMap.sample(sampler_OcclusionMap, input.TEXCOORD0.xy).y;
  211.     //ADD
  212.     u_xlat16_5.x = float((-float(Globals._OcclusionStrength)) + 1.0);
  213.     //MAD
  214.     u_xlat16_5.x = float(u_xlat16_1.x * Globals._OcclusionStrength + u_xlat16_5.x);
  215.     //ADD
  216.     u_xlat16_8 = float((-float(Globals._Glossiness)) + 1.0);
  217.     //DP3
  218.     u_xlat16_19.x = dot(u_xlat16_4.xyz, u_xlat16_0.xyz);
  219.     //ADD
  220.     u_xlat16_19.x = float(u_xlat16_19.x + u_xlat16_19.x);
  221.     //MAD
  222.     u_xlat16_19.xyz = float3(u_xlat16_0.xyz * (-u_xlat16_19.xxx) + u_xlat16_4.xyz);
  223.     //MUL
  224.     u_xlat16_9.xyz = float3(float3(u_xlat16_37) * float3(Globals._LightColor0.xyz));
  225.     //IF
  226.     if(u_xlatb12){
  227.         //EQ
  228.         u_xlatb1 = Globals.unity_ProbeVolumeParams.y==1.0;
  229.         //MUL
  230.         u_xlat12.xyz = float3(input.TEXCOORD3.www) * Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[1].xyz;
  231.         //MAD
  232.         u_xlat12.xyz = Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[0].xyz * float3(input.TEXCOORD2.www) + u_xlat12.xyz;
  233.         //MAD
  234.         u_xlat12.xyz = Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[2].xyz * float3(input.TEXCOORD4.www) + u_xlat12.xyz;
  235.         //ADD
  236.         u_xlat12.xyz = u_xlat12.xyz + Globals.hlslcc_mtx4x4unity_ProbeVolumeWorldToObject[3].xyz;
  237.         //MOVC
  238.         u_xlat1.xyz = (bool(u_xlatb1)) ? u_xlat12.xyz : float3(u_xlat16_16.xyz);
  239.         //ADD
  240.         u_xlat1.xyz = u_xlat1.xyz + (-Globals.unity_ProbeVolumeMin.xyzx.xyz);
  241.         //MUL
  242.         u_xlat1.yzw = u_xlat1.xyz * Globals.unity_ProbeVolumeSizeInv.xyzx.xyz;
  243.         //MUL
  244.         u_xlat12.x = u_xlat1.y * 0.25;
  245.         //MUL
  246.         u_xlat7.x = Globals.unity_ProbeVolumeParams.z * 0.5;
  247.         //MAD
  248.         u_xlat18 = (-Globals.unity_ProbeVolumeParams.z) * 0.5 + 0.25;
  249.         //MAX
  250.         u_xlat12.x = max(u_xlat12.x, u_xlat7.x);
  251.         //MIN
  252.         u_xlat1.x = min(u_xlat18, u_xlat12.x);
  253.         //SAMPLE
  254.         u_xlat6 = unity_ProbeVolumeSH.sample(samplerunity_ProbeVolumeSH, u_xlat1.xzw);
  255.         //ADD
  256.         u_xlat7.xyz = u_xlat1.xzw + float3(0.25, 0.0, 0.0);
  257.         //SAMPLE
  258.         u_xlat7 = unity_ProbeVolumeSH.sample(samplerunity_ProbeVolumeSH, u_xlat7.xyz);
  259.         //ADD
  260.         u_xlat1.xyz = u_xlat1.xzw + float3(0.5, 0.0, 0.0);
  261.         //SAMPLE
  262.         u_xlat1 = unity_ProbeVolumeSH.sample(samplerunity_ProbeVolumeSH, u_xlat1.xyz);
  263.         //MOV
  264.         u_xlat16_0.w = 1.0;
  265.         //DP4
  266.         u_xlat16_10.x = half(dot(u_xlat6, float4(u_xlat16_0)));
  267.         //DP4
  268.         u_xlat16_10.y = half(dot(u_xlat7, float4(u_xlat16_0)));
  269.         //DP4
  270.         u_xlat16_10.z = half(dot(u_xlat1, float4(u_xlat16_0)));
  271.     //ELSE
  272.     } else {
  273.         //MOV
  274.         u_xlat16_0.w = 1.0;
  275.         //DP4
  276.         u_xlat16_10.x = dot(float4(Globals.unity_SHAr), u_xlat16_0);
  277.         //DP4
  278.         u_xlat16_10.y = dot(float4(Globals.unity_SHAg), u_xlat16_0);
  279.         //DP4
  280.         u_xlat16_10.z = dot(float4(Globals.unity_SHAb), u_xlat16_0);
  281.     //ENDIF
  282.     }
  283.     //ADD
  284.     u_xlat16_16.xyz = float3(u_xlat16_10.xyz + float3(input.TEXCOORD5.xyz));
  285.     //MAX
  286.     u_xlat16_16.xyz = float3(max(float3(u_xlat16_16.xyz), float3(0.0, 0.0, 0.0)));
  287.     //LOG
  288.     u_xlat16_1.xyz = log2(u_xlat16_16.xyz);
  289.     //MUL
  290.     u_xlat16_1.xyz = float3(float3(u_xlat16_1.xyz) * float3(0.416666657, 0.416666657, 0.416666657));
  291.     //EXP
  292.     u_xlat16_1.xyz = exp2(u_xlat16_1.xyz);
  293.     //MAD
  294.     u_xlat16_1.xyz = float3(float3(u_xlat16_1.xyz) * float3(1.05499995, 1.05499995, 1.05499995) + float3(-0.0549999997, -0.0549999997, -0.0549999997));
  295.     //MAX
  296.     u_xlat16_1.xyz = float3(max(float3(u_xlat16_1.xyz), float3(0.0, 0.0, 0.0)));
  297.     //MUL
  298.     u_xlat16_16.xyz = float3(u_xlat16_5.xxx * u_xlat16_1.xyz);
  299.     //MAD
  300.     u_xlat16_37 = float((-float(u_xlat16_8)) * 0.699999988 + 1.70000005);
  301.     //MUL
  302.     u_xlat16_37 = float(u_xlat16_37 * u_xlat16_8);
  303.     //MUL
  304.     u_xlat16_37 = float(float(u_xlat16_37) * 6.0);
  305.     //SAMPLE_L
  306.     u_xlat16_1 = float4(unity_SpecCube0.sample(samplerunity_SpecCube0, float3(u_xlat16_19.xyz), level(float(u_xlat16_37))));
  307.     //ADD
  308.     u_xlat16_37 = float(float(u_xlat16_1.w) + -1.0);
  309.     //MAD
  310.     u_xlat16_37 = float(float(Globals.unity_SpecCube0_HDR.w) * float(u_xlat16_37) + 1.0);
  311.     //MUL
  312.     u_xlat16_37 = float(u_xlat16_37 * Globals.unity_SpecCube0_HDR.x);
  313.     //MUL
  314.     u_xlat16_19.xyz = float3(u_xlat16_1.xyz * float3(u_xlat16_37));
  315.     //MUL
  316.     u_xlat16_19.xyz = float3(u_xlat16_5.xxx * u_xlat16_19.xyz);
  317.     //MAD
  318.     u_xlat16_10.xyz = float3(float3(-input.TEXCOORD1.xyz) * float3(u_xlat16_36) + float3(Globals._WorldSpaceLightPos0.xyz));
  319.     //DP3
  320.     u_xlat16_36 = dot(u_xlat16_10.xyz, u_xlat16_10.xyz);
  321.     //MAX
  322.     u_xlat16_1.x = float(max(float(u_xlat16_36), 0.00100000005));
  323.     //RSQ
  324.     u_xlat16_36 = rsqrt(u_xlat16_1.x);
  325.     //MUL
  326.     u_xlat16_10.xyz = float3(float3(u_xlat16_36) * u_xlat16_10.xyz);
  327.     //DP3
  328.     u_xlat16_36 = dot(u_xlat16_0.xyz, float3(Globals._WorldSpaceLightPos0.xyz));
  329.     u_xlat16_36 = clamp(u_xlat16_36, 0.0f, 1.0f);
  330.     //DP3
  331.     u_xlat16_37 = dot(u_xlat16_0.xyz, u_xlat16_10.xyz);
  332.     u_xlat16_37 = clamp(u_xlat16_37, 0.0f, 1.0f);
  333.     //DP3
  334.     u_xlat16_4.x = dot(u_xlat16_0.xyz, (-u_xlat16_4.xyz));
  335.     u_xlat16_4.x = clamp(u_xlat16_4.x, 0.0f, 1.0f);
  336.     //DP3
  337.     u_xlat16_15.x = dot(float3(Globals._WorldSpaceLightPos0.xyz), u_xlat16_10.xyz);
  338.     u_xlat16_15.x = clamp(u_xlat16_15.x, 0.0f, 1.0f);
  339.     //MUL
  340.     u_xlat16_26 = float(u_xlat16_8 * u_xlat16_8);
  341.     //MUL
  342.     u_xlat16_37 = float(u_xlat16_37 * u_xlat16_37);
  343.     //MAD
  344.     u_xlat16_1.x = float(float(u_xlat16_26) * float(u_xlat16_26) + -1.0);
  345.     //MAD
  346.     u_xlat16_1.x = float(float(u_xlat16_37) * float(u_xlat16_1.x) + 1.00001001);
  347.     //MAX
  348.     u_xlat16_12 = float(max(float(u_xlat16_15.x), 0.319999993));
  349.     //MAD
  350.     u_xlat16_23 = float(float(u_xlat16_8) * float(u_xlat16_8) + 1.5);
  351.     //MUL
  352.     u_xlat16_12 = float(u_xlat16_23 * u_xlat16_12);
  353.     //MUL
  354.     u_xlat16_1.x = float(u_xlat16_1.x * u_xlat16_12);
  355.     //DIV
  356.     u_xlat16_1.x = float(u_xlat16_26 / u_xlat16_1.x);
  357.     //ADD
  358.     u_xlat16_1.x = float(float(u_xlat16_1.x) + -9.99999975e-05);
  359.     //MAX
  360.     u_xlat16_15.x = float(max(float(u_xlat16_1.x), 0.0));
  361.     //MIN
  362.     u_xlat16_15.x = float(min(float(u_xlat16_15.x), 100.0));
  363.     //MUL
  364.     u_xlat16_26 = float(u_xlat16_8 * u_xlat16_26);
  365.     //MAD
  366.     u_xlat16_26 = float((-float(u_xlat16_26)) * 0.280000001 + 1.0);
  367.     //ADD
  368.     u_xlat16_35 = float((-u_xlat16_35) + Globals._Glossiness);
  369.     //ADD
  370.     u_xlat16_35 = float(float(u_xlat16_35) + 1.0);
  371.     u_xlat16_35 = clamp(u_xlat16_35, 0.0f, 1.0f);
  372.     //MAD
  373.     u_xlat16_10.xyz = float3(u_xlat16_15.xxx * u_xlat16_2.xyz + u_xlat16_3.xyz);
  374.     //MUL
  375.     u_xlat16_9.xyz = float3(u_xlat16_9.xyz * u_xlat16_10.xyz);
  376.     //MUL
  377.     u_xlat16_3.xyz = float3(u_xlat16_3.xyz * u_xlat16_16.xyz);
  378.     //MAD
  379.     u_xlat16_3.xyz = float3(u_xlat16_9.xyz * float3(u_xlat16_36) + u_xlat16_3.xyz);
  380.     //MUL
  381.     u_xlat16_15.xyz = float3(u_xlat16_19.xyz * float3(u_xlat16_26));
  382.     //ADD
  383.     u_xlat16_36 = float((-float(u_xlat16_4.x)) + 1.0);
  384.     //MUL
  385.     u_xlat16_36 = float(u_xlat16_36 * u_xlat16_36);
  386.     //MUL
  387.     u_xlat16_36 = float(u_xlat16_36 * u_xlat16_36);
  388.     //ADD
  389.     u_xlat16_5.xyz = float3((-u_xlat16_2.xyz) + float3(u_xlat16_35));
  390.     //MAD
  391.     u_xlat16_2.xyz = float3(float3(u_xlat16_36) * u_xlat16_5.xyz + u_xlat16_2.xyz);
  392.     //MAD
  393.     output.SV_Target0.xyz = half3(u_xlat16_15.xyz * u_xlat16_2.xyz + u_xlat16_3.xyz);
  394.     //MOV
  395.     output.SV_Target0.w = 1.0;
  396.     //RET
  397.     return output;
  398. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement