 
         // direct lighting //
 
-        color += weight * illuminate(collision_point, collision.normal, P, rsi);
+        color += weight * illuminate(collision_point, collision.normal, P);
 
         // russian roulette //
 


            if (cell_index.y >= degree) { break; }

            sum += trace_through(origin + cell_index * cell_size, rsi);

            cell_index.y += 1.0;
        }

}

vec2 uv;
int rsi = 0;

highp float random() {

    rsi += 1;

    return noise(

        0.5 * (uv.xy + sample_vec3(random_seeds, rsi, N_RANDOM_SEEDS).x)
    );
}

