|
|
|
|
|
|
|
|
|
|
|
|
第六节
光线跟踪 |
|
|
|
|
|
|
|
|
虽然光线在景物间的反射和折射可以无限进行下去,但在计算机中不可能做无休无止的光线跟踪,需要给出光线跟踪的结束条件。当被跟踪的光线射出画面或跟踪深度达到给定层次时,应停止跟踪过程。考虑到被跟踪光线经多次反射和透射后会衰减(由于和的作用),也可通过判别跟踪光线对显示象素光亮度I的贡献是否小于一阈值来动态控制跟踪深度。设颜色灰度等级为G(通常为255),k为所取阈值,那么凡是对显示象素光亮度I的贡献小于k个灰度级,或者说其贡献系数小于k/G的反射、透射光亮度都没有必要再计算下去。
begin
for 需要计算光亮度的每一象素e do
begin
确定通过视点V和象素e的光线R;
ray-tracing(R,I,1);
置e的光亮度为I
end
end;
|
|
|
|
|