df shadows
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / std_alphatest.fs
1 uniform sampler2D uTexGarbage;
2 uniform sampler2D uTexMain;
3 uniform vec3 uBoard0;
4 uniform vec3 uBoard1;
5 uniform vec3 uCamera;
6 uniform vec4 uPlane;
7
8 in vec4 aColour;
9 in vec2 aUv;
10 in vec3 aNorm;
11 in vec3 aCo;
12 in vec3 aWorldCo;
13
14 #include "common_world.glsl"
15 #include "motion_vectors_fs.glsl"
16
17 void main()
18 {
19 compute_motion_vectors();
20
21 vec3 vfrag = vec3(0.5,0.5,0.5);
22 vec4 vsamplemain = texture( uTexMain, aUv );
23 vec3 qnorm = normalize(aNorm);
24
25 if( vsamplemain.a < 0.15 )
26 discard;
27
28 vfrag = vsamplemain.rgb;
29
30 if( g_light_preview == 1 )
31 {
32 vfrag = vec3(0.5);
33 }
34
35 // Lighting
36 vec3 halfview = uCamera - aWorldCo;
37 float fdist = length( halfview );
38 halfview /= fdist;
39
40 vfrag = do_light_diffuse( vfrag, qnorm );
41 vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 );
42 vfrag = do_light_shadowing( vfrag );
43 vfrag = apply_fog( vfrag, fdist );
44
45 oColour = vec4(vfrag, 1.0);
46 }