uniform sampler2D uTexMain; uniform vec3 uCamera; in vec4 aColour; in vec2 aUv; in vec3 aNorm; 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 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*fdist, 0.1, 1.0 ); oColour = vec4(vfrag,opacity); }