Assignment5:Whitted-style Ray Tracing
- 二龙 朱
- 2021年10月20日
- 讀畢需時 1 分鐘
目的和意义:
光栅化无法很好地解决全局(global)效果
软阴影
渲染光线弹射多次
实验
1. construct primary rays
首先需要把射线表示出来,
射线:ori+t*dir,已知ori,需要dir,dir用屏幕像素位置-ori,这里屏幕位置需要在世界空间下。

从光栅空间Raster space,即设备空间device space例如960*1280,注意需要取像素的中心点
从raster space到NDC space(normalize device space)
从NDC space到Screen space,其实是near plane
从screen space到camera space,需要考虑fov、相机位置
这里相机位置在(0,0,0),所以camera space和world space是重合的,同时考虑到fov以及长宽比,最终映射到的不一定是正方形
当相机移动时,需要得到一个矩阵表示这个变换,并应用于ori和dir,把他们也变换到world space中
2.Moller-Trumbore算法
来计算射线与三角形求交问题


3.求t
遍历场景的对象,遍历对象的三角面,使用Moller-Trumbore算法判断是否相交,并更新t的值,最小的t才是射线相交追踪到的点。
4.result

链接:
Comments