三国卡牌客户端基础资源仓库
hch
8 天以前 e35c8e096041b3cf97d91677bf8d6c4587223a9b
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
46
47
48
49
50
51
#ifndef SPRITE_SHADOWS_INCLUDED
#define SPRITE_SHADOWS_INCLUDED
 
#include "ShaderShared.cginc"
 
////////////////////////////////////////
// Vertex structs
//
 
struct vertexInput
{
    float4 vertex : POSITION;
    float4 texcoord : TEXCOORD0;
};
 
struct vertexOutput
    V2F_SHADOW_CASTER;
    float4 texcoordAndAlpha : TEXCOORD1;
};
 
////////////////////////////////////////
// Vertex program
//
 
vertexOutput vert(vertexInput v, float4 vertexColor : COLOR)
{
    vertexOutput o;
    TRANSFER_SHADOW_CASTER(o)
    o.texcoordAndAlpha.xy = calculateTextureCoord(v.texcoord);
    o.texcoordAndAlpha.z = 0;
    o.texcoordAndAlpha.a = vertexColor.a;
    return o;
}
 
////////////////////////////////////////
// Fragment program
//
 
 
uniform fixed _ShadowAlphaCutoff;
 
fixed4 frag(vertexOutput IN) : SV_Target
{
    fixed4 texureColor = calculateTexturePixel(IN.texcoordAndAlpha.xy);
    clip(texureColor.a * IN.texcoordAndAlpha.a - _ShadowAlphaCutoff);
    
    SHADOW_CASTER_FRAGMENT(IN)
}
 
#endif // SPRITE_SHADOWS_INCLUDED