X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fviewchar.fs;h=f7e0370a06aeaa2c73a93d63198d166cef711968;hb=c52e639cdcf6d21f69caa9625238afded7513ca4;hp=ffc969db347a2ca5d72796e4f504899c52e485fa;hpb=3d5597be2fd4b5d9ea3bf8863e15cc9bc8123755;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/viewchar.fs b/shaders/viewchar.fs index ffc969d..f7e0370 100644 --- a/shaders/viewchar.fs +++ b/shaders/viewchar.fs @@ -1,6 +1,5 @@ -out vec4 FragColor; - uniform sampler2D uTexMain; +uniform vec3 uCamera; in vec4 aColour; in vec2 aUv; @@ -9,20 +8,26 @@ in vec3 aCo; in vec3 aWorldCo; #include "common_world.glsl" +#include "motion_vectors_fs.glsl" void main() { + compute_motion_vectors(); + vec3 vfrag = texture( uTexMain, aUv ).rgb; // Lighting - //vec3 halfview = uCamera - aWorldCo; - //float fdist = length( halfview ); - //halfview /= fdist; + vec3 halfview = uCamera - aWorldCo; + float fdist = length( halfview ); + halfview /= fdist; + + vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0); - //vfrag = do_light_diffuse( vfrag, aNorm ); - //vfrag = do_light_spec( vfrag, aNorm, halfview, 0.1 ); - //vfrag = do_light_shadowing( vfrag ); - //vfrag = apply_fog( vfrag, fdist ); + vfrag = mix( vfrag, do_light_diffuse( vfrag, qnorm ), 0.5 ); + //vfrag = do_light_spec( vfrag, qnorm, halfview, 0.1 ); + vfrag = do_light_shadowing( vfrag ); + vfrag = apply_fog( vfrag, fdist ); - FragColor = vec4(aNorm,1.0); + float opacity = clamp( fdist*fdist, 0.1, 1.0 ); + oColour = vec4(vfrag,opacity); }