少年修仙传客户端基础资源
leonard Wu
2018-08-09 a10eea6e4ce647061813519d5b0ea496f29495b9
Assets/Plugins/PostProcessing/Resources/Shaders/FXAA.shader
@@ -1,85 +1,85 @@
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
        }
    }
}
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
        }
    }
}