Ideale Spiegelreflexion ist wie ein perfekter Spiegel. Ich schaue mir den Code für SmallPt an und sehe, dass eine der Kugeln ein ideales Spiegelmaterial hat:
Sphere spheres[] = {//Scene: radius, position, emission, color, material
/ ...
Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
/ ...
};
Bei der Strahlungsberechnung geschieht Folgendes:
} else if (obj.refl == SPEC) // Ideal SPECULAR reflection
return obj.e + f.mult(radiance(Ray(x,r.d-n*2*n.dot(r.d)),depth,Xi));
wo fist die Objektfarbe von Vec(.999,.999,.999).
Ich war überrascht, hier eine Farbvervielfachung zu sehen. Hat ein idealer Spiegel keine Farbe? Ich denke wie es fist Vec(.999,.999,.999), effektiv geht es durch die Farbe fast unverändert? Irgendwelche Gedanken darüber, warum .999 verwendet wurde und nicht 1? Ich vermute, das ist etwas, um einen winzigen Energieverlust zu modellieren?

