RTIOW-ch11:Defocus Blur

散焦模糊”在摄影上又称“景深”。
在现实的相机中,我们需要做“散焦模糊”的原因是:我们需要一个更大的孔来收集光线增加图片的亮度(而不是“针孔”)。我们称“更大的孔”为“光圈”。
光圈的增大,导致图片出现散焦而模糊。
但是我们可以调节成像的位置,改变图片的清晰度,使图片在当前光圈条件下尽可能清晰。

所以,接下来,我们会引入两个参数:aperture(光圈)和focus_dist(成像位置)。

camera.h:

cpp:

最终效果:

 

参考书籍:《Ray Tracing in One Weekend》

RTIOW系列项目地址:GitHub

RTIOW系列笔记:

RTIOW-ch1:Output an image

RTIOW-ch2:The vec3 class

RTIOW-ch3:Rays, a simple camera, and background

RTIOW-ch4:Adding a sphere

RTIOW-ch5:Surface normals and multiple objects

RTIOW-ch6:Antialiasing

RTIOW-ch7:Diffuse Materials

RTIOW-ch8:Metal

RTIOW-ch9:Dielectrics

RTIOW-ch10:Positionable camera

RTIOW-ch11:Defocus Blur

RTIOW-ch12:Where next