zoukankan      html  css  js  c++  java
  • Lecture15_光线追踪3(Ray Tracing 3)_GAMES101 课堂笔记

    Lecture 14 学习内容:

    Lecture 15(今日学习内容)


    第一部分:辐射度量学

    一、Irradiance

    (一)定义

    Irradiance 是入射的表面点(垂直/投影)单位面积上的功率(power、energy均可)。

    计算公式如下:

    注意事项——Irradiance VS. Intensity
    1. Irradiance是指单位面积的能量。
    2. Intensity是单位立体角的能量。

    (二)应用

    Irradiance 可以应用在以下三个方面加深理解:

    1. Lambert’s Cosine Law

    1. 不同季节,不同温度

    1. Correction: Irradiance Falloff


    二、Radiance

    (一)定义:

    Radiance(luminance)是发射的、反射的或者由一个表面发射或接收的能量.

    单位: per unit solid angle, per projected unit area

    定义某一个面、某个确定的方向,计算公式如下:

    Radiance 与 的渲染(Rendering)的关系:

    Radiance是描述在环境光的分布的基本场数量。

    • radiance 是光线的数量
    • 渲染(rendering)是计算 所有的 radiance

    (二)对比记忆:

    (三)Incident Radiance & Exiting Radiance

    1. Incident Radiance

    入射光线(Incident Radiance)是 每个单位立体角到达表面的 Irradiance 。

    注意:它是在表面上沿给定射线(点上表面和入射方向)到达的光。即不考虑其他光的影响。

    2. Exiting Radiance

    出射光线(Exiting Radiance)是 每个单位立体角离开表面的 Irradiance 。

    例如:对于一个区域的光则沿给定射线(点上表面和出射方向)发射的光。


    三、Irradiance vs. Radiance

    第二部分:BRDF

    一、BRDF

    双向反射分布函数(The Bidirectional Reflectance Distribution Function,简称BRDF)。可以从两个方面通俗理解:

    1. 从某个方向上进来的光线,反射到任一个方向上的反射光线所具有的能量。
    2. 光线吸收后再发射

    (一)BRDF 计算公式

    (二)反射等式

    挑战:递归等式

    有其他的光(别的物体的 radiance)会影响 ==> 递归问题

    (三)渲染等式

    首先从反射方程推出一个通用化解决方法——渲染方程

    二、理解渲染方程

    (一)反射方程

    对于单束光线的反射方程:

    对于多束光线是求和

    对于面光源是求积分

    (二)渲染方程

    也可以看作是递归问题,简化写为:

    再进行简写,将方框中的看作是反射操作符 K。简写形式为:

    求解L = E + KL后的结果为【直接光照+间接光照 = 全局光照】:

    光栅化作用——可以把物体投影到屏幕上,因此当知道了着色点和光源的位置关系,。就可以进行着色。即光栅化光线传播的内容仅能够包含 “E + KE” 的信息,其余的信息光栅化比较难做。因此使用光线追踪解决光线传播的问题。

    (三)应用举例

    1. 直接光照的效果:

    2. 加上一次反弹的效果

    3. 两次反弹的效果

    4. 四次反弹的效果

    此时,图像上方的灯从黑变亮了,是因为光线只有经过几次弹射后,才能弹射出来。就好比照射一个玻璃球,经过两次折射后才出去。

    5. 8次反弹的效果

    6. 16次反弹的效果

    思考:光线引入无限次反弹后,会收敛于某一个亮度?还是会无限变亮(过度曝光)?

    Ans: 会收敛于某一个亮度,从光源发出的能量守恒或者大自然角度均可理解这个原因。

    三、概率论复习

    这一块比较简单就不总结了,主要是复习了离散、连续两种情况下的概率、期望计算。方便下节课求解渲染方程。

  • 相关阅读:
    CoInitialize和CoInitializeEx
    ras api win7 和 win xp 遍历时的不同
    jquery实现多行文字图片滚动效果
    js点击button按钮跳转到页面代码
    phpmailer使用163邮件发送邮件例子
    linux中mail函数不能发送邮件
    FreeBSD修改root密码错误passwd: pam_chau(www.111cn.net)thtok(): error in service module from:http://www.111cn.net/sys/freebsd/66713.htm
    asp.net中c# TextBox.MaxLength例子
    WampServer修改Mysql密码的步骤
    dedecms5.7文章实现阅读全文功能二次开发
  • 原文地址:https://www.cnblogs.com/somedayLi/p/12609653.html
Copyright © 2011-2022 走看看