123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123 |
- Shader "Hidden/Post FX/Motion Blur"
- {
- CGINCLUDE
- #pragma target 3.0
- ENDCG
- SubShader
- {
- Cull Off ZWrite Off ZTest Always
- // (0) Velocity texture setup
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertDefault
- #pragma fragment FragVelocitySetup
- ENDCG
- }
- // (1) TileMax filter (2 pixel width with normalization)
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertDefault
- #pragma fragment FragTileMax1
- ENDCG
- }
- // (2) TileMax filter (2 pixel width)
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertDefault
- #pragma fragment FragTileMax2
- ENDCG
- }
- // (3) TileMax filter (variable width)
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertDefault
- #pragma fragment FragTileMaxV
- ENDCG
- }
- // (4) NeighborMax filter
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertDefault
- #pragma fragment FragNeighborMax
- ENDCG
- }
- // (5) Reconstruction filter
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertMultitex
- #pragma fragment FragReconstruction
- ENDCG
- }
- // (6) Frame compression
- Pass
- {
- CGPROGRAM
- #pragma multi_compile __ UNITY_COLORSPACE_GAMMA
- #include "MotionBlur.cginc"
- #pragma vertex VertFrameCompress
- #pragma fragment FragFrameCompress
- ENDCG
- }
- // (7) Frame blending
- Pass
- {
- CGPROGRAM
- #pragma multi_compile __ UNITY_COLORSPACE_GAMMA
- #include "MotionBlur.cginc"
- #pragma vertex VertMultitex
- #pragma fragment FragFrameBlending
- ENDCG
- }
- // (8) Frame blending (without chroma subsampling)
- Pass
- {
- CGPROGRAM
- #include "MotionBlur.cginc"
- #pragma vertex VertMultitex
- #pragma fragment FragFrameBlendingRaw
- ENDCG
- }
- }
- }
|