Ray Tracing(2)
Ray Tracing(2)
Edmend ZhangRay Tracing (2)
Why ray tracing
whitted-style ray tracing
光在任何地方都可能弹射,在任何交点都算着色和阴影,加到一个像素上
Ray-object intersections (Implicit surface; Triangles)
Axis-Aligned Bounding Boxes (AABBs)包围核结构
- Understanding - pairs of slabs 对面
- Ray-AABB intersection
Today
- Using AABBs to accelerate ray tracing (AABB如何加速光线追踪)
- uniform grids 均匀格子
- Spatial partitions 空间划分
Uniform Spatial Partition(Grids)均匀空间分区
Process-Build Acceleration Grid
- 找到建包围核
- 将包围核分成小格子
- 找到和物体重叠的小格子
当光线进入格子的时候 看格子是否存在物体 存在物体判断是否和物体相交
Grid Resolution 网格分辨率
- One cell
no speedup
- Too many cells
效率低
When work well
几何物体分布均匀
When fail
场景空白太多 分布不均匀 大规模空白
Spatial Partitions 空间划分
- Oct-Tree 八叉树 (三维切成8块 二维4块)
什么时候停止:二维下 切割三块不在没有物体 只有一块有
在三维里 这个数的结构会演变为2的n次方 效果并不好
- KD-Tree
二叉树结构 水平划分和竖直划分交替进行
- BSP-Tree
选一个方向去分开 并不是横平竖直 不好计算 维度高不好计算
在做光线追踪之前就要把树的结构做好
缺点
- 一个物体可能出现在多个叶子节点里,从这一点看 kd-tree并不直观
- 很难判定三角形和这个box有交集,并不能只通过三角形的顶点在不在box里判断
Object Partitions & Bounding Volume Hierarchy(BVH)对象划分和边界卷层次结构
How to subdivide a node
Choose a dimension to split
- Heuristic #1: Always choose the longest axis in node (划分最长的)
- Heuristic #2: Split node at location of median object (找到中间值 确保树的结构更好)
快速选择算法 找到n/2大的数 中位数
Termination criteria 划分终止条件
划分到一个节点的元素比较少的时候
Basic radiometry 辐射度量学
- Advertisement: new topics from now on
- 如何去描述光照 定义了方法和单位 定义了光的属性 依然基于几何光学(光是直线传播,没有波动性)
- perform lighting caculations in a physically correct manner
Observation
Assignment3 Blinn-Phong model
light intensity I is 10 for example
10 what
Radiometry 辐射线测定
Radiant flux 辐射通量
intensity
irradiance 辐射照度
radiance 辐射亮度
Radiant Energy and Flux (power)
Radienty Flux 单位时间的能量(功率)
Important Light Measurements of Interest(感光测量)
Radient Intensity 光散射的测量
Solid angle 立体角
立体角是一种在三维空间中描述球面上部分区域的几何量。它类似于平面中的角度,但扩展到三维空间,用于测量物体在球面上占据的“面积”的大小。立体角的单位是球面度(steradian, sr)。
W和lm是能量的单位 sr是立体角的单位