12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667 |
- Shader "Hidden/Universal Render Pipeline/Edge Adaptive Spatial Upsampling"
- {
- HLSLINCLUDE
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Common.hlsl"
- #include "Packages/com.unity.render-pipelines.core/ShaderLibrary/Filtering.hlsl"
- #include "Packages/com.unity.render-pipelines.universal/ShaderLibrary/Core.hlsl"
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/Common.hlsl"
-
- float4 _SourceSize;
-
- #define FSR_INPUT_TEXTURE _BlitTexture
- #define FSR_INPUT_SAMPLER sampler_LinearClamp
-
- #include "Packages/com.unity.render-pipelines.core/Runtime/PostProcessing/Shaders/FSRCommon.hlsl"
-
- half4 FragEASU(Varyings input) : SV_Target
- {
- UNITY_SETUP_STEREO_EYE_INDEX_POST_VERTEX(input);
-
- float2 uv = UnityStereoTransformScreenSpaceTex(input.texcoord);
- uint2 integerUv = uv * _ScreenParams.xy;
-
- half3 color = ApplyEASU(integerUv);
-
- // Convert to linearly encoded color before we pass our output over to RCAS
- #if UNITY_COLORSPACE_GAMMA
- color = GetSRGBToLinear(color);
- #else
- color = Gamma20ToLinear(color);
- #endif
-
- #if _ENABLE_ALPHA_OUTPUT
- half alpha = SAMPLE_TEXTURE2D_X_LOD(FSR_INPUT_TEXTURE, FSR_INPUT_SAMPLER, uv, 0.0).a;
- #else
- half alpha = 1.0;
- #endif
-
- return half4(color, alpha);
- }
-
- ENDHLSL
-
- /// Shader that performs the EASU (upscaling) component of the two part FidelityFX Super Resolution technique
- /// The second part of the technique (RCAS) is handled in the FinalPost shader
- /// Note: This shader requires shader target 4.5 because it relies on texture gather instructions
- SubShader
- {
- Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
- LOD 100
- ZTest Always ZWrite Off Cull Off
-
- Pass
- {
- Name "EASU"
-
- HLSLPROGRAM
- #pragma vertex Vert
- #pragma fragment FragEASU
- #pragma target 4.5
-
- #pragma multi_compile_local_fragment _ _ENABLE_ALPHA_OUTPUT
- ENDHLSL
- }
- }
-
- Fallback Off
- }
|