X-Git-Url: https://harrygodden.com/git/?a=blobdiff_plain;f=shaders%2Fmodel_character_view.fs;h=4e91e921516de0b4bfda63bc21f7b9354195f28a;hb=620beae94b362ae4d4c42e5ba3329a6211d67a8f;hp=8bf29bcf899b9ba1700bc79750c269f7502b2fcc;hpb=aa4c26eae2208872824e0eb5b71bc05c16d43242;p=carveJwlIkooP6JGAAIwe30JlM.git diff --git a/shaders/model_character_view.fs b/shaders/model_character_view.fs index 8bf29bc..4e91e92 100644 --- a/shaders/model_character_view.fs +++ b/shaders/model_character_view.fs @@ -1,7 +1,5 @@ uniform sampler2D uTexMain; uniform vec3 uCamera; -uniform vec3 uBoard0; -uniform vec3 uBoard1; in vec4 aColour; in vec2 aUv; @@ -16,24 +14,12 @@ void main() { compute_motion_vectors(); - vec3 vfrag = texture( uTexMain, aUv ).rgb; + vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0); + vec3 diffuse = texture( uTexMain, aUv ).rgb; + vec3 composite = world_compute_lighting( diffuse, qnorm, aWorldCo, 1.0 ); - // Lighting - vec3 halfview = uCamera - aWorldCo; - float fdist = length( halfview ); - halfview /= fdist; - fdist -= 0.08; + float dist = distance( aWorldCo, uCamera ) - 0.08; + float opacity = clamp( dist*dist, 0.0, 1.0 ); - vec3 qnorm = normalize(floor(aNorm*2.0)*0.5) + vec3(0.001,0.0,0.0); - - vec3 total_light = newlight_compute_ambient(); - vec3 world_light = newlight_compute_world_diffuse( qnorm ); - - float world_shadow = newlight_compute_sun_shadow(); - total_light += world_light * world_shadow; - - vfrag = apply_fog( vfrag * total_light, fdist ); - - float opacity = clamp( fdist*fdist, 0.0, 1.0 ); - oColour = vec4(vfrag,opacity); + oColour = vec4( composite, opacity ); }