X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fviewchar.fs;h=9c46328bb2c0b268b20e053732d14d02bbf7feeb;hb=15beb60ade240af4e00b0d204f7e89a4d35dca36;hp=ffc969db347a2ca5d72796e4f504899c52e485fa;hpb=3d5597be2fd4b5d9ea3bf8863e15cc9bc8123755;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/viewchar.fs b/shaders/viewchar.fs index ffc969d..9c46328 100644 --- a/shaders/viewchar.fs +++ b/shaders/viewchar.fs @@ -1,6 +1,7 @@ out vec4 FragColor; uniform sampler2D uTexMain; +uniform vec3 uCamera; in vec4 aColour; in vec2 aUv; @@ -15,14 +16,17 @@ void main() 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; - //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 ); + vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0); - FragColor = vec4(aNorm,1.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); }