PBR原理
漫反射和镜面反射
漫反射和镜面反射(或反射)光是描述光和材料之间两种主要相互作用类型的两个术语。镜面光是指从表面反弹的光。在光滑的表面上,这种光将反射所有相同的方向,并且表面将呈现镜像。漫射光是被吸收,散射在材料中并重新出现的光。与镜面光不同,该光在方向上趋于均匀。在吸收和重新出现期间,一些光波长将被吸收。未被吸收的波长使材料成为它的颜色。例如,如果吸收了所有蓝色和绿色波长,则材料将显示为红色。在渲染术语中,漫反射颜色有时称为“反照率”或“基色”。
简单说就是漫反射是向各个方向反射,镜面反射朝向一定方向反射!

能量守恒

物理正确渲染的关键特征之一是能量守恒。由于漫射光和反射光均来自照射材料的光,因此漫射光和反射光的总和不能超过撞击材料的总光。在实践中,这意味着如果表面具有高反射性,则它将显示非常少的漫反射颜色。相反,如果材料具有明亮的漫反射颜色,则它不能反射太多。
PBR的乐趣在于着色器中包含能量守恒!
金属和非金属

PBR与旧的着色模型之间的一个新特点是考虑材料的构成以确定它的行为。我们在这里考虑的主要问题是材料是导体(通常是金属)还是绝缘体(非金属)。
这很重要的原因是它决定了材料如何响应光的许多因素。例如,金属通常是反射性的(在60%-90%之间),而非金属不是(0%-20%)。其次,对非金属的反射通常是白色的,因为金属通常会反射与漫反射相同的颜色。
由于这些差异,PBR工作流程之一包括金属性质,通过将材料定义为金属或非金属,使得这种材料变得简单。
菲涅尔
用通俗语言讲就是当法线和视觉角度越大镜面反射强度会越大,当趋近90度基本就是完全反射

微表面
最后到显微表面。通常,3D艺术家熟悉法线贴图的概念。用于修改应用曲面方向的纹理。微表面,也称为粗糙度或光泽度,提供类似的东西,仅在更小的规模上。材料的微观表面描述了表面的粗糙或光滑程度。将玻璃(高光泽度,低粗糙度)与砂纸(高粗糙度,低光泽度)进行比较。我们没有指定表面所面对的确切方向,只是粗略或平滑的一般概念。
一些PBR系统使用粗糙度,一些使用光泽度,它们是相同的。粗糙度与光泽度相反,反之亦然。如果要从一个转换为另一个,只需反转纹理或值。
PBR原理的更多相关文章
- 由浅入深学习PBR的原理和实现
目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2 ...
- PBR实现
我们的目标:UnityStandard 我一直作Unity开发,所以环境也就选择了Unity.目标也就是尽可能接近UnityStandard的效果,不过主要为了学习PBR,所以就只实现基本的PBR和法 ...
- 【翻译】CEDEC2013 BANDAI NAMCO 了解游戏格斗动画中的身体运动结构和原理
CEDEC搬运工程开始~ 这篇会议PPT的作者 元梅幸司曾经就职在TECMO参与开发了死或生2,3[ DEAD OR ALIVE],忍龙「NINJA GAIDEN」后来加入NAMCO(现在是BAN ...
- nova file injection的原理和调试过程
file injection代码 file injection原理来讲是比较简单的,在nova boot命令中,有参数--file,是将文件inject到image中 nova boot --flav ...
- (转)简述47种Shader Map的渲染原理与制作方法
在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来, ...
- PBR探索
原理 根据能量守恒,以及一系列光照原理得出微表面BRDF(Bidirectional Reflectance Distribution Function)公式 // D(h) F(v,h) G(l,v ...
- UE制作PBR材质攻略Part 1 - 色彩知识
目录 一.前言 二.色彩知识 2.1 色彩理论 2.1.1 成像原理 2.1.2 色彩模型和色彩空间 2.1.3 色彩属性 2.1.4 直方图 2.1.5 色调曲线 2.1.6 线性空间与Gamma空 ...
- LearnOpenGL.PBR.理论
判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件: ()基于微平面(Microfacet)的表面模型.Be based on the microfacet surface model. ( ...
- PBR(基于物理的渲染)学习笔记2
相关资料 https://www.cnblogs.com/dojo-lzz/p/13237686.html 文档:PBR学习笔记.note 链接:http://note.youdao.com/note ...
随机推荐
- shelve模块、re模块
在模糊匹配时使用 1
- 第二阶段:1.流程图:9.excel绘制甘特图
后面的框都是日期 可以以一个月为周期计算或者周或者... 因为产品经理应该严格把控产品的时间 因此甘特图特别有必要 注意:任务拆解的越细 把控度越强 然后对格式进行设置 注意时间下面可以用颜色填充来表 ...
- b方式操作文件
f=open('test11.py','rb',encoding='utf-8') #b的方式不能指定编码 f=open('test11.py','rb') #b的方式不能指定编码 data=f.re ...
- Excel读取方式优化(浅谈对规律的认知)
相信大家都接触过对Excel的读取,今天突发奇想,想将自己的一小段经历分享出来.灵活识别列名并将其存到对象数组中. 固定形式的Excel列的读取: 源于我第一次操作Excel,将列名对应成table中 ...
- 浅谈Redis的基本原理和数据类型结构的特性和应用开发场景
一.Redis介绍 1,redis介绍(Redis安装在磁盘:Redis数据存储在内存) redis是一种基于键值对(key-value)数据库,其中value可以为string.hash.list. ...
- .NET Core 3.1之深入源码理解HealthCheck(二)
写在前面 前文讨论了HealthCheck的理论部分,本文将讨论有关HealthCheck的应用内容. 可以监视内存.磁盘和其他物理服务器资源的使用情况来了解是否处于正常状态. 运行状况检查可以测试应 ...
- 1073 多选题常见计分法 (20分)C语言
批改多选题是比较麻烦的事情,有很多不同的计分方法.有一种最常见的计分方法是:如果考生选择了部分正确选项,并且没有选择任何错误选项,则得到 50% 分数:如果考生选择了任何一个错误的选项,则不能得分.本 ...
- 小小知识点(二十二)显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口
显示屏与主机之间连接,出现无信号字样时,应检查是否正确选择集显和独显VGA接口 通过VGA接口判断集成显卡和独立显卡.在台式机主机上,VGA接口竖着放置的说明是集成显卡,VGA接口横着放置的说明是独立 ...
- React框架随笔
React框架随笔 现在最热门的前端框架有AngularJS.React.Bootstrap等.自从接触了ReactJS,ReactJs的虚拟DOM(Virtual DOM)和组件化的开发深深的吸引了 ...
- 命令别名设定:alias,unalias 历史命令:history
1.别名设定举例 alias lm=‘ls -al | more’ 还可以取代现有指令 alias rm='rm -i' 查询现有别名 alias 取消别名 unalias lm 2.历史命令:his ...