FiE-Game/Assets/Standard Assets/Effects/ImageEffects/Shaders/_DepthOfField/Bokeh34.shader
2023-07-25 00:52:50 +05:00

79 lines
1.4 KiB
Text

Shader "Hidden/Dof/Bokeh34" {
Properties {
_MainTex ("Base (RGB)", 2D) = "white" {}
_Source ("Base (RGB)", 2D) = "black" {}
}
SubShader {
CGINCLUDE
#include "UnityCG.cginc"
sampler2D _MainTex;
sampler2D _Source;
uniform half4 _ArScale;
uniform half _Intensity;
uniform half4 _Source_TexelSize;
half4 _Source_ST;
struct v2f {
half4 pos : SV_POSITION;
half2 uv2 : TEXCOORD0;
half4 source : TEXCOORD1;
};
#define COC bokeh.a
v2f vert (appdata_full v)
{
v2f o;
o.pos = v.vertex;
o.uv2.xy = v.texcoord.xy;// * 2.0; <- needed when using Triangles.js and not Quads.js
#if UNITY_UV_STARTS_AT_TOP
float4 bokeh = tex2Dlod (_Source, half4 (UnityStereoScreenSpaceUVAdjust(v.texcoord1.xy * half2(1,-1) + half2(0,1), _Source_ST), 0, 0));
#else
float4 bokeh = tex2Dlod (_Source, half4 (UnityStereoScreenSpaceUVAdjust(v.texcoord1.xy, _Source_ST), 0, 0));
#endif
o.source = bokeh;
o.pos.xy += (v.texcoord.xy * 2.0 - 1.0) * _ArScale.xy * COC;// + _ArScale.zw * coc;
o.source.rgb *= _Intensity;
return o;
}
half4 frag (v2f i) : SV_Target
{
half4 color = tex2D (_MainTex, i.uv2.xy);
color.rgb *= i.source.rgb;
color.a *= Luminance(i.source.rgb*0.25);
return color;
}
ENDCG
Pass {
Blend OneMinusDstColor One
ZTest Always Cull Off ZWrite Off
CGPROGRAM
#pragma target 3.0
#pragma vertex vert
#pragma fragment frag
ENDCG
}
}
Fallback off
}