mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-11-26 07:18:00 +01:00
123 lines
2.5 KiB
Text
123 lines
2.5 KiB
Text
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
|
|
}
|
|
}
|
|
}
|