#include "common_world.glsl"
#include "motion_vectors_fs.glsl"
+#include "depth_compare.glsl"
-void main()
-{
+void main(){
+ depth_compare_dither();
compute_motion_vectors();
- vec3 vfrag = texture( uTexMain, aUv ).rgb;
+ vec3 qnorm = aNorm;
+ 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( vec3(1.0) );
- 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 );
}