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.

123 lines
2.5 KiB

  1. Shader "Hidden/Post FX/Motion Blur"
  2. {
  3. CGINCLUDE
  4. #pragma target 3.0
  5. ENDCG
  6. SubShader
  7. {
  8. Cull Off ZWrite Off ZTest Always
  9. // (0) Velocity texture setup
  10. Pass
  11. {
  12. CGPROGRAM
  13. #include "MotionBlur.cginc"
  14. #pragma vertex VertDefault
  15. #pragma fragment FragVelocitySetup
  16. ENDCG
  17. }
  18. // (1) TileMax filter (2 pixel width with normalization)
  19. Pass
  20. {
  21. CGPROGRAM
  22. #include "MotionBlur.cginc"
  23. #pragma vertex VertDefault
  24. #pragma fragment FragTileMax1
  25. ENDCG
  26. }
  27. // (2) TileMax filter (2 pixel width)
  28. Pass
  29. {
  30. CGPROGRAM
  31. #include "MotionBlur.cginc"
  32. #pragma vertex VertDefault
  33. #pragma fragment FragTileMax2
  34. ENDCG
  35. }
  36. // (3) TileMax filter (variable width)
  37. Pass
  38. {
  39. CGPROGRAM
  40. #include "MotionBlur.cginc"
  41. #pragma vertex VertDefault
  42. #pragma fragment FragTileMaxV
  43. ENDCG
  44. }
  45. // (4) NeighborMax filter
  46. Pass
  47. {
  48. CGPROGRAM
  49. #include "MotionBlur.cginc"
  50. #pragma vertex VertDefault
  51. #pragma fragment FragNeighborMax
  52. ENDCG
  53. }
  54. // (5) Reconstruction filter
  55. Pass
  56. {
  57. CGPROGRAM
  58. #include "MotionBlur.cginc"
  59. #pragma vertex VertMultitex
  60. #pragma fragment FragReconstruction
  61. ENDCG
  62. }
  63. // (6) Frame compression
  64. Pass
  65. {
  66. CGPROGRAM
  67. #pragma multi_compile __ UNITY_COLORSPACE_GAMMA
  68. #include "MotionBlur.cginc"
  69. #pragma vertex VertFrameCompress
  70. #pragma fragment FragFrameCompress
  71. ENDCG
  72. }
  73. // (7) Frame blending
  74. Pass
  75. {
  76. CGPROGRAM
  77. #pragma multi_compile __ UNITY_COLORSPACE_GAMMA
  78. #include "MotionBlur.cginc"
  79. #pragma vertex VertMultitex
  80. #pragma fragment FragFrameBlending
  81. ENDCG
  82. }
  83. // (8) Frame blending (without chroma subsampling)
  84. Pass
  85. {
  86. CGPROGRAM
  87. #include "MotionBlur.cginc"
  88. #pragma vertex VertMultitex
  89. #pragma fragment FragFrameBlendingRaw
  90. ENDCG
  91. }
  92. }
  93. }