本文主要是为了记录我学习smallpt的过程。第一部分是关于整个程序的大致分解。第二部分主要说一下我对main函数中cx和cy的理解。第三部分主要说明光线跟踪的每一行代码所用到的数学知识。
本文主要说一下自己的理解,
关于smallpt的cx,cy是怎么来的,是用来做什么的?
1. 透视投影的原理
如果是小孔成像的话,我们应该是投影在z=-d的平面上,但是这样做涉及到负值操作,还使图像反了。如果我们将投影平面移到z = d,这样做就可以避免负值问题。(但是有个问题就是,物体在摄像机和z=d平面之间的物体,电脑就无法绘制了)
2. cx和cy的定义
及计算光线d的代码