chaos pt 1
[carveJwlIkooP6JGAAIwe30JlM.git] / shaders / scene_override.fs
index 45ac33ef13a29027c172d7f0ec708d2b2e1d76be..6d10a408dd8cb6632ebcd90468c09dc2ebd17cb5 100644 (file)
@@ -26,14 +26,17 @@ void main(){
    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 )
@@ -45,7 +48,7 @@ void main(){
       }
    }
 
-   vfrag = scene_compute_lighting( vfrag, qnorm, aWorldCo );
+   vfrag = scene_compute_lighting( vfrag, qnorm, aCo );
    
    // dots
    float d0 = distance( aWorldCo, uPlayerPos.xyz )*2.0;
@@ -65,4 +68,5 @@ void main(){
    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 );
 }