十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

渲染方程--光线追踪

渲染方程--光线追踪 0、前言光线追踪的渲染方程看起来复杂其实意思很朴素朝眼睛方向出去的光 物体自己发出的光 从四面八方照过来、经过材质反射后出去的光。各部分含义​朝摄像机方向离开的 Radiance​物体自己发出的光比如灯泡​从某个方向射来的 Radiance​材质如何反射光也就是 BRDF包含漫反射和镜面反射cos⁡θ斜着来的光贡献较少积分把上方所有入射方向都考虑进去1、光源的Radiance怎么求1.1、Radiance 的定义假设光源表面有一小块微元面积 dA它朝某个立体角方向 dω发射出去的功率Radiance中文名辐射亮度即表面微元的半球方向上所有方向的亮度都是相同的Radiance的微分方程为各符号的含义​光源发出的 Radiance光功率单位是瓦特W光源上的一小块面积一小片方向范围单位是立体角srθ发光方向与光源表面法线的夹角cos⁡θ dA从该方向看过去的“有效面积”单位是W/(⋅sr)这里下标 e 表示 emitted也就是“发射出去的”。1.2、为什么有一个 cos⁡θ想象一扇发光的窗户。正对窗户看能看到完整的一大块观察方向 --- | 窗户 |斜着看窗户看起来变窄了观察方向 --- / 窗户 /它在这个方向上的有效面积是Acos⁡θ因此一小块面积朝一小片方向发出的功率是(x,ω) cos⁡θ dA dω即发出的功率 Radiance × 有效面积 × 方向。这个公式比定义公式更适合直观理解。1.3、最常见情况均匀漫射面积光源怎么计算Radiance现实中的柔光灯、发光面板在简化模型中经常被当成Lambertian emitter朗伯发光体。它的特点是(x,ω) 也就是只要方向在光源正面Radiance 对所有方向都相同。这里有一个很容易误解的地方“Radiance 相同”不代表朝所有角度发出的总功率相同。因为实际功率里还有 cos⁡θcos⁡θ dA dω所以正前方cos⁡0∘1发得最多60 度方向cos⁡60∘0.5接近平行cos⁡90∘0几乎不发1.3.1、单面光源已知总功率怎么计算 Radiance假设有一块面积为 A的均匀面光源只向正面半球发光总辐射功率为各处亮度相同是朗伯发光体那么这就是渲染里非常常用的公式。例一块面积为A2的发光面板只向正面发出100 W那么它的 Radiance 是约等于≈ 15.9 W/()因为它是朗伯光源所以从正面、30 度或60 度方向查询得到的都是 15.9。但是它朝斜方向实际分配的功率会被减少。1.3.2、为什么公式里是Pi不是 2Pi光源正面的所有方向组成半球半球的立体角确实是但不能直接写成这是错误的。因为不同方向的有效面积 cos⁡θdA把整个半球方向的积分后不再具体推导所以 得到1.3.3、双面光源怎么计算Radiance如果一个面积光源正反两面都发光而且总功率是两面加起来的那么1.4、点光源怎么计算Radiance1.4.1、无半径的点光源理想点光源面积为零。如果把A0代入结果会变成无穷大。距离点光源 r 的表面接收到的 Irradiance 为这就是点光源常见的平方反比衰减。还有一个公式挺重要可以求无半径点光源到 物体表面的入射E: Irradiance 单位面积上的功率单位 W/()当然这里其实还要加上为入射光线与 反射面法线的夹角那么距离点光源 r 的表面的反射,1.4.2、有半径的点球形光源只需要考略表面微元的半球方向
返回列表