top of page

Assignment5:Whitted-style Ray Tracing

  • 作家相片: 二龙 朱
    二龙 朱
  • 2021年10月20日
  • 讀畢需時 1 分鐘

目的和意义:

光栅化无法很好地解决全局(global)效果

软阴影

渲染光线弹射多次





实验

1. construct primary rays

首先需要把射线表示出来,

射线:ori+t*dir,已知ori,需要dir,dir用屏幕像素位置-ori,这里屏幕位置需要在世界空间下。

ree


从光栅空间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算法

来计算射线与三角形求交问题

ree

ree


3.求t

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


4.result

ree




链接:


Comments


bottom of page