vec3 vDither = vec3( dot( vec2( 171.0, 231.0 ), ssuv) );
float dither = fract( vDither.g / 71.0 ) - 0.5;
- if( (aWorldCo.y*0.1 + dither) > ((uPlayerPos.y+40.0)*0.1) )
- discard;
+ float dcam = (-8.0+distance( aCo, uCamera ))/4.0;
+ if( min(aCo.y*0.5 + dither, dcam + dither) < 0.51 ) discard;
compute_motion_vectors();
- vec3 vfrag = vec3(0.5,0.5,0.5);
+ vec3 vfrag = vec3(0.6);
vec3 qnorm = aNorm.xyz;
+ qnorm = normalize(floor(aNorm.xyz*4.0)*0.25);
+ qnorm += vec3(0.001,0.0,0.0);
+
if( uAlphatest ){
vec4 vSample = texture( uTexMain, aUv );
if( vSample.a < 0.5 )
}
}
- vfrag = scene_compute_lighting( vfrag, qnorm, aWorldCo );
+ vfrag = scene_compute_lighting( vfrag, qnorm, aCo );
// dots
float d0 = distance( aWorldCo, uPlayerPos.xyz )*2.0;
emit += vec3(fract(t*0.2-g_realtime+d3*0.2)*max(0.0,1.0-d3*0.2));
oColour = vec4( vfrag+emit, 1.0 );
+ oColour = vec4( vfrag, 1.0 );
}