92e11bed3ae2cfa943a08118b1dab41fe2625b3b
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / viewchar.fs
1 out vec4 FragColor;
2
3 uniform sampler2D uTexMain;
4 uniform vec3 uCamera;
5
6 in vec4 aColour;
7 in vec2 aUv;
8 in vec3 aNorm;
9 in vec3 aCo;
10 in vec3 aWorldCo;
11
12 #include "common_world.glsl"
13
14 void main()
15 {
16 vec3 vfrag = texture( uTexMain, aUv ).rgb;
17
18 // Lighting
19 vec3 halfview = uCamera - aWorldCo;
20 float fdist = length( halfview );
21 halfview /= fdist;
22
23 vfrag = do_light_diffuse( vfrag, aNorm );
24 vfrag = do_light_spec( vfrag, aNorm, halfview, 0.1 );
25 vfrag = do_light_shadowing( vfrag );
26 vfrag = apply_fog( vfrag, fdist );
27
28 float opacity = clamp( fdist, 0.1, 1.0 );
29
30 FragColor = vec4(vfrag,opacity);
31 }