routes
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / std_alphatest.fs
1 out vec4 FragColor;
2
3 uniform sampler2D uTexGarbage;
4 uniform sampler2D uTexMain;
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
16 void main()
17 {
18 vec3 vfrag = vec3(0.5,0.5,0.5);
19 vec4 vsamplemain = texture( uTexMain, aUv );
20 vec3 qnorm = normalize(aNorm);
21
22 if( vsamplemain.a < 0.15 )
23 discard;
24
25 vfrag = vsamplemain.rgb;
26
27 if( g_light_preview == 1 )
28 {
29 vfrag = vec3(0.5);
30 }
31
32 // Lighting
33 vec3 halfview = uCamera - aWorldCo;
34 float fdist = length( halfview );
35 halfview /= fdist;
36
37 vfrag = do_light_diffuse( vfrag, qnorm );
38 vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 );
39 vfrag = do_light_shadowing( vfrag );
40 vfrag = apply_fog( vfrag, fdist );
41
42 FragColor = vec4(vfrag, 1.0);
43 }