博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微表面分布函数(Microfacet Distribution Function)确切含义
阅读量:6297 次
发布时间:2019-06-22

本文共 885 字,大约阅读时间需要 2 分钟。

 

《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的微分立体角dw内的微表面总面积与dw的商。

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

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

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

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

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

 

转载地址:http://jvlta.baihongyu.com/

你可能感兴趣的文章
mybatis学习
查看>>
LCD的接口类型详解
查看>>
Spring Boot Unregistering JMX-exposed beans on shutdown
查看>>
poi 导入导出的api说明(大全)
查看>>
Mono for Android 优势与劣势
查看>>
将图片转成base64字符串并在JSP页面显示的Java代码
查看>>
js 面试题
查看>>
sqoop数据迁移(基于Hadoop和关系数据库服务器之间传送数据)
查看>>
腾讯云下安装 nodejs + 实现 Nginx 反向代理
查看>>
Javascript 中的 Array 操作
查看>>
java中包容易出现的错误及权限问题
查看>>
AngularJS之初级Route【一】(六)
查看>>
服务器硬件问题整理的一点总结
查看>>
SAP S/4HANA Cloud: Revolutionizing the Next Generation of Cloud ERP
查看>>
Mellanox公司计划利用系统芯片提升存储产品速度
查看>>
白帽子守护网络安全,高薪酬成大学生就业首选!
查看>>
ARM想将芯片装进人类大脑 降低能耗是一大挑战
查看>>
Oracle数据库的备份方法
查看>>
Selenium 自动登录考勤系统
查看>>
关于如何以编程的方式执行TestNG
查看>>