Game101课程笔记_lecture14_光线跟踪
- DLSS技术,
刘诗秋
2.RTXGI技术
实时的全局光照
工业界何学术界都在同步推进。
实时渲染技术很快有用。
后面的课不容易。
3. 课程复习
包围盒技术
光线何包围盒都不相交,那肯定何里面的object不相交-----逻辑
4. TODAY
1 uniform Spatial Partitions
光线与盒子相交比较容易
圆圈是物体,
如何光栅化一条线,
效果怎么样。
两个极端如下:一个何分辨率个
合适的格子如下:
什么时候效果好呢?
看的是场景中空的地方,物体分布不均匀
运动场中只有一个茶壶的问题。
大规模的空白,大规模的聚集,这种就不适合这种格子的方法了。
格子在稀疏的地方就不需要划分格子很细了
2 空间划分
图形学应用了这个概念
oct_tree八叉树—
KD-tree–和八叉树差不多,每次都是分成两个格子。保持了二叉树的性质
BSP-tree–不是水平和竖直的分,这些线不好计算。
1 KD-Tree
用其中的一半来讲解,其实每个部分都要划分。
没有物体存储在中间节点上,都在叶子节点上。
光线与某一个盒子有交点,可能与它的子节点都有交点。
知道光线打到叶子节点,如果有交点,就要和里面的所有物体进行求交。
求出所有的交点,然后记录下最近的交点。
kd树的问题:
空间划分会产生一个问题:kd树的建立不简单,一个三角形是否和一个立方体有交集,比较难。
最近的十年不用这个kd树了,因为这个难点。
圆圈和不同的盒子都有交集的时候,几个盒子都要存储这个物体。意味着一个物体可能存储在不同的盒子中,这个也是个bug,kd树不直观 。
3 object Partitions根据物体来划分
图形学里基本都用这个了
Bounding Volume Hierarchy BVH
划分到时候截至呢?
只有一个物体只在一个盒子里。
三角形分成两堆,再把三角形画个包围盒,都很简单,这样避免了kd的问题
但是它的划分不清晰。如何划分,这是很多人在研究的问题。
总结BVH的步骤:
建立BVHs
用到的算法-快速选择算法:作业中要做这个BVH。
第k大树
k=n/2;
在o(n)复杂度
快速选择算法来做这个问题
场景动了,加了新的物体,都要重新进行计算
BVH的数据结构:
BVH的算法:
4 空间划分和物体划分比较
空间划分:
物体划分:
光线和场景的求交就很快的可以做完了。
5 辐射度量学 Basic Radiometry
1 动机
phone模型都是用的经验值,自己来确定。辐射度量学可以给光的精确的实际物理值。
2 概念
光照的度量系统
定义了光照的基本属性。
学习一个东西的具体步骤。
why?为啥要学
what?这个是什么
how?怎么用,这个是最容易忘掉,也是最不重要的 。
1 Radiant Energy and Flux
能量:用了多少电。
Flux:单位时间的能量。功率,单位时间内产生的能量。
照的时间越长,能量就越多,所以要用这个。
光学中lm是另外一个单位。
另外一个角度的定义:
单位时间内辐射出的光的数量。
2 Radiant Intensity
每一个单位立体角的power
立体角
一个角总会对应一段弧长
二维空间中给立体角:
三维空间中的立体角:
球体的一快面积除以半径的平方;
单位立体角:
单位的一块面积,面积很小。大小是多少呢?
通过sita 和fan定义的那块面积的长和宽;
这里就涉及到微积分的数学了。
主要用下面的这个:
点光源均匀发射:
LED 60W。实际耗能是11W,看上去是60W的灯泡
865lm。
Radiant intensity?
下节课开始会越来越难。提前预习吧