uniform sampler2D uTexGarbage; uniform sampler2D uTexMain; uniform vec3 uCamera; uniform vec4 uPlane; 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 = vec3(0.5,0.5,0.5); vec4 vsamplemain = texture( uTexMain, aUv ); vec3 qnorm = normalize(aNorm); if( vsamplemain.a < 0.15 ) discard; vfrag = vsamplemain.rgb; if( g_light_preview == 1 ) { vfrag = vec3(0.5); } // Lighting vec3 halfview = uCamera - aWorldCo; float fdist = length( halfview ); halfview /= fdist; 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 ); oColour = vec4(vfrag, 1.0); }