图形学 -- Ray Tracing 光线追踪

参考视频:Lecture 13 Ray Tracing 1_哔哩哔哩_bilibili

Ray tracing

原因

Rasterization 格栅话不能处理好global effects,如↓

简介反射:光线在到达人眼前不止弹射一次

图形学 -- Ray Tracing 光线追踪_第1张图片

基本假设

1)光是沿着直线传播

2)光线交叉的时候不会发生碰撞

3)reciprocity 可逆性- 光线从光源发出并进入人眼

 Ray Casting- Generating Eye Rays

Pinghole Camera Model

眼睛发出的光线只能看到最近的!

图形学 -- Ray Tracing 光线追踪_第2张图片

有入射方向,出射方向就可以算法线,然后算着色

图形学 -- Ray Tracing 光线追踪_第3张图片

shadow mapping

图形学 -- Ray Tracing 光线追踪_第4张图片

实现步骤

 步骤1:从光源出发看场景,记录看到场景的深度

图形学 -- Ray Tracing 光线追踪_第5张图片

步骤2:从相机角度观察,再投影回光源

图形学 -- Ray Tracing 光线追踪_第6张图片

 图形学 -- Ray Tracing 光线追踪_第7张图片

图形学 -- Ray Tracing 光线追踪_第8张图片

实际操作

1)光源记录深度

图形学 -- Ray Tracing 光线追踪_第9张图片step2:实际到光源看到的集合形状

图形学 -- Ray Tracing 光线追踪_第10张图片

问题

图形学 -- Ray Tracing 光线追踪_第11张图片

硬vs软阴影

本影/半影原理

图形学 -- Ray Tracing 光线追踪_第12张图片

Whitted-Style Ray Tracing

1)光滑表面,光线折射

2)漫反射物体,光线停止

Recursive Ray Tracing

图形学 -- Ray Tracing 光线追踪_第13张图片

每一个弹射的点都去算它着色的值

图形学 -- Ray Tracing 光线追踪_第14张图片

Ray-Surface Intersection 交点

Ray Euation

图形学 -- Ray Tracing 光线追踪_第15张图片

Ray Intersection with sphere

图形学 -- Ray Tracing 光线追踪_第16张图片

图形学 -- Ray Tracing 光线追踪_第17张图片

 Ray Intersection with Implicit Surface 隐式表面

图形学 -- Ray Tracing 光线追踪_第18张图片

 Ray Intersection with Triangle Mesh 显式表面

!随便在一个封闭图形内取一个点,从中间作一条射线,和这个图形的交点一定是奇数个!

图形学 -- Ray Tracing 光线追踪_第19张图片

解决三角形和光线的交点问题

图形学 -- Ray Tracing 光线追踪_第20张图片

定义平面(好熟悉的内容啊,好像高数学过...?)

图形学 -- Ray Tracing 光线追踪_第21张图片

 光和平面交点

图形学 -- Ray Tracing 光线追踪_第22张图片

再判定点是否在三角形内

Moller Trumbore Algorithm

克拉默法则有点忘了

图形学 -- Ray Tracing 光线追踪_第23张图片

Accelerating Ray-Surface Intersection 

Bounding Box 包围盒,包围体积(AABB)

光线如果盒都碰不到,哪里碰得到物体呢↓

图形学 -- Ray Tracing 光线追踪_第24张图片

此处理解:长方体是三个对面形成的交集

图形学 -- Ray Tracing 光线追踪_第25张图片

看光线和包围盒有没有交点

2D

取交集!↓

图形学 -- Ray Tracing 光线追踪_第26张图片

3D

三个对面都满足光线已经进去了,才能说光线在盒子内;只要光线离开任意一个对面就已经离开盒子了

图形学 -- Ray Tracing 光线追踪_第27张图片

图形学 -- Ray Tracing 光线追踪_第28张图片

第三种情况就是光源在盒子里!

图形学 -- Ray Tracing 光线追踪_第29张图片

Uniform partitions (Grids)

图形学 -- Ray Tracing 光线追踪_第30张图片

图形学 -- Ray Tracing 光线追踪_第31张图片

一般划分的个数

图形学 -- Ray Tracing 光线追踪_第32张图片

Spatial Partitions

 解决场景中格子分布不均匀的问题

Oct-Tree效果不好,BSP-Tree不好计算

图形学 -- Ray Tracing 光线追踪_第33张图片

KD-Tree(对空间划分)

图形学 -- Ray Tracing 光线追踪_第34张图片

*实际物体不存放在中间节点上,只存放在叶子节点上

图形学 -- Ray Tracing 光线追踪_第35张图片

 光线和格子没交点,不用判定;有交点则和盒子里所有的物体求交点

图形学 -- Ray Tracing 光线追踪_第36张图片

缺点:

1)同一个物体

2)kt tree 建立并不简单,需要考虑三角形和盒子的相交

解决方法↓

Object Partitions & Bounding Volumen Hierarchy(BVH) (对物体的划分)

划分的不是空间,是把物体划分成两个部分

图形学 -- Ray Tracing 光线追踪_第37张图片

图形学 -- Ray Tracing 光线追踪_第38张图片

步骤

图形学 -- Ray Tracing 光线追踪_第39张图片

划分小技巧

尽量沿着最长轴,并且保证里面三角形数目差不多

图形学 -- Ray Tracing 光线追踪_第40张图片

图形学 -- Ray Tracing 光线追踪_第41张图片

伪代码

图形学 -- Ray Tracing 光线追踪_第42张图片

Spacial vs Object Partitions

图形学 -- Ray Tracing 光线追踪_第43张图片

Basic radiometry(辐射度量学)

在物理上准确定义光照

Radiant Energy and Flux(Power)

能量和功率

图形学 -- Ray Tracing 光线追踪_第44张图片

 几个重要概念,后面详细介绍

图形学 -- Ray Tracing 光线追踪_第45张图片

Radiant Intensity 

每个角度分到的能量

图形学 -- Ray Tracing 光线追踪_第46张图片

Solid Angles 立体角 

图形学 -- Ray Tracing 光线追踪_第47张图片

Differential Solid Angles 单位立体角

图形学 -- Ray Tracing 光线追踪_第48张图片

图形学 -- Ray Tracing 光线追踪_第49张图片

Isotropic Point Source

如果一个点光源均匀往各个方向上辐射出光,任何方向上的能量都是power/4Π

图形学 -- Ray Tracing 光线追踪_第50张图片

Irradiance

一个物体表面接受到多少光的能量 

图形学 -- Ray Tracing 光线追踪_第51张图片

图形学 -- Ray Tracing 光线追踪_第52张图片

随着距离增加intensity没变,irradiance衰减

图形学 -- Ray Tracing 光线追踪_第53张图片

Radiance

光线在传播中的度量

能量在单位立体角并且在单位的面积上

和Irradiance的区别是是否有方向性

图形学 -- Ray Tracing 光线追踪_第54张图片图形学 -- Ray Tracing 光线追踪_第55张图片

图形学 -- Ray Tracing 光线追踪_第56张图片

图形学 -- Ray Tracing 光线追踪_第57张图片

da从每一个可能的方向获取的能量求和

图形学 -- Ray Tracing 光线追踪_第58张图片

Bidirectional Reflectance Distribution Function (BRDF) 双向反射分布函数

单位 面积中吸收多少入射能量再原样发射回去,不同方向的能量分布

图形学 -- Ray Tracing 光线追踪_第59张图片

图形学 -- Ray Tracing 光线追踪_第60张图片

Recursive Equation

递归:任何一个出射光线都有可能是其他平面的入射光线,其中这个H^2指的是半球

图形学 -- Ray Tracing 光线追踪_第61张图片

Rendering Equation

物体自己会发光怎么办:把自己发的光加上去就ok

图形学 -- Ray Tracing 光线追踪_第62张图片

Reflection Equation

点光源

图形学 -- Ray Tracing 光线追踪_第63张图片

图形学 -- Ray Tracing 光线追踪_第64张图片

面光源

图形学 -- Ray Tracing 光线追踪_第65张图片

图形学 -- Ray Tracing 光线追踪_第66张图片

图形学 -- Ray Tracing 光线追踪_第67张图片

简写

物体所辐射出来的所有能量=所有光源辐射出来的能量+辐射出来的能量被反射之后的

图形学 -- Ray Tracing 光线追踪_第68张图片

图形学 -- Ray Tracing 光线追踪_第69张图片

黄色部分是光栅化能实现的范围,而后面的多次反射则是光追范围

图形学 -- Ray Tracing 光线追踪_第70张图片

Probability Review 概率论回顾

Random Variable 随机变量

图形学 -- Ray Tracing 光线追踪_第71张图片

Probability 概率

图形学 -- Ray Tracing 光线追踪_第72张图片

Expected Value 期望

图形学 -- Ray Tracing 光线追踪_第73张图片

概率密度函数

图形学 -- Ray Tracing 光线追踪_第74张图片

图形学 -- Ray Tracing 光线追踪_第75张图片

Monte Carlo Integration 蒙特卡罗积分

算任何一个函数的定积分

图形学 -- Ray Tracing 光线追踪_第76张图片

图形学 -- Ray Tracing 光线追踪_第77张图片

图形学 -- Ray Tracing 光线追踪_第78张图片

图形学 -- Ray Tracing 光线追踪_第79张图片

在pdf上以一定的蒙特卡洛积分进行采样,每个样本算f(x)/p(x)然后进行平均

图形学 -- Ray Tracing 光线追踪_第80张图片

Path Tracing 路径追踪

witted style解决不了这个glossy的问题

图形学 -- Ray Tracing 光线追踪_第81张图片

能比较好的处理漫反射效果

图形学 -- Ray Tracing 光线追踪_第82张图片

图形学 -- Ray Tracing 光线追踪_第83张图片

图形学 -- Ray Tracing 光线追踪_第84张图片

已经可以算出任意一个着色点的出射!

图形学 -- Ray Tracing 光线追踪_第85张图片

图形学 -- Ray Tracing 光线追踪_第86张图片

间接光照 Global llumination

图形学 -- Ray Tracing 光线追踪_第87张图片

但是!以↑方式解决全局光光线数量会爆炸!

图形学 -- Ray Tracing 光线追踪_第88张图片

所以N=1的时候不会指数级增长!路径追踪就是N=1!

图形学 -- Ray Tracing 光线追踪_第89张图片

Ray Generation

图形学 -- Ray Tracing 光线追踪_第90张图片

Russian Roulette(RR)

解决光线弹射多少次的问题

一定的概率停下追踪

图形学 -- Ray Tracing 光线追踪_第91张图片

图形学 -- Ray Tracing 光线追踪_第92张图片

效率

在物体上采样效率低?

图形学 -- Ray Tracing 光线追踪_第93张图片

不如直接在光源上采样

所以要对光源面积进行积分

图形学 -- Ray Tracing 光线追踪_第94张图片

图形学 -- Ray Tracing 光线追踪_第95张图片

图形学 -- Ray Tracing 光线追踪_第96张图片

已经开始头疼了...........

所以光线来自:光源,以及其他所有非光源

图形学 -- Ray Tracing 光线追踪_第97张图片

图形学 -- Ray Tracing 光线追踪_第98张图片

如果中间有遮挡物:

直接算光源与被观测物连线

图形学 -- Ray Tracing 光线追踪_第99张图片

总算看完了,感觉一刷有点一知半解的(摊

你可能感兴趣的:(图形学笔记,图形渲染)