X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fviewchar.fs;h=3c2936018f185e1afbd65ef197bb01332c9cf088;hb=2383f834f7c7890b12fd4fee9387f4cd3ca3b1e0;hp=92e11bed3ae2cfa943a08118b1dab41fe2625b3b;hpb=3ee65e6e24bfc39db7c7dd8c1f4cec3d5c42d0f8;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/viewchar.fs b/shaders/viewchar.fs index 92e11be..3c29360 100644 --- a/shaders/viewchar.fs +++ b/shaders/viewchar.fs @@ -1,7 +1,7 @@ -out vec4 FragColor; - uniform sampler2D uTexMain; uniform vec3 uCamera; +uniform vec3 uBoard0; +uniform vec3 uBoard1; in vec4 aColour; in vec2 aUv; @@ -10,22 +10,27 @@ 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; + fdist -= 0.08; - vfrag = do_light_diffuse( vfrag, aNorm ); - vfrag = do_light_spec( vfrag, aNorm, halfview, 0.1 ); + vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0); + + 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 ); - float opacity = clamp( fdist, 0.1, 1.0 ); - - FragColor = vec4(vfrag,opacity); + float opacity = clamp( fdist*fdist, 0.0, 1.0 ); + oColour = vec4(vfrag,opacity); }