 
     if (!visible(x, y)) { return vec3(0, 0, 0); }
 
-
     vec3 L = light.color * light.intensity;
     vec3 ny = normalize(y - light.position);
 

    vec3 D = vec3(camera_world_matrix * vec4(p, 1)) - o;

    // Trace
    return trace(Ray(o, normalize(D)));
}

void main(void) {

    float degree = float(pixel_sampler_grid_degree);



const vec3 UNIT_Y = vec3(0, 1, 0);

const int MAX_DEPTH = 10;  // max #(ray bounces)

// uniforms //

