GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4

目录

  • GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4
    • Monte Carlo Integration(蒙特卡洛积分)
    • Path Tracing路线追踪
      • Solution: Russian Roulette(RR)俄罗斯轮盘赌
    • Some Side Notes

GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4

Monte Carlo Integration(蒙特卡洛积分)

求定积分的
其理念是随机采样,假设函数值就等于采样出的函数值,那么积分就是一个矩形面积,多次采样,去所有矩形面积的平均。
GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第1张图片
GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第2张图片
GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第3张图片

Path Tracing路线追踪

  • Whitted-Style Ray Tracing真的对么?
    光线遇到光滑的平面就反射,遇到粗糙的就停止
    显然不一定对,路径追踪就是解决这个问题
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第4张图片

  • 第一个问题:对于glossy材质的东西,我们还认为他的反射光是镜面反射方向是不对的。
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第5张图片

  • 第二个问题:一个光线达到漫反射就停了是不对的。
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第6张图片

  • Whitted-Style Ray Tracing is Wrong

  • But the rendering equation is correct
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第7张图片

  • 想解这个方程:在积分域上进行采样

GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第8张图片

  • 最简单的方法就是均匀的采样
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第9张图片
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第10张图片

  • 具体计算:
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第11张图片

  • 如果反射过来是物体的光:递归:
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第12张图片

  • 但是问题还是没有解决,问题在哪?光线的数量会爆炸
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第13张图片
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第14张图片

  • 解决方案是让N等于1,也就是只采样一次。可能最后noise会很大
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第15张图片

  • 这样实际上就相当于一个像素会产生很多路径,可以让路径的数量变多最后再相加取平均。
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第16张图片

  • 但是这个算法还是有问题,这个算法是递归的,不会停!

  • 解决方案:限制次数?不对,会损失能量

  • 真正解决方案:俄罗斯轮盘赌

Solution: Russian Roulette(RR)俄罗斯轮盘赌

  • 一定的概率停止继续追踪
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第17张图片
  • 这方法太尼玛离谱了
    他的期望竟然还是其本身
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第18张图片
  • 代码修改:
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第19张图片
  • 此时,这就是正确的路径追踪的方法了
  • 但是还有点小缺陷:有点低效
  • 采样点不够的话会有噪声
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第20张图片
  • 问题在哪?
    打不打得到光源看运气,很多光浪费掉了。怎么办?
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第21张图片
  • 换一种采样方法,不再均匀的往四面八方采样,往光源上采样,但是蒙娜卡诺要求在x上采样在x上积分,如果在光源上采样就会发生在光源上采样在立体角上积分的现象。得把采样写成在光源上积分
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第22张图片
  • 方法:
    只需要知道 d ω d \omega dω d A d A dA的关系
    就相当于 d A d A dA在球面的投影再除以距离的平方(立体角的定义就是面积除以距离的平方)
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第23张图片
  • 改变积分域:
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第24张图片
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第25张图片
    这样,把传播分成两部分,来自光源的用这个新的方法,其他位置的用老方法
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第26张图片
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第27张图片
    其中如果找间接光照要判断是不是来自光源,如果是光源要排除,因为之前算过了。
  • 还有一个一个小问题:
    这么算的前提是光源不被遮挡,还需要看光源能不能影响到,还需要连一个线,看看能不能被挡到
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第28张图片
  • 对于路线追踪,点光源很难办,最好做成一个很小的面积单元

Some Side Notes

GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第29张图片

  • 极度的真实感:
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第30张图片
  • 以前说光线传播就是Whitted-style ray tracing
  • 现在是所有方法的大集合
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第31张图片
  • 选择什么样的pdf最好?重要性采样理论
  • 随机数也可以保证不太密集也不太稀疏
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第32张图片
  • 把不同的采样方法结合
  • 为什么path平均起来就是像素,需不需要加权?
  • 怎么把radiance变成像素
    GAMES101-现代计算机图形学入门-闫令琪——Lecture 16 Ray Tracing 4_第33张图片

你可能感兴趣的:(计算机图形学,几何学,计算机视觉,人工智能)