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 ...
随机推荐
- 前端工具--利用Adblock Plus阻止js执行
今天遇到个问题:需要阻止页面某个js的运行 效果达到
- Elasticsearch搜索调优
最近把搜索后端从AWS cloudsearch迁到了AWS ES和自建ES集群.测试发现search latency高于之前的benchmark,可见模拟数据远不如真实数据来的实在.这次在产线的bac ...
- 对EntityViewInfo的理解
1,EntityViewInfo常常用作bos中接口参数,来做查询用,其中包含了FilterInfo(过滤).Selector(指定属性)以及Sorter(排序) SelectorItemColl ...
- MySQL中的CHAR和VARCHAR到底支持多长?
最近在研究MySQL的数据类型,我们知道,选择合适的数据类型和数据长度对MySQL的性能影响是不可忽视的,小字段意味着可以MySQL可以读取更多的记录,从而加快查询速度. 网上该问题的答案有很多版本, ...
- 互联网 Java 工程师进阶知识完全扫盲
互联网 Java 工程师进阶知识完全扫盲:https://github.com/doocs/advanced-java
- spring cloud Gateway简单使用
一.引子 2年前有幸使用过一次Spring Cloud (1.5.9),那次用的是ZUUL做网关,没有使用Gateway做网关,一直是个小遗憾.终于在2年后的19年底再次使用Spring Cloud, ...
- 【题解】剪纸条(dp)
[题解]剪纸条(dp) HRBUST - 1828 网上搜不到题解?那我就来写一篇吧哈哈哈 最优化问题先考虑\(dp\),设\(dp(i)\)表示将前\(i\)个字符(包括\(i\))分割成不相交的回 ...
- selenium自动化测试入门 Alert/Confirm/Prompt 弹出窗口处理
一.Alert/Confirm/Prompt弹出窗口特征说明 Alert弹出窗口: 提示用户信息只有确认按钮,无法通过页面元素定位,不关闭窗口无法在页面上做其他操作. Confirm 弹出窗口: 有确 ...
- 洛谷P2602 [ZJOI2010]数字计数 题解 数位DP
题目链接:https://www.luogu.com.cn/problem/P2602 题目大意: 计算区间 \([L,R]\) 范围内 \(0 \sim 9\) 各出现了多少次? 解题思路: 使用 ...
- 「CF242E」XOR on Segment 解题报告
题面 长度为\(n\)的数列,现有两种操作: 1.区间异或操作 2.区间求和操作 对于每个查询,输出答案 思路: 线段树+二进制拆位 线段树区间修改一般使用的都是懒标记的方法,但是对于异或,懒标记的方 ...