             vec3 lightPositions[lightCount];
             lightPositions[0] = vec3( 1., 1., -1. );
             lightPositions[1] = vec3( -1., 1., -1. );
-            /* lightPositions[2] = vec3( 0.0, -0.5, -2. ); */
-            lightPositions[2] = vec3( 0., 2., -3. );
+            lightPositions[2] = vec3( 0., 2., -0.5 );
 
             vec3 lightColors[lightCount];
-            lightColors[0] = vec3( 0.3, 0.6, 1.0 ) * 1.;
-            lightColors[1] = vec3( 1.0, 0.6, 0.3 ) * 1.;
-            lightColors[2] = vec3( 1., 1., 1. ) * 1.;
+            float colorLightScale = 0.8;
+            lightColors[0] = vec3( 0.3, 0.6, 1.0 ) * colorLightScale;
+            lightColors[1] = vec3( 1.0, 0.6, 0.3 ) * colorLightScale;
+            lightColors[2] = vec3( 1., 1., 1. ) * (5. - 2. * colorLightScale);
 
             vec3 totalColor = vec3( 0., 0., 0. );
             for( int i = 0; i < lightCount; ++i )


            float vis = 0.0;
            float maxvis = 0.0;
            vec3 dummyNormal, dummyColor;
            for( int i = 0; i < 4; ++i )
            {
                vec3 vispos = pos + normal * 0.5 * float(i);
                float d = mindist( vispos, hit, dummyNormal, dummyColor );
                float occl = clamp( d, 0.0, 1.0 );
                vis += occl / float(i+1);
                maxvis += 1.0 / float(i+1);
            }


            bool colSquare = step( 0.5, mod( pos.x, 1.0 ) ) == step( 0.5, mod( pos.z, 1.0 ) );
            if( colSquare )
                hit.color = vec3( 1., 0.6, 0.0 );
            else
                hit.color = vec3( 0.4, 0.15, 0.0 );
        }
    }
}

void mindist(vec3 pos, out HitInfo hit)
{
    hit.hit = false;
    hit.distance = 1000.0;
    hit.color = vec3( 0., 0., 0. );
    hit.normal = vec3( 0., 0., 0. );

    float t = 1.5 * time;
    /* mindistSphere(vec3(sin(t),0.5 + 0.1*sin(10.*time),-2.3+cos(t)), 0.2, pos, mindist, hit, normal, color); */
    mindistSphere(vec3(0.5, -1., 0.5), 0.2, false, vec3(mod(pos.x,1.0), pos.y, mod(pos.z,1.0)), hit);
    mindistSphere(vec3(0.,-0.3,-2.51), 0.5, true, pos, hit);
    mindistPlane(vec3(0.,1.,0.), -1., pos, hit);
}

vec4 sky(vec3 dir)
