X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fviewchar.fs;h=fedd3e1172721a0976c524b4572861298e75a62b;hb=5ecf9cca8b5b9bf876d7e7c7fde03d5b187bb42b;hp=ffc969db347a2ca5d72796e4f504899c52e485fa;hpb=3d5597be2fd4b5d9ea3bf8863e15cc9bc8123755;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/viewchar.fs b/shaders/viewchar.fs index ffc969d..fedd3e1 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,18 @@ 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 = do_light_diffuse( vfrag, qnorm ); + 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); }