Lecture13 Ray Tracing 1

发布于 2022-10-21  322 次阅读


  • 光栅化不容易做全局光影(软阴影)
  • Glossy的反射(这种材质,有反射但又粗糙)不容易做
  • 间接光照
  • 弹射很多次的很难,这是光栅化的局限
  • 光纤追踪精确,但非常慢
  • 它通常用作离线的应用
  • 一帧就需要花10kcpu小时
  • 光线是延直线传播的(其实是波动的)
  • 光线和光线不会发生碰撞
  • 光线肯定是从光源出发最后到达眼睛(reversal - reciprocity)
过去的谬论
eye ray
  • Whitted-Style Ray Tracing
  • 递归的反射

Ray-Surface Intersection 求光线与物体的交点

光线定义

  • 射线由其原点和方向向量定义

光线和求的交点

  • 光线和三角形求交
  • 渲染上可以:可见,阴影,光照
  • 图形上可以:判断在三角形内或外

平面的定义

  • 平面由法向量和平面上的点定义
光线和三角形的交点算法:MT算法

光线和物体求

包围盒 Bounding Volumes

  • 包围盒和光线都碰不到,就可以不计算
AABB
  • 长方体是三个对面形成的交集

光纤判断和盒子求交

  • 从三维的情况下是三个对面,只有当光线都满足光线进去了,才能证明光线进去了
  • 反之只要有一对面没有光线,光线离开了盒子
  • 对每对面计算最大时间和最小时间,求出三组的进入最大值和离开最小值,分别为进入和离开的时间
  • 如果进入的时间小于离开的时间,说明这段时间光线在盒子里
  • 光线不是一个直线,是射线。
  • 如果离开的时间是小于0,说明盒子在光线的背后,是不可能有交点的
  • 如果离开大于0,进入小于0,只有光线的起点就在这个盒子里这一种情况
  • 总结 光线和AABB有交点当且仅当进入时间小于离开时间,且离开时间大于等于0