Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记

引入光线追踪目的:

  1. 因为光栅化不能很好地处理全局效果,例如:
    Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记_第1张图片
    • 软阴影:光栅化需要经过两个过程才能形成软阴影;
    • Glossy 反射:既有反射,又有本身材质的粗糙性影响;
    • 间接反射:光线在空间中会反射很多次,很难渲染。
  2. 光栅化速度快,但是质量并不好,表现得是相似的东西;光线追踪很精确,效果很真实,不过速度很慢。(光栅化可以达到实时,但是光线追踪需要离线。)

第一部分:光线追踪算法基础

一、光线定义:

  1. 光线沿着直线传播。(本课程不考虑光的波动性)
  2. 光线之间如果交叉不会互相碰撞。(假设)
  3. 光线从光源发出可以到达人眼。(但是物理上认为光线在路径你转不变—— Reciprocity(光可逆性))

二、光线投射(Ray Casting)

(一)定义

  1. 通过将光源逐像素投射生成一张图片。
  2. 通过投射光线检查阴影。

(二)生成过程

下图例子是照射一个透明物体,会分别产生 ② 折射光线和 ④反射光线,在分别照射出去为③、投射到物体上。最后将照射在物体上的几个黑点连接到点光源(light source),如果未被遮挡,则叠加计算到从eye point(camera point)中投射出来的像素中。使用着色模型(例如:Blin Phong模型)进行着色。
Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记_第2张图片

观察上图,可知四根shadow rays,其中长方形投射的光线被三角形挡住,因此该像素点为其他那根光线的累加值。

(三)光线等式

光线通过原点(O点)和方向(\(\overrightarrow d\))决定。公式如下:
Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记_第3张图片

(四)光线和球面角点

Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记_第4张图片
光线:\(r\left(t\right) = o +td,0 \leq t < \infty\)
球面:$ p:(p-c)^2 - R^2 = 0$
交点P: 交点P必须同时满足射线方程和球面方程。
求解交点:\((o+td-c)^2 - R^2 = 0\)
求解交点P过程
Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记_第5张图片

(五)光线和三角形网格交点

你可能感兴趣的:(Lecture13_光线追踪1(Whitted-Style Ray Tracing)_GAMES101 课堂笔记)