123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120 |
- Shader "Hidden/Universal Render Pipeline/TemporalAA"
- {
- HLSLINCLUDE
- #pragma exclude_renderers gles
-
- #pragma multi_compile_fragment _ _ENABLE_ALPHA_OUTPUT
-
- #pragma vertex Vert
- #pragma fragment TaaFrag
- ENDHLSL
-
- SubShader
- {
- Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
- LOD 100
- ZTest Always ZWrite Off Blend Off Cull Off
-
- Pass
- {
- Name "TemporalAA - Accumulate - Quality Very Low"
-
- HLSLPROGRAM
- // User RGB color space for better perf. on low-end devices.
- #define TAA_YCOCG 0
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- return DoTemporalAA(input, 0, 0, 0, 0);
- }
-
- ENDHLSL
- }
-
- Pass
- {
- Name "TemporalAA - Accumulate - Quality Low"
-
- HLSLPROGRAM
- // User RGB color space for better perf.
- #define TAA_YCOCG 0
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- return DoTemporalAA(input, 0, 1, 1, 0);
- }
-
- ENDHLSL
- }
-
- Pass
- {
- Name "TemporalAA - Accumulate - Quality Medium"
-
- HLSLPROGRAM
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- return DoTemporalAA(input, 2, 2, 1, 0);
- }
-
- ENDHLSL
- }
-
- Pass
- {
- Name "TemporalAA - Accumulate - Quality High"
-
- HLSLPROGRAM
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- return DoTemporalAA(input, 2, 2, 2, 0);
- }
-
- ENDHLSL
- }
-
- Pass
- {
- Name "TemporalAA - Accumulate - Quality Very High"
-
- HLSLPROGRAM
- #pragma multi_compile_fragment _ TAA_LOW_PRECISION_SOURCE
-
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- #ifdef TAA_LOW_PRECISION_SOURCE
- // Use clamp instead of clip with low precision color sources to avoid flicker.
- return DoTemporalAA(input, 2, 2, 2, 1);
- #else
- return DoTemporalAA(input, 3, 2, 2, 1);
- #endif
- }
-
- ENDHLSL
- }
-
- Pass
- {
- Name "TemporalAA - Copy History"
-
- HLSLPROGRAM
-
- #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
-
- half4 TaaFrag(Varyings input) : SV_Target
- {
- return DoCopy(input);
- }
-
- ENDHLSL
- }
- }
- }
|