mirror of
https://github.com/FriendshipIsEpic/FiE-Game.git
synced 2024-11-29 08:37:58 +01:00
212 lines
5.3 KiB
Text
212 lines
5.3 KiB
Text
Shader "Hidden/Post FX/Depth Of Field"
|
|
{
|
|
Properties
|
|
{
|
|
_MainTex ("", 2D) = "black"
|
|
}
|
|
|
|
CGINCLUDE
|
|
#pragma exclude_renderers d3d11_9x
|
|
ENDCG
|
|
|
|
// SubShader with SM 5.0 support
|
|
// Gather intrinsics are used to reduce texture sample count.
|
|
SubShader
|
|
{
|
|
Cull Off ZWrite Off ZTest Always
|
|
|
|
Pass // 0
|
|
{
|
|
Name "CoC Calculation"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragCoC
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 1
|
|
{
|
|
Name "CoC Temporal Filter"
|
|
CGPROGRAM
|
|
#pragma target 5.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragTempFilter
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 2
|
|
{
|
|
Name "Downsample and Prefilter"
|
|
CGPROGRAM
|
|
#pragma target 5.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragPrefilter
|
|
#pragma multi_compile __ UNITY_COLORSPACE_GAMMA
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 3
|
|
{
|
|
Name "Bokeh Filter (small)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_SMALL
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 4
|
|
{
|
|
Name "Bokeh Filter (medium)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_MEDIUM
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 5
|
|
{
|
|
Name "Bokeh Filter (large)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_LARGE
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 6
|
|
{
|
|
Name "Bokeh Filter (very large)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_VERYLARGE
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 7
|
|
{
|
|
Name "Postfilter"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragPostBlur
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
}
|
|
|
|
// Fallback SubShader with SM 3.0
|
|
SubShader
|
|
{
|
|
Cull Off ZWrite Off ZTest Always
|
|
|
|
Pass // 0
|
|
{
|
|
Name "CoC Calculation"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragCoC
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 1
|
|
{
|
|
Name "CoC Temporal Filter"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragTempFilter
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 2
|
|
{
|
|
Name "Downsample and Prefilter"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragPrefilter
|
|
#pragma multi_compile __ UNITY_COLORSPACE_GAMMA
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 3
|
|
{
|
|
Name "Bokeh Filter (small)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_SMALL
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 4
|
|
{
|
|
Name "Bokeh Filter (medium)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_MEDIUM
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 5
|
|
{
|
|
Name "Bokeh Filter (large)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_LARGE
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 6
|
|
{
|
|
Name "Bokeh Filter (very large)"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragBlur
|
|
#define KERNEL_VERYLARGE
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
|
|
Pass // 7
|
|
{
|
|
Name "Postfilter"
|
|
CGPROGRAM
|
|
#pragma target 3.0
|
|
#pragma vertex VertDOF
|
|
#pragma fragment FragPostBlur
|
|
#include "DepthOfField.cginc"
|
|
ENDCG
|
|
}
|
|
}
|
|
|
|
FallBack Off
|
|
}
|