• 概念
  1. 什么是PBR

PBR(Physically-Based-Rendering)基于物理的渲染,有时也叫(Physically-Based-Shading)PBS.

是一套渲染解决方案,包括基于物理的材质制作,基于物理灯光的PBL,基于物理的镜头等。

PBR不是一项技术,而是一系列技术的集合,其中串联一系列技术的线索就是“反射率方程(Reflectance Equation)

  1. PBR涉及到的理论

PBR光照模型三个条件

  1. 基于微平面的表面模型
  2. 能量守恒
  3. 应用基于物理的BRDF

微平面模型

PBR基于微平面理论,即达到微观尺度后任何平面都可以用被称为微平面的细小镜面来描绘。平面越粗糙,微平面的排列越混乱,镜面反射时就会向完全不同的方向发散开来。

能量守恒

出射光线的能量永远不能超过入射光线的能量(自发光除外)。当一束光线碰撞到一个表面的时候,它就会分离成一个折射部分和一个反射部分。反射部分就是会直接反射开来而不会进入平面的那部分光线,这就是我们所说的镜面光照。而折射部分就是余下的会进入表面并被吸收的那部分光线,这也就是我们所说的漫反射光照。(传统的基础光照模型是没有遵守能量守恒理念的,只考虑了局部光照的并让它们相加)

(并非所有能量都会被全部吸收,而光线也会继续沿着随机的方向发散,然后再和其他的粒子碰撞直至能量完全耗尽或者再次离开这个表面。而光线脱离物体表面后将会协同构成该表面的(漫反射)颜色。不过在基于物理的渲染之中我们进行了简化,假设对平面上的每一点所有的折射光都会被完全吸收而不会散开。次表面散射(Subsurface Scattering)技术的着色器技术将这个问题考虑了进去。)

金属表面所有折射光都会被直接吸收而不会散开,只留下反射光或者说镜面反射光。亦即是说,金属表面不会显示出漫反射颜色。所以金属和非金属材料在PBR中需要区别处理。

BRDF(描述表面入射光和反射光关系)

fr 被称为BRDF,或者双向反射分布函数(Bidirectional Reflective Distribution Function) ,它的作用是基于表面材质属性来对入射辐射率进行缩放或者加权。BRDF分为两部分,折射部分(漫反射)+ 反射部分(高光反射),很多种BRDF都可以近似为下面的公式.kd 是入射光线中折射部分的能量所占的比率,而ks是反射部分的比率。BRDF的左侧表示的是漫反射部分,用flambert 来表示。BRDF的右侧表示的是镜面反射。

金属:
金属具有很高的反射率(>=0.5),不会出现任何次表面散射和透明效果。金属的所有可见光都来自反射,即所有可见颜色都来自反射。
非金属反射率低(<=0.06),产生镜面反射和漫反射,镜面反射为单色/灰色。

菲涅尔反射:
光源入射方向与平面法线法线夹角的对应关系。夹角越大,亮度也就越大,反之夹角越小,亮度也就越小。

线性空间光照:
为了保证光照渲染的正确性,最好是在线性空间中进行操作与计算。PBR计算要放在线性空间中。

PBR工作流程

渲染器实用PBR时具有其规范的材质纹理工作流程。

环境光线采用linear线性模式,原gamma模式不再适用。

原gamma模式用以环境光修正,而PBR基于物理光计算,已无需修正。

以下为PBR工作流程,“取代”指由Blinn-Phong工作流程转型:

●双工作流通用节点:

1.AO(Ambient Occlusion)环境光遮蔽:决定与相邻模型的集合距离,越接近越不受光。

2.Normal法线:中尺度法线空间表面凹凸细节效果,取代凹凸Bump。

3.Height高度:宏观几何凹凸效果。等同置换Displacement?

●金属粗糙度工作流(Metal – Roughness Workflow)节点:

1.BaseColor基色:固有色。

2.Roughness粗糙度:微观尺度法线分布函数,取代Specular重定义光泽粗糙程度。

3.Metallic金属度:镜面反射与漫反射的光线占比,取代镜面反射Reflaction。

金属度将自动配比镜面反射与漫反射比例,下种工作流可自定义比率。

●反射光泽度工作流(Specular – Glossiness Workflow)节点:

1.Diffuse漫反射:固有色。

2.Glossiness光泽度:取代Specular重定义光泽粗糙程度。

3.Specular镜面反射:取代Reflection重定义为镜面反射,与Diffuse共同决定固有色。

以上是两种PBR流程的基本工作流程,接下来拓展

●PBR参数基于微观几何学与光学物理视觉成像理论的定义:

除了自发光物体,成像皆由视网膜接收物体各尺度平面反射的光线构成。

物理世界不存在完美镜面,镜面反射只有相对视距的平滑程度之分。

光源照射物体时,将会与物体产生多种交互现象,反馈大致为:

光源到达物体表面时、物体原子会将光子部分吸收partially absorbed,能量守恒转化为热能,反射的部分较弱;且根据折射率具有不同角度微平面散射scattered,该现象的BRDF渲染参数体现称为归一化Nomalized

穿透的部分将会产生折射Refraction、次表面散射Subsurface Scattering、半透明透射Transmission

经过散射、微平面镜面反射的部分,称为 漫反射Diffuse

被相对镜面反射,称为 镜面反射Specular

镜面反射与漫反射的光线占比,称为 金属度Metallic

金属物体金属度:70%-100%,镜面反射占比大。

粗糙物体金属度:2%-5%,宝石约8%,漫反射占比较大。

反射光线相对角度大小决定 粗糙度Roughness

菲尼尔反射Fresnel Reflectance是基于其物理学发现的光学折射反射效应,取决于光线反射率与视角度:

相对接近垂直于视角度而言,与法线的相对角度越接近的90度,折射反射率越小,观感较柔和;

非垂直于视线的掠射角度(法线角减入射角)越小于90度,折射反射率越大,观感较锐利。

PBR光学反射概念:

  1. 自然光照下,物体呈现的颜色;对应BaseColor基色,决定固有色。
  2. 物体表面对光线的镜面反射分散角度;对应Roughness粗糙度,决定高光。
  3. 物体表面对光线镜面反射和漫反射的比例;对应Metallic金属度,决定反射。

光照模型

也成为明暗模型,用于计算物体表面某处的光强(颜色值)

光照模型分为两类

基于物理理论的光照模型:偏重于使用物理的度量和统计方法,遵守能量守恒。例如:PBR

 经验模型:通过前人的总结的经验对光照的一种模拟,例如:Lambert,Phong,Billing-Phong

简单理解常见的经验光照模型:

光线定义/组成

把进入摄像机的光线分为4个部分,每个部分分别有一种分发来计算贡献度。

自发光(emissive):物体本身产生的光。

高光反射(specular):光线从光源照到物体表面反射到眼睛里的光。菲涅尔效应

漫反射(diffuse):光线从光源照到物体表面时,物体向各个方向产生的光。

环境光(ambient):其他间接的光。可以理解成整体的一个基础颜色。

1.ambert光照模型

定义:只计算了漫反射部分的光照

计算:Diffuse = 光线颜色 x 漫反射颜色 x Dot(N·L)注:通过这样的计算方式,模型的暗面会非常的黑,这是我们不希望达到的效果
因此我们用环境光和贴图颜色来作为暗部颜色与亮部进行插值运算

粗糙的物体表面向各个方向等强度地反射光,这种等强度的散射现象称之为光的漫反射(Diffuse Reflection)。产生光的漫反射现象的物体表面称为理想漫反射体,也称为Lambert反射体。

Lambert定律:当方向光照射到理想反射体上时,漫反射光的光强与入射光方向和入射点便面法向量夹角的余弦成正比。当入射角为零时,说明光线垂直于物体表面,漫反射光强最大;九十度时光线与物体表面平行,物体接收不到任何光线。

2.镜面反射与Phong光照模型

定义:是第一个有影响力的光照模型,考虑了环境光、漫反射和高光反射3个类型
公式: Color = Ambient + Diffuse + Specular

Lambert模型较好的表现了粗糙表面的光照现象,如墙壁,纸张等,但是在用于诸如金属等有光泽效果的材质上则会显得呆板,表现不出光泽,主要原因是Lambert光照模型没有考虑表现这些表面的镜面反射效果。

一个光滑物体被光照射时,可以早某个方向上看到很强的反射光,这是因为在接近镜面反射角的一个区域内,反射了入射光的全部或大部分光强,这种现象称为镜面发射。

故此,Phong Bui Tuong提出一个计算镜面反射光强的光照模型,称为Phong模型,认为镜面反射的光强与反射光线和视线的夹角相关。

Bl定义:是对phong模型的改进,不再依赖反射向量,采用半角向量来计算高光反射

3.BinnPhong光照模型

高光反射强度与半角向量和法线的夹角余弦值成正比

计算公式:Color = Ambient + Diffuse + Specular(半角计算)

注:使用Blinn-Phong模型比Phong模型的消耗少了3分之一左右
BlinnPhong光照模型混合和了Lambert的漫反射和标准的高光,渲染有时比Phong高光更柔和、更平滑,此外它的处理速度相当快,因此成为许多CG软件中默认的光照渲染方法.

4.gourand模型

以顶点为单元计算光量,再通过插值得到每个像素点的光亮度,高光效果较差

5.Flat模型

只计算面法线的光照,适用与lowpoly风格的场景

UE4 pbr概念理解相关推荐

  1. 深度学习中IU、IoU(Intersection over Union)的概念理解以及python程序实现

    from: 深度学习中IU.IoU(Intersection over Union)的概念理解以及python程序实现 IoU(Intersection over Union) Intersectio ...

  2. 高性能计算中并行的概念理解

    高性能计算中并行的概念理解 分类: 并行计算高性能计算HPC - General2011-11-09 22:54 932人阅读 评论(0) 收藏 举报 编译器编程parallel优化formsvect ...

  3. 目标检测基本概念理解之IoU(交并比)以及Python代码实现

    目标检测基本概念理解之IoU(交并比) 交并比理解 Python代码实现 计算IoU,矩形框的坐标形式为xyxy 计算IoU,矩形框的坐标形式为xywh 交并比理解 在检测任务中,使用交并比(Inte ...

  4. Hadoop:HDFS的概念理解和体系架构-成都加米谷大数据分享

    HDFS是什么? HDFS 全称 Hadoop Distributed File System ,简称HDFS,是一个分布式文件系统.它是谷歌的GFS提出之后出现的另外一种文件系统.它有一定高度的容错 ...

  5. muck数据的概念理解

    muck数据的概念理解 所谓muck表示"模仿","假的":也可翻译为mock-test. 很多项目案例的讲解中,经常会提及muck数据.muck对象.muck ...

  6. 事件与委托的一点概念理解

    事件与委托的一点概念理解 早就接触过delegate和event,但是始终是一知半解,今天刚好有机会就好好研究一下! Delegate 顾名思义就是委托,委托的意思就是麻烦别人帮我干些事情.比如,我要 ...

  7. 目标检测中IoU(Intersection over Union)的概念理解

    参考博客 深度学习中IU.IoU(Intersection over Union)的概念理解以及python程序实现 一.IoU(交并比)概念 Intersection over Union,是一种测 ...

  8. C/C++中宏概念理解

    C/C++中宏概念理解 C/C++中宏概念理解 宏替换是C/C++系列语言的技术特色,C/C++语言提供了强大的宏替换功能,源代码在进入编译器之前,要先经过一个称为"预处理器"的模 ...

  9. DSF学习1_Dubbo详解(一)分布式服务框架的概念理解

    Dubbo分布式服务框架的概念理解 Dubbo是是一个高性能,基于Java的RPC框架,由阿里巴巴开源.一个分布式的服务框架.可以实现SOA(面向服务的架构)架构. Dubbo使用的公司:京东.当当. ...

最新文章

  1. 网工学Python——初识面向对象
  2. 信息系统项目管理师算职称吗
  3. SpringMVC和SpringBoot的拦截器 HandlerInterceptor 入门
  4. 数字类 default 0和 default 0_0秒入住 无感体验 悉点科技引领酒店数字化大潮
  5. 亚马逊涨了 $4 千亿?!为什么它能成为疫情中获益最大的公司
  6. jq fileupload 设置最大文件大小5m_如何在 Linux 服务器上设置 ulimit 和文件描述符数限制 | Linux 中国...
  7. mysql 性能拐点_性能压测及分析调优实践
  8. 解决一个容易忽略的点:pandas无法读取excel的全部列
  9. 百分点零售行业大数据解决方案
  10. MySQL的SQL预处理(Prepared)
  11. rez注入器源码_CF-rez-Tool crossfire的REZ文件全套修改工具 - 下载 - 搜珍网
  12. python浮点数多少位_Python中的最大浮点数是多少?
  13. 为人处世:处世22条忠告
  14. 黑白群晖用做airplay一条命令实现USB声卡转音箱的网络播放(Docker-shairport-sync容器)
  15. html 空格怎么打,空白空格怎么打?
  16. 手机向服务器发信息吗,给手机发短信
  17. 爱奇艺自主研发的动态化框架!
  18. Cadence Allegro 如何添加Artwork光绘底片文件?
  19. php中的ol标签,html ol标签的使用与定义详解
  20. no suitable kits found

热门文章

  1. div随着屏幕滚动而滚动
  2. 基于人脸的常见表情识别——模型搭建、训练与测试¶
  3. R语言|散点图 ———R语言数据可视化系列(一)
  4. 在数学建模中微型计算机,“在数学建模中培养学生思维能力的研究”课题研究情况汇报...
  5. android 应用程序内存上限,Android APP的最大可用内存
  6. 机器自动翻译古文拼音 - 十大宋词 - 满江红 怒发冲冠 南宋·岳飞
  7. uni-app图片列表预览大图
  8. 抖音拍摄脚本怎么写,掌握这几点快速拍摄爆款视频丨国仁网络资讯
  9. Linux下svn报错:Can‘t create temporary file from template ‘/tmp/svn-XXXXXX‘: Permission denied
  10. 计算机工程制图箭头怎么画,AutoCAD制图时怎么画剖视的箭头 AutoCAD箭头画法教程...