12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- 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
- }
- }
- }
|