计算机图形学 读书笔记(三) 光线跟踪 Ray Tracing
写个读书笔记,一来作为字典以后可以查,二来记录自己的理解。
并没有对每个知识点的详细解释,大部分只有主观的定性的解释。
光线跟踪的意义:
在现实世界里,一个光源发出的光 照射到一个点之后,这个点漫反射出去的光是在一个半球状范围内的。如果我们模拟现实世界中光的传播,难道要计算出每个光源对每个点,发射到所有方向的光吗? 当然不可能。
我们只需要模拟到我们眼里的光就行了。 对于计算机,只需要模拟到一个像素的颜色是由哪些光发射过来形成的行了。
所以光线跟踪就是从 一个像素 发射的射线 在与物体 相交后的 沿着光的来的方向 反向求得 传播过程, 是由光源漫反射来吗?还是折射来的吗?还是在阴影里?
光线求交Ray intersection :
为了计算光路,先得判断交点在哪儿,由于渲染计算量庞大,特地研究了好多简化求交的方法简化计算。
这一节基本上就只讲了求交, 应该是求了交,其他的就是光照模型,BRDF的事情了吧。光线跟踪的主要工作就是求交,算折射角?
求交可以这么分类:
– Plane intersection
– Triangle intersection
– Polygon intersection
– Sphere intersection
– Box intersection
光线跟踪的实现:
光线跟踪帮助完成了 反射,折射,阴影,texture。
反射折射不用说,本身就和光线的走向相关。
阴影和texture后面会专门有一节来描述。
还有需要考虑的问题:
- 加速计算
- 相切问题
Ray Tracing is full of dirty tricks