Shader "Hidden/Post FX/FXAA" 
 | 
{ 
 | 
    Properties 
 | 
    { 
 | 
        _MainTex ("Texture", 2D) = "white" {} 
 | 
    } 
 | 
  
 | 
    CGINCLUDE 
 | 
  
 | 
        #include "UnityCG.cginc" 
 | 
        #include "Common.cginc" 
 | 
        #include "UberSecondPass.cginc" 
 | 
        #pragma multi_compile __ GRAIN 
 | 
        #pragma multi_compile __ DITHERING 
 | 
  
 | 
        #if defined(SHADER_API_PS3) 
 | 
            #define FXAA_PS3 1 
 | 
  
 | 
            // Shaves off 2 cycles from the shader 
 | 
            #define FXAA_EARLY_EXIT 0 
 | 
        #elif defined(SHADER_API_XBOX360) 
 | 
            #define FXAA_360 1 
 | 
  
 | 
            // Shaves off 10ms from the shader's execution time 
 | 
            #define FXAA_EARLY_EXIT 1 
 | 
        #else 
 | 
            #define FXAA_PC 1 
 | 
        #endif 
 | 
  
 | 
        #define FXAA_HLSL_3 1 
 | 
        #define FXAA_QUALITY__PRESET 39 
 | 
  
 | 
        #define FXAA_GREEN_AS_LUMA 1 
 | 
  
 | 
        #pragma target 3.0 
 | 
        #include "FXAA3.cginc" 
 | 
  
 | 
        float3 _QualitySettings; 
 | 
        float4 _ConsoleSettings; 
 | 
  
 | 
        half4 Frag(VaryingsDefault i) : SV_Target 
 | 
        { 
 | 
            const float4 consoleUV = i.uv.xyxy + 0.5 * float4(-_MainTex_TexelSize.xy, _MainTex_TexelSize.xy); 
 | 
            const float4 consoleSubpixelFrame = _ConsoleSettings.x * float4(-1.0, -1.0, 1.0, 1.0) * 
 | 
                _MainTex_TexelSize.xyxy; 
 | 
  
 | 
            const float4 consoleSubpixelFramePS3 = float4(-2.0, -2.0, 2.0, 2.0) * _MainTex_TexelSize.xyxy; 
 | 
            const float4 consoleSubpixelFrameXBOX = float4(8.0, 8.0, -4.0, -4.0) * _MainTex_TexelSize.xyxy; 
 | 
  
 | 
        #if defined(SHADER_API_XBOX360) 
 | 
            const float4 consoleConstants = float4(1.0, -1.0, 0.25, -0.25); 
 | 
        #else 
 | 
            const float4 consoleConstants = float4(0.0, 0.0, 0.0, 0.0); 
 | 
        #endif 
 | 
  
 | 
            half4 color = FxaaPixelShader( 
 | 
                UnityStereoScreenSpaceUVAdjust(i.uv, _MainTex_ST), 
 | 
                UnityStereoScreenSpaceUVAdjust(consoleUV, _MainTex_ST), 
 | 
                _MainTex, _MainTex, _MainTex, _MainTex_TexelSize.xy, 
 | 
                consoleSubpixelFrame, consoleSubpixelFramePS3, consoleSubpixelFrameXBOX, 
 | 
                _QualitySettings.x, _QualitySettings.y, _QualitySettings.z, 
 | 
                _ConsoleSettings.y, _ConsoleSettings.z, _ConsoleSettings.w, consoleConstants); 
 | 
  
 | 
            color.rgb = UberSecondPass(color.rgb, i.uv); 
 | 
  
 | 
            return half4(color.rgb, 1.0); 
 | 
        } 
 | 
  
 | 
    ENDCG 
 | 
  
 | 
    SubShader 
 | 
    { 
 | 
        Cull Off ZWrite Off ZTest Always 
 | 
  
 | 
        Pass 
 | 
        { 
 | 
            CGPROGRAM 
 | 
  
 | 
                #pragma vertex VertDefault 
 | 
                #pragma fragment Frag 
 | 
  
 | 
            ENDCG 
 | 
        } 
 | 
    } 
 | 
} 
 |