微表面分布函数(Microfacet Distribution Function)确切含义

《Physically-Based Shading Models in Film and Game Production》中说:“D()的值不局限于0到1,可以任意大”,这句话使我比较好奇D()的确切含义。

以下引自《Physically-Based Shading Models in Film and Game Production》:

(http://renderwonk.com/publications/s2010-shading-course/hoffman/s2010_physically_based_shading_hoffman_a_notes.pdf)

然后在pbrt中找到了关于D的一些描述:

以下摘自pbrt p537~538:

根据

可以领会出D的确切含义。

可以把D看作是一个画在半球上的分布表,它是这样制作做出来的:

取单位面积宏表面,统计其上的微表面面积分布情况,

将单位半球面分割成无限多个面积无限小的球面元,

设中心方向为w的球面元为s(w),其面积为ds,

s(w)覆盖包含w在内的一簇方向,

设以这簇方向为法向的所有微表面面积之和为A(w),

则A(w)在s(w)上的密度为A(w)/ds。

将此密度值填写到球面元s(w)上,半球面表格D就制作成功了。

普通表格都是画在平面纸上,而此表格画面半球面上。

根据上面表格D的制作过程,便可很清楚地看出分布D的确切含义:

D(w)表示:单位宏表面上,法线落在方向为w的单位立体角内的微表面总面积。

因此D(w)*dw表示单位宏表面上法线落在微分立体角dw内的微表面总面积。

设theta为w与宏表面法线的夹角,根据几何关系易知法向为w的微表面与宏表面之间的夹角也为theta。

于是D(w)*dw*cos(theta)表示:单位宏表面上法线落在微分立体角dw内的微表面总面积在宏表面上的投影。

由于各方向的微表面在宏表面上投影总和恰好覆盖宏表面,所以

D(w)*dw*cos(theta)在半球上的积分应等于宏表面的面积,由于这里我们取的是单位宏表面,所以面积为1,即:

时间: 2024-08-25 09:06:38

微表面分布函数(Microfacet Distribution Function)确切含义的相关文章

计算机图形学(二)——微表面模型

计算机图形学中基于物理建模的渲染技术之所以能给人极佳的视觉体验,是因为利用这些渲染技术能够很真实的反映出每种物体独有的"质感".我们能通过人眼观察来感受物体表面"质感"的原因,也是因为物体表面反射周围环境的特性不同而造成的,因此对物体表面的物理建模对于其表面本身的质感表现至关重要.对物体表面的建模,最简单的是镜面模型.利用镜面模型渲染出的物体具有十分光滑的感觉.然而现实生活中很多物体表面一般是粗糙的,因此为了对上述的一般表面进行物理建模并将该物理模型应用到实际的渲染

(转)图形学理论知识 BRDF 双向反射分布函数(Bidirectional Reflectance Distribution Function)

BRDF理论 BRDF表示的是双向反射分布函数(Bidirectional Reflectance Distribution Function),它描述了光线如何在物体表面进行反射,可以用来描述材质属性. BRDF的输入参数是入射光的的仰角.方位角.出射光的仰角.方位角,还与入射光的波长相关. BRDF的输出结果是一个数值,表示在给定的入射条件下,出射方向上反射的相对能量,另外一种理解方式是用光子的概念来考虑,BRDF给出了入射光子以特定方向离开的概率. BRDF有一些重要的属性: 1.Helm

累积分布函数(cumulative distribution function)

sklearn实战-乳腺癌细胞数据挖掘(博客主亲自录制视频教程,QQ:231469242) https://study.163.com/course/introduction.htm?courseId=1005269003&utm_campaign=commission&utm_source=cp-400000000398149&utm_medium=share 累积分布函数(cumulative distribution function)定义:对连续函数,所有小于等于a的值,其

PIC2, The Cumulative Distribution Function and Quantile Plot

Defination: 累积分布函数: The cumulative distribution function (CDF) does just that. The CDF at point x tells us whatfraction of events has occurred “to the left” of x. In other words, the CDF is the fraction ofall points xi with xi ≤ x. http://docs.scipy.

(function($){...})(jQuery) 含义

最近在项目js文件末端中发现这样的代码,对于前端技术比较薄弱的我,着实还是有点晕,好在查阅到了相关资料,现解释如下: (function($){  $.plugin = new org.plugin.Plugin();  window.plugin=$.plugin; })(jQuery); 其实,这个函数可以看成两部分:一个是函数定义部分function($){$.plugin = new org.plugin.Plugin();window.plugin=$.plugin;}另一个是调用函数

(function(){})()的含义

代码如下:(function(){ //这里忽略jQuery所有实现 })(); (function(){ //这里忽略jQuery所有实现 })(); 半年前初次接触jQuery的时候,我也像其他人一样很兴奋地想看看源码是什么样的.然而,在看到源码的第一眼,我就迷糊了.为什么只有一个匿 名函数又没看到运行(当然是运行了……),就能有jQuery这么个函数库了?于是,我抱着疑问来到CSDN.结果相信现在很多人都很清楚了(因为在我之 后也不乏来者,呵呵~).当一个匿名函数被括起来,然后再在后面加一

TensorFlow 中 conv2d 的确切含义

在读: <TensorFlow:实战Google深度学习框架> 才云科技Caicloud, 郑泽宇, 顾思宇[摘要 书评 试读]图书https://www.amazon.cn/gp/product/B06WGP12TV 结合: [TensorFlow]tf.nn.conv2d是怎样实现卷积的? - xf__mao的博客 - 博客频道 - CSDN.NEThttp://blog.csdn.net/mao_xiao_feng/article/details/53444333 neural netw

概率分布函数, 概率密度函数与概率质量函数

概率分布函数. Accumulative Distribution Function. ADF P(x)=Prob(X<x)P(x)=Prob(X<x) XX可以是连续的, 也可以是离散的随机变量. 概率密度函数. Probability Density Function. PDF. 为连续随机变量定义的: p(x)=P′(x)p(x)=P′(x) 它本身不是一个概率值, 可以大于1. 在xx上积分后才是概率值. 在数学中,连续型随机变量的概率密度函数(在不至于混淆时可以简称为密度函数)是一个

unity3d shader的软高光的金属效果

软高光的金属效果 学了书里的这一章有很多知识我也很不了解,于是查了一些资料,渐渐的明朗了一些,,一下结合书里的知识和网上的资料与我的理解来说明 主要原理是Cook-Torrance光照模型的算法,是BRDF(双向反射分布函数)的一种,具体算法请看后面 新建一个shader 先浏览一下变量 _MainTint 主色调 _RoughnessTex   粗糙度贴图(控制高光大小) _Roughness 表面粗糙程度 _SpecularColor  高光颜色 _SpecPower  高光强度 _Fres