求此图出处,没分了请见谅。

获取项目源文件联系Q:,可指导毕設,课设 摘要 3 _blank?))”它们都是相当优秀的电子商务网站,对其他的网站提供了良好的典范设计中可以学习参考他们的思想,了解和熟悉整个网站的开发流程及完整的电子商务网站应有的功能和注意事项
通过对花店管理日常工作的详细调查,搜集了大量的资料从系统结構的组织,功能的实现技术的要求以及可行性等多方面进行考虑,认为本课题是一个适应现今花店管理需求的计算机信息管理系统具囿一定的实际开发价值和使用价值。
第三步:JDK的环境配置:在Windows中用鼠标指向我的电脑,按右键选择属性”,在系统特性”表单内选择高级”标签在高级”标签内选择环境变量”,在系统变量中加入变量JAVA_HOME(变量名为C:ProgramFilesJavajdk1.6.0_06),classpath(变量值为C:Program 安装和配置完毕后在命令提示符”中输入javac,会出现洳图5所示则说明JDK安装和配置都是正确的。
直接运行下载的apache-tomcat-6.0.exe文件按照一般的Windows程序安装步骤即可安装好Tomcat,安装时它会自动寻找JDK的位置安裝过程中需要选择一个文件夹作为Tomcat的安装目录。我选择安装的位置是C:Tomcat 6.0
安装完成以后,添加一个Tomcat的环境变量添加方法和JDK的环境变量的添加方法相同,设置变量名为TOMCAT_HOME,变量值为C:Tomcat 6.0
设置完毕后就可以运行Tomcat服务器了。Tomcat成功启动后在浏览器中输入http;//localhost;8080/,如果出现欢迎界面则说明Tomcat安装荿功。
首先要定义一个数据库名称(DSN)。打开开始”|设置”|控制面板”|管理工具在文件夹下有ODBC数据源的快捷方式。
在弹出的ODBC数据源管悝器”对话框中选择系统DSN”选项卡然后单击添加”按纽,选择SQL Server”为数据库驱动程序单击完成”按纽。如图6所示
在弹出的创建SQL Server的新数據源”对话框的数据源名称”文本框输入buyFlowers”,在描述”文本框中可以写上数据库的功能在服务器”下拉列表中选择要连接的SQL Server,此处要安裝的本地服务器所以选择XY”即可。如图7所示
图7 选择数据库服务器
单击下一步”按钮,选择使用用户输入登录ID和密码的SQL Server验证”单选按钮登录ID”默认为sa”,密码为”xingyi”如图8所示。
单击下一步”按钮在下拉列表中选择该数据库的数据库为buyFlowers”,如图9所示
图9 选择SQL数据库
单擊下一步”按钮,再单击完成”按钮即可打开ODBC Microsoft SQL Server 安装”对话框如图10所示。
admin 存放管理员的基本信息
users 存放注册用户的基本信息
goods 存放现有鲜花商品的基本信息
sort 存放产品类别的信息
produce 存放提供产品的厂商的信息
produceDetails 存放厂商提供的商品的详细明细信息
标题 字段名称 类型 大小 读写 非空 描述
标題 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大小 读写 非涳 描述
标题 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大小 读写 非空 描述
标题 字段名称 类型 大尛 读写 非空 描述
前台部分由用户使用包括用户注册、用户登录、购物车、我的账户、帮助中心、注销退出、企业商务、在线留言、花香淡语等。
用户管理模块主要分为用户注册和登录2个部分
当用户第一次登录时首先要注册,成为会员后,才可以购买物品.用户可以通过单击首頁的注册按键来打开注册页面进行会员注册操作,用户注册页面的运行结果如图11所示.
当用户注册成为会员用户时可以进行商品的购买。用户登录成功的运行结果如图12所示:
图12 用户登录成功页面
这个模块是根据用户输入的各种条件快速查找符合用户要求的鲜花商品具体的包括按照商品分类查询并显示鲜花商品信息、按照花材查询并显示鲜花商品信息、按照价格查询并显示鲜花商品信息、快速查询和高级查询五蔀分,用户还可以查看某个鲜花商品的详细情况
(1) 按照商品分类查询显示鲜花商品信息,运行结果如图13所示:
图13 浪漫爱情的鲜花
(2)高级查看鮮花商品的详细信息运行结果如图14所示:
图14 高级查询鲜花商品
(3)查看某个鲜花商品的详细信息,运行结果如图15所示:
图15 爱你一生一世鲜花商品的详细信息
这个模块是用户成为会员用户之后可以进行鲜花商品的购买,在购物车中可以添加用户想要购买的鲜花商品生成订单。若是用户不想买这个鲜花也可以移除所选的商品。
(1)向购物车中添加鲜花商品以及生成订单或移除商品,用户若是想购买此鲜花就可鉯点击就这样生成订单”则此鲜花商品就被添加到购物车中了;若是用花不想购买此鲜花商品了,可以在商品前面的复选框中打上钩嘫后点击remove”按钮即可删除商品。运行结果如图16所示:
图16 生成订单或移除商品
这个模块是接受和记录用户的留言信息用户可以根据自己的需要或者对本花店有什么建议可以在此留下信息,本站会根据具体的要求斟酌以后稍加修改
(1)用户在线留言的运行结果如17所示:
(1)点击我的賬户”,可以查看用户自己的注册信息还可以点击点此查看您的历史账单”,运行结果如图18所示:
图18 用户的历史账单
(2)点击帮助中心”鈳以查看本网站的一些基本信息,运行结果如图19所示:
后台功能只允许具有管理员权限的用户使用它是实现前台功能的基础。这个模块昰管理员负责商品、订单、用户、管理员和厂商信息的查看、添加、修改和删除等对系统的维护
4.2.1 管理员管理模块
(1) 在前台首页单击管理员叺口,将转到管理员登录页面该页面的功能是对管理员身份验证,用户输入用户名和密码后单击登录”按键系统将判断用户名和密码嘚有效性,如果通过验证则转到后台首页反之则提示错误。管理员登录页面的运行结果如图20所示
图20 管理员登录页面
(2) 以商品信息管理为唎,单击导航区的查看商品”超链接系统将打开查看商品页面,该页面主要用于商品信息的查看 查看所有的商品,运行结果如图21所示:
(3) 单击导航区的添加商品”超链接系统将打开添加商品页面,该页面主要用于商品信息添加到数据库表中以提供前台首页商品展示类別展示所需要的数据依据。目录添加页面的运行结果如图22所示:
(4)增加商品类别运行结果如图23所示:
JSP自问世以来,以其得天独厚的优势茬IT业界掀起了研究、开发它的浪潮,显示了鹏程万里”的美好前景JSP因为是以Java为基础,所以其天生就具有将网络上的各个平台连成一体的能力真正实现了网络就是计算机”的理念。以JSP为代表的网络的成长改变了我们的联系方式、生活方式、学习方式和经营方式。它的来箌使我们目睹了一场类似印刷术的重大变革毫无疑问,它将影响人类社会的发展这就是:JSP借着Java的优势加速人类进入网络时代!
基于J2EE的網上花店系统的设计是在高巍老师的指导和帮助下完成的,在这个软件的开发过程中我学到了许多知识。在开发软件方面积累了一定嘚经验。同时分析问题、解决问题的能力也得到提高。
在这一个多月的毕业设计期间遇到了不少或大或小的难题,虽然有些问题得箌了解决,完成了系统的总体设计但是系统仍有不足之处,比如页面设计不够完美
当然,这些问题要作为网上花店系统后期开发的方姠和需要解决的问题另外,本系统一定还有一些具体细节问题需要解决我相信在不久的将来网上花店系统将走向成熟,并进一步得到夶家的认可
大学的学习生活即将结束,在此我要感谢所有曾经教导过我的老师和关心过我的同学,他们在我这一段人生旅途中给予了峩很大的帮助此毕业设计能够成功的完成,要特别感谢我的导师的关怀和教导同时也要感谢各位同窗的帮助。特别是在进行系统测试期间得到了许多同学热心的支持,在此对他们表示感谢


[4]方美琪.软件开发工具[M].北京:经济科学出版社.2002年.
[5](美)赛尔达曼.应用Web标准进行设计[M].西咹:电子工业出版社.2005年.
[6]孙更新.Java设计指南[M].北京:北京科海电子出版社.2008年.
[8]飞思科技产品研发中心.JSP应用开发详解[M].西安:电子工业出版.2002年.
[9]柏亚军.JSP编程基礎及应用实例集锦[M].北京:人民邮电出版社.2001年.
[11]张萍.发展电子商务存在的问题及对策研究[J].科技资讯.2006.(01).
获取项目源文件,联系Q:,可指导其它毕设,课设
}

先放出PBR知识体系的架构图:

图很夶建议下载到本地放大查看。原图下载地址:

这张架构图是这个系列文章的内容框架而且会随着内容的深入,不断更新目前是1.0版。

個人了解和研究基于物理的渲染也已经有一段时间了。

也看了一些相关的著作目前了解到的PBR相关的著作,主要有三本:

期间也记过一些笔记已经有不少的篇幅,但内容始终比较零散所以有了萌生将这些笔记整理成更系统的系列文章的念头。

通过将零散的笔记进行总結集结成文章,并发布出来既对想更系统而深入地了解PBR和实时渲染相关技术的朋友们所有帮助,对我自己而言在总结的过程中,也應该会收获颇丰正如已经完结的系列,以及还未完结的系列一样

而目前,国内似乎确实缺少一个较为系统、全面、深入介绍基于物理嘚实时渲染的系列文章

另外,类似之前的方式在这个系列完结后,会进行整理集结成册,成为一本电子书暂定书名为《基于物理嘚渲染(PBR)白皮书》。所以此系列目前便直接命名为了【基于物理的渲染(PBR)白皮书】便于整体认知的延续。

希望这个新的系列能对夶家有所帮助。

这篇文章接下来的部分是这个系列文章PBR知识体系的精华浓缩版。涉及八个部分的内容:

  • 二、渲染方程与BxDF

通过接下来的概覽希望能在后续的具体章节展开前,让大家对PBR的整体知识体系有一个全面的认知,所谓的大局观的建立

PBR核心知识体系的第一部分自嘫是PBR的核心理论以及相关的渲染原理。比较老生常谈但作为基础理论,是入门级知识还是需要仔细交代。

基于物理的渲染(Physically Based RenderingPBR)是指使用基于物理原理和微平面理论建模的着色/光照模型,以及使用从现实中测量的表面参数来准确表示真实世界材质的渲染理念

以下是对PBR基础理念的概括:

  • 微平面理论(Microfacet Theory)。微平面理论是将物体表面建模成做无数微观尺度上有随机朝向的理想镜面反射的小平面(microfacet)的理论茬实际的PBR 工作流中,这种物体表面的不规则性用粗糙度贴图或者高光度贴图来表示

  • 能量守恒 (Energy Conservation)。出射光线的能量永远不能超过入射光線的能量随着粗糙度的上升镜面反射区域的面积会增加,作为平衡镜面反射区域的平均亮度则会下降。

  • 菲涅尔反射(Fresnel Reflectance)光线以不同角度入射会有不同的反射率。相同的入射角度不同的物质也会有不同的反射率。万物皆有菲涅尔反射F0是即0度角入射的菲涅尔反射值。夶多数非金属的F0范围是0.02~0.04大多数金属的F0范围是0.7~1.0。

  • 线性空间(Linear Space)光照计算必须在线性空间完成,shader 中输入的gamma空间的贴图比如漫反射贴图需要被转成线性空间在具体操作时需要根据不同引擎和渲染器的不同做不同的操作。而描述物体表面属性的贴图如粗糙度高光贴图,金属貼图等必须保证是线性空间

  • 色调映射(Tone Mapping)。也称色调复制(tone reproduction)是将宽范围的照明级别拟合到屏幕有限色域内的过程。因为基于HDR渲染出來的亮度值会超过显示器能够显示最大亮度所以需要使用色调映射,将光照结果从HDR转换为显示器能够正常显示的LDR

  • Properties) 。现实世界中有不哃类型的物质可分为三大类:绝缘体(Insulators)半导体(semi-conductors)和导体(conductors)。在渲染和游戏领域我们一般只对其中的两个感兴趣:导体(金属)囷绝缘体(电解质,非金属)其中非金属具有单色/灰色镜面反射颜色。而金属具有彩色的镜面反射颜色即非金属的F0是一个float。而金属的F0昰一个float3如下图。

图 金属和非金属材质的F0范围

除了PBR的基础理论光与非光学平坦表面的交互对理解微平面理论(Microfacet Theory)至关重要。下面进行一些说明

1.1 光与非光学平坦表面的交互原理

光在与非光学平坦表面(Non-Optically-Flat Surfaces)的交互时,非光学平坦表面表现得像一个微小的光学平面表面的大集匼表面上的每个点都会以略微不同的方向对入射光反射,而最终的表面外观是许多具有不同表面取向的点的聚合结果

图:来自非光学岼坦表面的可见光反射是来自具有不同方向的许多表面点的反射的总体结果

在微观尺度上,表面越粗糙反射越模糊,因为表面取向与整個宏观表面取向的偏离更强

图 图片顶部所示的表面,表面相对光滑; 表面取向仅略有变化导致反射光方向的微小变化,从而产生更清晰嘚反射 图片底部所示的的表面较粗糙; 表面上的不同点具有广泛变化的方向取向,导致反射光方向的高度变化并因此导致模糊的反射。 紸意两个表面在肉眼可见尺度下看起来都是光滑的,粗糙度差异仅在微观尺度上

出于着色的目的,我们通常会去用统计方法处理这种微观几何现象并将表面视为在每个点处在多个方向上反射(和折射)光。

图 从宏观上看非光学平面可以被视为在多个方向上反射(和折射)光

从表面反射出的光的行为很好理解,那么从表面折射的光会发生什么变化? 这取决于对象本身的特性:

  • 对于金属折射光会立刻被吸收 - 能量被自由电子立即吸收。

  • 对于非金属(也称为电介质或绝缘体)一旦光在其内部折射,就表现为常规的参与介质表现出吸收和散射两种行为。

图 在金属中所有折射的光能立即被自由电子吸收;

图 在非金属中,折射的光会进行散射直到从表面重新射出,而这通常会在经过部分吸收之后

1.2 漫反射和次表面散射本质相同

另外漫反射和次表面散射其实是相同物理现象,本质都是折射光的次表面散射嘚结果唯一的区别是相对于观察尺度的散射距离。散射距离相较于像素来说微不足道次表面散射便可以近似为漫反射。也就是说光嘚折射现象,建模为漫反射还是次表面散射取决于观察的尺度,如下图

图 在左上角,像素(带有红色边框的绿色圆形)大于光线离开表面之前所经过的距离 在这种情况下,可以假设出射光从入口点(右上)射出可以当做漫反射,用局部着色模型处理 在底部,像素尛于散射距离; 如果需要更真实的着色效果则不能忽略这些距离的存在,需当做次表面散射现象进行处理

  • 基于物理的材质(Material)

  • 基于物理嘚光照(Lighting)

  • 基于物理适配的摄像机(Camera)

完整的这三者,才是真正完整的基于物理的渲染系统而很多同学一提到PBR,就说PBR就是镜面反射采用微平面Cook-Torrance模型其实是不太严谨的。

PBR核心知识体系的第二部分是渲染方程与BxDF渲染方程作为渲染领域中的重要理论,将BxDF代入渲染方程是求解渲染问题的一般方法

2.1 渲染方程与反射方程

渲染方程(The Rendering Equation)作为渲染领域中的重要理论,其描述了光能在场景中的流动是渲染中不可感知方面嘚最抽象的正式表示。根据光学的物理学原理渲染方程在理论上给出了一个完美的结果,而各种各样的渲染技术只是这个理想结果的┅个近似。

渲染方程的物理基础是能量守恒定律在一个特定的位置和方向,出射光 Lo 是自发光 Le 与反射光线之和反射光线本身是各个方向嘚入射光 Li 之和乘以表面反射率及入射角。

这个方程经过交叉点将出射光线与入射光线联系在一起它代表了场景中全部的'光线传输。所有哽加完善的算法都可以看作是这个方程的特殊形式的解

某一点p的渲染方程,可以表示为:

  • Lo是p点的出射光亮度

  • Le是p点发出的光亮度。

  • fr是p点叺射方向到出射方向光的反射比例即BxDF,一般为BRDF

  • Li是p点入射光亮度。

  • 是入射角带来的入射光衰减

  • 是入射方向半球的积分(可以理解为无穷尛的累加和)

而在实时渲染中,我们常用的反射方程(The Reflectance Equation)则是渲染方程的简化的版本,或者说是一个特例:

  • Lo是p点的出射光亮度

  • fr是p点入射方向到出射方向光的反射比例,即BxDF一般为BRDF。

  • Li是p点入射光亮度

  • 是入射角带来的入射光衰减

  • 是入射方向半球的积分(可以理解为无穷小的累加和)。

BxDF一般而言是对BRDF、BTDF、BSDF、BSSRDF等几种双向分布函数的一个统一的表示

而BSSRDF和BRDF的不同之处在于,BSSRDF可以指定不同的光线入射位置和出射位置

在上述这些BxDF中,BRDF最为简单也最为常用。因为游戏和电影中的大多数物体都是不透明的用BRDF就完全足够。而BSDF、BTDF、BSSRDF往往更多用于半透明材質和次表面散射材质

我们时常讨论的PBR中的BxDF,一般都为BRDF对于进阶的一些材质的渲染,才会讨论BSDF等其他三种BxDF

另外,BxDF即上文所示渲染方程鉯及反射方程中的fr项

由于其高度的通用性,将材质复杂的物理属性用非常直观的少量变量表达了出来(如金属度metallic和粗糙度roughness),在电影業界和游戏业界引起了不小的轰动从此,基于物理的渲染正式进入大众的视野

在2012年受到Disney的启发后,以下是主流游戏引擎从传统渲染转迻到基于物理的渲染时间节点:

在2012年迪士尼原则的BRDF被提出之前基于物理的渲染都需要大量复杂而不直观的参数,此时PBR的优势并没有那麼明显。

在2012年迪士尼提出他们的着色模型是艺术导向(Art Directable)的,而不一定要是完全物理正确(physically correct) 的并且对微平面BRDF的各项都进行了严谨的调查,并提出了清晰明确而简单的解决方案

迪士尼的理念是开发一种“原则性”的易用模型,而不是严格的物理模型正因为这种艺术导向嘚易用性,能让美术同学用非常直观的少量参数以及非常标准化的工作流,就能快速实现涉及大量不同材质的真实感的渲染工作而这對于传统的着色模型来说,是不可能完成的任务

  1. 应使用直观的参数,而不是物理类的晦涩参数

  2. 参数在其合理范围内应该为0到1。

  3. 允许参數在有意义时超出正常的合理范围

  4. 所有参数组合应尽可能健壮和合理。

以上五条原则很好地保证了迪士尼原则的BRDF的易用性。

以上述理念为基础迪士尼动画工作室对每个参数的添加进行了把关,最终得到了一个颜色参数(baseColor)和下面描述的十个标量参数:

  • baseColor(基础色):表媔颜色通常由纹理贴图提供。

  • subsurface(次表面):使用次表面近似控制漫反射形状

  • metallic(金属度):金属(0 =电介质,1 =金属)这是两种不同模型の间的线性混合。金属模型没有漫反射成分并且还具有等于基础色的着色入射镜面反射。

  • specular(镜面反射强度):入射镜面反射量用于取玳折射率。

  • specularTint(镜面反射颜色):对美术控制的让步用于对基础色(base color)的入射镜面反射进行颜色控制。掠射镜面反射仍然是非彩色的

  • roughness(粗糙度):表面粗糙度,控制漫反射和镜面反射

  • anisotropic(各向异性强度):各向异性程度。用于控制镜面反射高光的纵横比 (0 =各向同性,1 =最夶各向异性)

  • sheen(光泽度):一种额外的掠射分量(grazing component),主要用于布料

  • sheenTint(光泽颜色):对sheen(光泽度)的颜色控制。

  • clearcoat(清漆强度):有特殊用途的第二个镜面波瓣(specular lobe)

  • clearcoatGloss(清漆光泽度):控制透明涂层光泽度,0 =“缎面(satin)”外观1 =“光泽(gloss)”外观。

每个参数的效果的渲染礻例如下图所示

Diffuse BRDF可以分为传统型和基于物理型两大类。其中传统型主要是众所周知的Lambert。

而基于物理型从1994年的Oren Nayar开始,这里一直统计到紟年(2018年)

PBR核心知识体系的第五部分是Specular BRDF。这也是基于物理的渲染领域中最活跃最主要的部分。

上图加粗部分为目前业界较为主流的模型

微平面理论的基本假设是微观几何(microgeometry)的存在,微观几何的尺度小于观察尺度(例如着色分辨率)但大于可见光波长的尺度(因此應用几何光学和如衍射一样的波效应等可以忽略)。且微平面理论在2013年和以前时仅用于推导单反射(single-bounce)表面反射的表达式; 而随着领域的深叺最近几年也出现了使用microfacet理论对多次反弹表面反射的一些探讨。

由于假设微观几何尺度明显大于可见光波长因此可以将每个表面点视為光学平坦的。 如上文所述光学平坦表面将光线分成两个方向:反射和折射。

每个表面点将来自给定进入方向的光反射到单个出射方向该方向取决于微观几何法线(microgeometry normal)m的方向。 在计算BRDF项时指定光方向l和视图方向v。 这意味着所有表面点只有那些恰好正确朝向可以将l反射到v的那些小平面可能有助于BRDF值(其他方向有正有负,积分之后相互抵消)。

在下图中我们可以看到这些“正确朝向”的表面点的表媔法线m正好位于l和v之间的中间位置。l和v之间的矢量称为半矢量(half-vector)或半角矢量(half-angle vector); 我们将其表示为h

图 仅m = h的表面点的朝向才会将光线l反射箌视线v的方向,其他表面点对BRDF没有贡献

并非所有m = h的表面点都会积极地对反射做出贡献;一些被l方向(阴影shadowing),v方向(掩蔽masking)或两者的其他表面区域阻挡Microfacet理论假设所有被遮蔽的光(shadowed light)都从镜面反射项中消失;实际上,由于多次表面反射其中一些最终将是可见的,但这在目前瑺见的微平面理论中一般并未去考虑各种类型的光表面相互作用如下图所示。

图 在左侧我们看到一些表面点从l的方向被遮挡,因此它們被遮挡并且不接收光(因此它们不能反射任何)在中间,我们看到从视图方向v看不到一些表面点因此当然不会看到从它们反射的任哬光。在这两种情况下这些表面点对BRDF没有贡献。实际上虽然阴影区域没有从l接收任何直射光,但它们确实接收(并因此反射)从其他表面区域反射的光(如右图所示)microfacet理论忽略了这些相互反射。

  • D(h):法线分布函数 (Normal Distribution Function)描述微面元法线分布的概率,即正确朝向的法線的浓度即具有正确朝向,能够将来自l的光反射到v的表面点的相对于表面面积的浓度

  • F(l,h): 菲涅尔方程(Fresnel Equation)描述不同的表面角下表媔所反射的光线所占的比率。

  • G(lv,h): 几何函数(Geometry Function):描述微平面自成阴影的属性即m = h的未被遮蔽的表面点的百分比。

  • 分母 4(n·l)(n·v) :校囸因子(correctionfactor)作为微观几何的局部空间和整个宏观表面的局部空间之间变换的微平面量的校正。

  • 对于分母中的点积仅仅避免负值是不够嘚 - 也必须避免零值。通常通过在常规的clamp或绝对值操作之后添加非常小的正值来完成

  • Microfacet Cook-Torrance BRDF是实践中使用最广泛的模型,实际上也是人们可以想箌的最简单的微平面模型它仅对几何光学系统中的单层微表面上的单个散射进行建模,没有考虑多次散射分层材质,以及衍射Microfacet模型,实际上还有很长的路要走

其中,业界较为主流的法线分布函数是GGX(Trowbridge-Reitz)因为具有更好的高光长尾:

Function翻译成正态分布函数,而不少中文資料就跟着翻译成了正态分布函数这是错误的。其实一些参考文献会使用术语“法线分布(distribution of normals)”来避免与高斯正态分布(Gaussian normal distribution)混淆。

对于菲涅尔(Fresnel)项业界方案一般都采用Schlick的Fresnel近似,因为计算成本低廉而且精度足够:

菲涅尔项的常见模型可以总结如下:

几何项G的常见模型可以总結如下:

该形式将几何项G分为两个独立的部分:光线方向(light)和视线方向(view),并对两者用相同的分布函数来描述根据这种思想,结合法线分布函数(NDF)与Smith几何阴影函数于是有了以下新的Smith几何项:

有了直接光部分,我们也需要环境光所以PBR核心知识体系的第六部分是基於物理的环境光照,一般大家也直接默认环境光照的技术方案是基于图像的光照(Image Based Lighting, IBL)这也是真正让基于物理的渲染画质提升的主要贡献鍺。

漫反射环境光照部分一般采用传统IBL中辉度环境映射(Irradiance Environment Mapping)技术并不是基于物理的特有方案,这里暂不讨论

而基于物理的镜面反射(Specular)环境光照,业界中一般会采用基于图像的光照(IBL)的方案要将基于物理的BRDF模型与基于图像的光照(IBL)一起使用,需要求解光亮度积分(Radiance Integral)而求解光亮度积分通常会使用重要性采样(Importance Sample)。

重要性采样(Importance Sample)即通过现有的一些已知条件(分布函数)想办法集中于被积函数汾布可能性较高的区域(重要的区域)进行采样,进而可高效地计算准确的估算结果的的一种策略

基于重要性采样的思路,将蒙特卡洛积分公式代入渲染方程可得:

上式的直接求解较为复杂进行完全的实时渲染不太现实。

目前游戏业界的主流做法是是基于分解求和近似(Split Sum Approximation)的思路,将上式中的拆分为光亮度的均值和环境BRDF两项即:

完成拆分后,分别对两项进行离线预计算去匹配离线渲染参考值的渲染结果。

而在实时渲染中分别计算分解求和近似(Split Sum Approximation)方案中几乎已经预计算好的两项,再进行组合作为实时的IBL物理环境光照部分的渲染结果。下面分别对两项进行简单概括

2等),采用的方案主要借助预过滤环境贴图用多级模糊的mipmap来存储模糊的环境高光:

也就是说,第一项矗接使用cubemap 的mip级别采样输入即可

(Environment BRDF)。其取决于仰角θ,粗糙度α和菲涅耳项F。 通常使用Schlick近似来近似F其仅在单个值F0上参数化,从而使Rspec成為三个参数(仰角θ(NdotV)粗糙度α、F0)的函数。

这一项的主要流派有两个UE4的2D LUT,以及COD:OP2的解析拟合

这张红绿色的贴图,输入roughness、cosθ,输出环境BRDF镜面反射的强度是关于roughness、cosθ与环境BRDF镜面反射强度的固有映射关系。可以离线预计算

COD:Black Ops 2的做法,是通过数学工具Mathematica( 中的数值积分擬合出曲线即将UE4离线计算的这张2D LUT用如下函数进行了拟合:


  

需要注意的是,上面的方程是基于Blinn-Phong分布的结果 一文中提出了基于GGX分布的EnvironmentBRDF解析蝂本:


  

EnvironmentBRDF函数的输入参数分别为光泽度gloss,NdotVF0。和UE4的做法有异曲同工之妙但COD:Black Ops 2的做法不需要额外的贴图采样,这在进行移动端优化时是不錯的选择。

虽然我们目前主要关注的是实时渲染(实时光栅图形学相关暂时不关注实时光线追踪)领域,但很多时候实时渲染也需要涉及到预计算,尤其是IBL相关的预计算所以或多或少会用到离线渲染相关的知识。所以PBR核心知识体系的第七部分是离线渲染相关的主题

鉯下是与实时渲染结合相对紧密的离线渲染相关的核心主题以及概括总结(主要是统计学与概率相关):

  • 重要性采样( Importance Sample):蒙特卡洛积分嘚一种采样策略。思路是基于分布函数尽量对被积函数分布可能性较高的区域进行采样。

  • 多重要性采样(Muti Importance Sampling, MIS) :估算某一积分时基于多個分布函数获取采样,并期望至少某一分布与被积函数形状适配即根据各种技术对采样进行加权计算,进而消除源自被积函数值与采样密度不匹配造成的较大反差

  • 大数定律(Law of Large Numbers) :在试验不变的条件下,重复试验多次随机事件的频率近似于它的概率。即偶然中包含着某種必然

  • 蒙特卡洛方法(Monte Carlo Methods) :一种以概率统计理论为指导的数值计算方法。是指使用随机数(或更常见的伪随机数)来解决很多计算问题嘚方法

  • 拟蒙特卡罗方法(Quasi-Monte Carlo Method) :使用低差异列来进行数值积分和研究其它一些数值问题的方法。

与实时渲染结合相对紧密的离线渲染相关嘚内容后续文章会以专题的形式详细探讨。

前面的核心PBR主题都讨论完成后会有更多进阶的内容浮出水面,他们共同组成了PBR核心知识体系的第八部分

以上这些内容,作为进阶的主题随便选取其中的一个展开来讨论,几乎都会有不小的篇幅目前的计划是,是在前七章基础PBR内容讨论完成后再在这些主题中选取新的内容,进行更深入的讨论

OK,这篇文章作为这个系列的开篇是对PBR知识体系的一个概览,楿当于开了一个头给全新的篇章描绘出了大致的轮廓。

后续的文章会对PBR知识体系的各个章节,进行更系统深入的论述

}

我要回帖

更多关于 请见谅 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信