     spheres[1].radius = 1.0;
     spheres[1].shader = MIRROR_SHADER;
 
-    // heightmaps[0].position = vec3(-4, -4, 5);
-    // heightmaps[0].size = vec3(8, 0.5, 8);
-    // heightmaps[0].color = vec3(0, 0, 1);
-    // heightmaps[0].shader = DIFFUSE_SHADER;
-
     lights[0].position = vec3(1, 1, 0);
     lights[0].color = vec3(1);
 


layout(location = 16) uniform int numLights = 1;
layout(location = 17) uniform int numSpheres = 2;
//layout(location = 18) uniform int numHeightmaps = 1;

/*layout(location = 64) uniform*/ Light lights[8];
/*layout(location = 128) uniform*/ Sphere spheres[8];
///*layout(location = 192) uniform*/ Heightmap heightmaps[8];

Intersection sphereIntersect(Ray ray) {
    Intersection ret;

    }
    return ret;
}
vec3 shade(int shader, vec3 color, vec3 point, vec3 normal,
           out float reflect_weight, out float refract_weight) {
    if(shader == DIFFUSE_SHADER) {
