PBR Step by Step(二)辐射度
转载请注明出处:http://www.cnblogs.com/jerrycg/p/4929119.html
基于物理的渲染要尽量遵循能量守恒原则,主要的测量单位为辐射度。
辐射能Radiant energy
辐射能\({Q}\)是电磁波能量的基本单位,单位为焦耳,用符号\({J}\)表示。
单个光子的辐射能\({Q}=\frac{h\,c}{\lambda }\),其中\({h}\)为普朗克常数\({h}={6.62620}\times {10}^{-34}\)焦耳/秒;\({c}\)为光速\({c}={2.998}\times {10}^{8}\)米/秒;\(\lambda\)为波长,单位为米。
辐射通量Radiant flux
辐射通量\(\Phi\)定义为每秒通过物体表面的辐射能,单位为焦耳/秒(\({J}/{s}\))或瓦特\({W}\)。
光源每秒所发射的辐射能(辐射功率)为\(\Phi=\frac{dQ}{dt}\)
辐射照度Irradiance
辐射照度是单位面积上的辐射通量,\({E}=\frac{d\Phi}{dA}\),其中\({dA}\)表示极小面积,单位为瓦/平方米(\({W}\cdot {m}^{-2}\))。
辐射亮度Radiance
辐射亮度\({L}\)定义为沿辐射方向上的单位投影面积、单位立体角上的辐射通量,单位为(\({W}\cdot {m}^{-2}\cdot{sr}^{-1}\))。
\({L}=\frac{{d}\Phi}{{d{A}^{\perp}}\,{d\omega }}\)
其中入射角度如下图所示:

\({dA}^{\perp}=\cos \theta \, {dA}\),则\({L}=\frac{{d}\Phi}{{dA}\, \cos \theta \, {d\omega }}\)
辐射度积分
有了以上定义,可知辐射照度为物体表面上的辐射亮度。极小单位表面(投影立体角)上的单位入射辐射度为:
\({dE_i(p, \, \omega_i)}={L_i(p, \, \omega_i) \, \cos \theta_i \, d \omega_i}\)
其中,\({L_i(p, \, \omega_i)}\)是\({\Omega_i}\)方向上点\({p}\)的入射辐射亮度。
对上式积分,可得有限立体角\({\Omega_i}\)上的入射辐射度为:
\({E_i(p, \, \omega_i)}=\int_{\Omega_i} {L_i(p, \, \omega_i) \, \cos \theta_i \, d \omega_i}\)
PBR Step by Step(二)辐射度的更多相关文章
- e2e 自动化集成测试 架构 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step (二) 图片验证码的识别
上一篇文章讲了“e2e 自动化集成测试 架构 京东 商品搜索 实例 WebStorm Node.js Mocha WebDriverIO Selenium Step by step 一 京东 商品搜索 ...
- PBR Step by Step(三)BRDFs
BRDF BRDF(Bidirectional Reflectance Distribution Function)双向反射分布函数,用来描述给定入射方向上的入射辐射度以及反射方向上的出辐射度分布,B ...
- Metrics.NET step by step使用Metrics监控应用程序的性能
使用Metrics监控应用程序的性能 在编写应用程序的时候,通常会记录日志以便事后分析,在很多情况下是产生了问题之后,再去查看日志,是一种事后的静态分析.在很多时候,我们可能需要了解整个系统在当前,或 ...
- 【转载】MDX Step by Step 读书笔记(四) - Working with Sets (使用集合)
1. Set - 元组的集合,在 Set 中的元组用逗号分开,Set 以花括号括起来,例如: { ([Product].[Category].[Accessories]), ([Product].[ ...
- 稀疏表示step by step(转)
原文地址:稀疏表示step by step(转)作者:野火春风 稀疏表示step by step(1) 声明:本人属于绝对的新手,刚刚接触“稀疏表示”这个领域.之所以写下以下的若干个连载,是鼓 ...
- Step by step Dynamics CRM 2011升级到Dynamics CRM 2013
原创地址:http://www.cnblogs.com/jfzhu/p/4018153.html 转载请注明出处 (一)检查Customizations 从2011升级到2013有一些legacy f ...
- SQL Server 维护计划实现数据库备份(Step by Step)(转)
SQL Server 维护计划实现数据库备份(Step by Step) 一.前言 SQL Server 备份和还原全攻略,里面包括了通过SSMS操作还原各种备份文件的图形指导,SQL Server ...
- 转载自~浮云比翼:Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥)
Step by Step:Linux C多线程编程入门(基本API及多线程的同步与互斥) 介绍:什么是线程,线程的优点是什么 线程在Unix系统下,通常被称为轻量级的进程,线程虽然不是进程,但却可 ...
- WPF Step By Step 自定义模板
WPF Step By Step 自定义模板 回顾 上一篇,我们简单介绍了几个基本的控件,本节我们将讲解每个控件的样式的自定义和数据模板的自定义,我们会结合项目中的具体的要求和场景来分析,给出我们实现 ...
随机推荐
- uva 1636 Headshot
https://vjudge.net/problem/UVA-1636 首先在手枪里随机装一些子弹,然后抠了一枪,发现没有子弹.你希望下一枪也没有子弹,是应该直接再抠一枪(输出SHOOT)呢,还是随机 ...
- BZOJ2588:LCA+主席树来实现树上两点之间第K大点权查询
对于每个节点维护这个节点到根的权值线段树 对于每个询问(x,y),这条路径上的线段树 tree[x]+tree[y]-tree[lca(x,y)]-tree[fa[lca(x,y)]] #includ ...
- 在vm上面安装Linux系统
1 在vm上面安装Linux系统 1 以管理员的身份运行VMware: 点击VM图标然后右键属性 ,点兼容性 ---特权 等级 选择 以管理员的身份运行此软件 2 . 添加一个虚 ...
- .net core 集成 autofac.
1. Install Install-Package Autofac Install-Package Autofac.Extensions.DependencyInjection 2.Startup ...
- [linux]ubuntu在线安装mysql
1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client 3. sudo apt-get install li ...
- 引用类型 ( 对象定义 )——Date 类型
本文地址:http://www.cnblogs.com/veinyin/p/7607743.html 1 创建日期对象 var date = new Date(); 2 可以给日期对象传值 2.1 ...
- [HNOI2009]有趣的数列 题解(卡特兰数)
[HNOI2009]有趣的数列 Description 我们称一个长度为2n的数列是有趣的,当且仅当该数列满足以下三个条件: (1)它是从1到2n共2n个整数的一个排列{ai}: (2)所有的奇数项满 ...
- Problem 2278 YYS (FZU + java大数)
题目链接:http://acm.fzu.edu.cn/problem.php?pid=2278 题目: 题意: 有n种卡牌,每种卡牌被抽到的概率为1/n,求收齐所有卡牌的天数的期望. 思路: 易推得公 ...
- MyBatis笔记之配置输出日志并打印输出SQL语句
1. 引入Log4J的Maven依赖: <dependency> <groupId>log4j</groupId> <artifactId>log4j& ...
- koa中间层 文件下载的请求转发
背景: 前端用a标签发起下载文档的get请求 node中间层接到get请求后将请求转发到java后端 java后端返回文档流传递给node中间层 好处: 后端的java业务逻辑层接口.数据库不向外部暴 ...