surface TEST_gather_mirror (float samples = 1; float samplecone = 0; float noisefreq = 1) { color hitc = 0; vector i = normalize(I); normal n = normalize(N), nf = faceforward(n, i); point px = P*noisefreq; Ci = 0; if(nf.-i > 0) { vector reflectDirection = reflect(i, nf); point nn = point noise(px); reflectDirection *= (nn)/2; gather("illuminance", P, reflectDirection, samplecone, samples, "surface:Ci", hitc/*, "distribution", "uniform"*/) { Ci += hitc; } } /* Average the samples or the surface will be too bright */ Ci /= samples; Oi = 1; }