Phản xạ gương lý tưởng giống như một tấm gương hoàn hảo. Tôi đang xem mã của SmallPt và thấy rằng một trong những khối cầu có một vật liệu đặc trưng lý tưởng:
Sphere spheres[] = {//Scene: radius, position, emission, color, material
/ ...
Sphere(16.5,Vec(27,16.5,47), Vec(),Vec(1,1,1)*.999, SPEC),//Mirr
/ ...
};
Trong tính toán rạng rỡ, điều này xảy ra:
} 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));
nơi f
là màu đối tượng Vec(.999,.999,.999)
.
Tôi đã ngạc nhiên khi thấy sự nhân lên màu sắc ở đây. Chẳng phải một chiếc gương lý tưởng không có màu sao? Tôi đoán f
là Vec(.999,.999,.999)
, hiệu quả của nó đi qua màu sắc gần như không thay đổi? Bất kỳ suy nghĩ về lý do tại sao .999 đã được sử dụng chứ không phải 1? Tôi đoán đây là một cái gì đó để làm mô hình mất năng lượng rất nhỏ?