Games101课程笔记_lecture13_光线跟踪

在这里插入图片描述
Ray tracing和光栅化是不同的成像方式

1 why Ray tracing

光栅化不好表现全局的效果。

  • 阴影
  • 玻璃的反射:光线在场景中弹了两次
  • 间接光照:光线弹射不止一次。
    以上这些光栅化不好做这些效果,

在这里插入图片描述
光栅化快,但是质量不好。
在这里插入图片描述
光线追踪精确,但是很慢,符合物理规律,很真实
光栅化:实时;光线追踪:离线

在这里插入图片描述

2 光传播

reciprocity-光线的可逆性,光源发出,也可以从眼睛发出关系。
你可以看到他,他也可以看到你。

在这里插入图片描述
从相机出发,往世界上投出光线,进行计算。
在这里插入图片描述

3 光线追踪

在这里插入图片描述
假设:
眼睛是一个点;
光源也是一个点;
物体会完美的反射和折射;
在这里插入图片描述
沿着一条光线考虑的是最近 的一个交点,完美解决了深度测试的问题。
在这里插入图片描述

3 Whitted-style ray Tracing

在这里插入图片描述
在这里插入图片描述
每个弹射点都与光源相连接。
先看这些点是否没挡住,每个点的着色都相加起来。有能量损失,要考虑进去。
也就是把所有的光路都遍历出来,然后计算颜色值,将其累加起来。

在这里插入图片描述
加粗样式

4 技术实现

1 光线交点

1 光线的数学表示方法

在这里插入图片描述

2 光线与球相交

在这里插入图片描述

t不知道。求t
在这里插入图片描述
求解t的过程如下,
在这里插入图片描述
求解的t必须要有意义。
球与光线的三个关系:
在这里插入图片描述

4 光线与隐式表面的交点

在这里插入图片描述
用数值的方法求解这个解。

5 关系与显示表面的交点

也就是光线与三角形求交。
奇数个交点在内部,偶数个交点在外部。
在这里插入图片描述
在这里插入图片描述

平面的数学定义

一条法线以及平面上的一个点
平面上的任意一个点可以用一条法线和平面上的任意一个点来表示;
利用平面的一个特性,平面的法线与平面的任意两个点的连线垂直。
在这里插入图片描述
计算方法,如下
在这里插入图片描述
可以解出平面与光线的交点,然后再判断交点是否在三角形的内部。、

懒办法

有没有办法马上就判断出交点是否在三角形内部
利用重心坐标来求出三角形内的任何一个点,然后和光线上的点做比较,只要相等就是一个点
t还是正的,对于重心坐标在三角形内部是否在三角形内就是P0,P1,P2的系数都大于0
在这里插入图片描述

2 光线和表面求交的加速

在这里插入图片描述

1 问题

在这里插入图片描述

1000多万个三角形,场景很复杂。
在这里插入图片描述

在这里插入图片描述

2 加速方法

1 包围盒

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2光线如何求包围盒有交点

在这里插入图片描述
三维的盒子与光线的相交

求出三组进入和出去的时间。
在这里插入图片描述
iff当前仅当
在这里插入图片描述
在这里插入图片描述

发布了134 篇原创文章 · 获赞 16 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/105064573