GAMES101-现代计算机图形学入门-闫令琪——Lecture 13 Ray Tracing 1
Why Ray Tracing?
- 光栅化很难很好的解决全局的影响
(Soft) shadows
还有一些特殊情况当光反射不止一次(间接光照)
光栅化虽然很快,但是质量相对较低 - 光线追踪虽然很准确,但是很慢
光栅化:实时; 光线追踪:离线应用
一帧就需要花10K个cpu小时
Basic Ray-Tracing Algorithm
Light Rays
关于光线的三个定义:
- 光线沿直线传播
- 光线不会发生碰撞
- 光线会通过光源发射,经过不断反射,最终到达我们的眼睛(也可以用可逆性,可以从眼睛出发)
Ray Casting - Shading Pixels (Local Only)光线投射法
假设光源和眼睛都是点
- 从眼睛开始往场景中成像平面中的一个像素投射出一个光线。
- 光线会打到场景中最近的一个物体。
- 然后从这个交点往光源连接一条线,如果被遮挡就是阴影,否则会被照亮
- 利用法线和入射方向和出色方向可以计算着色,然后把结果写入像素