설명 없음
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

TemporalAA.shader 3.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120
  1. Shader "Hidden/Universal Render Pipeline/TemporalAA"
  2. {
  3. HLSLINCLUDE
  4. #pragma exclude_renderers gles
  5. #pragma multi_compile_fragment _ _ENABLE_ALPHA_OUTPUT
  6. #pragma vertex Vert
  7. #pragma fragment TaaFrag
  8. ENDHLSL
  9. SubShader
  10. {
  11. Tags { "RenderType" = "Opaque" "RenderPipeline" = "UniversalPipeline"}
  12. LOD 100
  13. ZTest Always ZWrite Off Blend Off Cull Off
  14. Pass
  15. {
  16. Name "TemporalAA - Accumulate - Quality Very Low"
  17. HLSLPROGRAM
  18. // User RGB color space for better perf. on low-end devices.
  19. #define TAA_YCOCG 0
  20. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  21. half4 TaaFrag(Varyings input) : SV_Target
  22. {
  23. return DoTemporalAA(input, 0, 0, 0, 0);
  24. }
  25. ENDHLSL
  26. }
  27. Pass
  28. {
  29. Name "TemporalAA - Accumulate - Quality Low"
  30. HLSLPROGRAM
  31. // User RGB color space for better perf.
  32. #define TAA_YCOCG 0
  33. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  34. half4 TaaFrag(Varyings input) : SV_Target
  35. {
  36. return DoTemporalAA(input, 0, 1, 1, 0);
  37. }
  38. ENDHLSL
  39. }
  40. Pass
  41. {
  42. Name "TemporalAA - Accumulate - Quality Medium"
  43. HLSLPROGRAM
  44. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  45. half4 TaaFrag(Varyings input) : SV_Target
  46. {
  47. return DoTemporalAA(input, 2, 2, 1, 0);
  48. }
  49. ENDHLSL
  50. }
  51. Pass
  52. {
  53. Name "TemporalAA - Accumulate - Quality High"
  54. HLSLPROGRAM
  55. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  56. half4 TaaFrag(Varyings input) : SV_Target
  57. {
  58. return DoTemporalAA(input, 2, 2, 2, 0);
  59. }
  60. ENDHLSL
  61. }
  62. Pass
  63. {
  64. Name "TemporalAA - Accumulate - Quality Very High"
  65. HLSLPROGRAM
  66. #pragma multi_compile_fragment _ TAA_LOW_PRECISION_SOURCE
  67. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  68. half4 TaaFrag(Varyings input) : SV_Target
  69. {
  70. #ifdef TAA_LOW_PRECISION_SOURCE
  71. // Use clamp instead of clip with low precision color sources to avoid flicker.
  72. return DoTemporalAA(input, 2, 2, 2, 1);
  73. #else
  74. return DoTemporalAA(input, 3, 2, 2, 1);
  75. #endif
  76. }
  77. ENDHLSL
  78. }
  79. Pass
  80. {
  81. Name "TemporalAA - Copy History"
  82. HLSLPROGRAM
  83. #include "Packages/com.unity.render-pipelines.universal/Shaders/PostProcessing/TemporalAA.hlsl"
  84. half4 TaaFrag(Varyings input) : SV_Target
  85. {
  86. return DoCopy(input);
  87. }
  88. ENDHLSL
  89. }
  90. }
  91. }