summaryrefslogtreecommitdiff
path: root/Assets/Bundle/Shaders/Common/Image/ImageEffect.cginc
blob: ede53e55d68e803a6786be19f95017f1bf6d9b46 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
// UnitLensEffect效果相关

sampler2D _MainTex;
float4 _MainTex_ST;

sampler2D _CameraDepthTexture;
float4 _CameraDepthTexture_ST;

sampler2D _UnitDepthTexture; // 配合_CameraDepthTexture定位角色
float4 _UnitDepthTexture_ST;

sampler2D _UnitWorldNormalTexture;
float4 _UnitWorldNormalTexture_ST;

sampler2D _UnitMotionVectorTexture;
float4 _UnitMotionVectorTexture_ST;

float4 _UnitTileOffset;

// 只对一小部分进行后处理
float4 CalculateUnitTillOfssetVertex(float4 vert) 
{
	float4 v = float4(vert.xy * _UnitTileOffset.xy + _UnitTileOffset.zw, 0, 1);
	v.xy = v.xy * 2 - float2(1,1);
	return v;
}

fixed2 CalculateUnitTillOfssetUV(fixed2 uv0) 
{
	return uv0 * _UnitTileOffset.xy + _UnitTileOffset.zw;
}

struct image_v2f
{
	float2 uv : TEXCOORD0;
	float4 vertex : SV_POSITION;
};

image_v2f image_vert(appdata_img v)
{
	image_v2f o;
	o.vertex = CalculateUnitTillOfssetVertex(v.vertex);
	o.uv = CalculateUnitTillOfssetUV(TRANSFORM_TEX(v.texcoord, _MainTex));
	return o;
}