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