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 自定义模板 回顾 上一篇,我们简单介绍了几个基本的控件,本节我们将讲解每个控件的样式的自定义和数据模板的自定义,我们会结合项目中的具体的要求和场景来分析,给出我们实现 ...
随机推荐
- AbstractTransactionalJUnit4SpringContextTests事务回滚
在单元测试中继承AbstractTransactionalJUnit4SpringContextTests类的 时候,会默认事务回滚. 需要照常执行的话,在执行的测试方法上添加@Rollback(fa ...
- POJ3061 Subsequence 尺取or二分
Description A sequence of N positive integers (10 < N < 100 000), each of them less than or eq ...
- Dijkstra算法:POJ No 3268 Silver Cow Party
题目:http://poj.org/problem?id=3268 题解:使用 priority_queue队列对dijkstra算法进行优化 #include <iostream> #i ...
- 《HTML5编程之旅》系列二:Communication 技术初探
本文主要探讨用于构建实时跨源通信的两个模块:跨文档消息通信(Cross Document Messaging)和XMLHttpRequestLevel2.通过这两个模块,我们可以构建不同域间进行安全 ...
- Javascript的执行过程详细研究
下面我们以更形象的示例来说明JavaScript代码在页面中的执行顺序.如果说,JavaScript引擎的工作机制比较深奥是因为它属于底层行为,那么JavaScript代码执行顺序就比较形象了,因为我 ...
- 【BZOJ】2466: [中山市选2009]树 高斯消元解异或方程组
[题意]给定一棵树的灯,按一次x改变与x距离<=1的点的状态,求全0到全1的最少次数.n<=100. [算法]高斯消元解异或方程组 [题解]设f[i]=0/1表示是否按第i个点的按钮,根据 ...
- 微信小程序开发(二)创建小程序
安装完“微信Web开发者工具”后,手机扫描二维码进入页面. 点击“添加项目”,填入之前获得的AppID(无AppID可忽略),输入项目名称“Hello WXapplet”,选定本地文件夹作为项目目录. ...
- Spring Boot工程结构推荐
工程结构(最佳实践) Spring Boot框架本身并没有对工程结构有特别的要求,但是按照最佳实践的工程结构可以帮助我们减少可能会遇见的坑,尤其是Spring包扫描机制的存在,如果您使用最佳实践的工程 ...
- 【转】CentOS7 yum方式配置LAMP环境
采用Yum方式搭建: Apache+Mysql+PHP环境 原文地址: http://www.cnblogs.com/zutbaz/p/4420791.html 1.安装Apache yum inst ...
- 2017ACM暑期多校联合训练 - Team 8 1008 HDU 6140 Hybrid Crystals (模拟)
题目链接 Problem Description Kyber crystals, also called the living crystal or simply the kyber, and kno ...