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 ...
随机推荐
- Java方法参数:
一个方法不能修改一个基本数据类型的参数 一个方法可以改变一个对象参数的状态 一个方法不能实现让对象参数引用一个新的对象 案例1: 一个方法不能修改一个基本数据类型的参数 String a = &quo ...
- pytorch 中的数据类型,tensor的创建
pytorch中的数据类型 import torch a=torch.randn(2,3) b=a.type() print(b) #检验是否是该数据类型 print(isinstance(a,tor ...
- 22.文本框验证和外部url的调用
面板可以右键固定到浏览器并且横向纵向都剧中 如果要在图片上进行点击或者其他操作 可以覆盖一个图片热区或者矩形(透明的)充当一个按钮的操作 这个提示的图片是默认隐藏的 通过右上角那个隐藏的勾 文本框右边 ...
- 优雅的使用BeanUtils对List集合的操作
摘要 在业务员流程的时候,我们在Entity.Bo.Vo层数据间可能经常转换数据,Entity对应的是持久层数据结构(一般是数据库表的映射模型).Bo对应的是业务层操作的数据结构.Vo就是Contro ...
- EnvironmentAware接口的作用
在SpringBoot中的应用 凡注册到Spring容器内的bean,实现了EnvironmentAware接口重写setEnvironment方法后,在工程启动时可以获得application.pr ...
- 嗨,让我带你逐行剖析Vue.js源码
本项目受到了阮一峰老师的肯定,已刊登在阮一峰老师微信公众号的科技爱好者周刊第87期,同时也被多个微博大V转发,短短一个月时间内在github上star数量就已经突破2k! Hello,大家好,我最近在 ...
- CF1272E. Nearest Opposite Parity 题解 广度优先搜索
题目链接:http://codeforces.com/contest/1272/problem/E 题目大意: 有一个长度为n的数组 \(a\) ,数组坐标从 \(1\) 到 \(n\) . 假设你现 ...
- 洛谷P1720 月落乌啼算钱 题解 斐波那契数列/特征方程求解
题目链接:https://www.luogu.com.cn/problem/P1720 题目描述: 给你一个公式 ,求对应的 \(F_n\) . 解题思路: 首先不难想象这是一个斐波那契数列,我们可以 ...
- web(www)服务器搭建Redhat5.4
WWW服务概念及服务原理 目前,在Internet上最热门的服务之一就是WWW (World Wide Web)菔务,til^^Web服务.通过WWW触务,岢在Internet 或企业内部网络中传播. ...
- 《深入理解JAVA虚拟机》-自己动手编译JDK
环境 Ubuntu12.4-http://mirrors.163.com/ubuntu-releases/12.04/ --需要安装纯英文版,避免中文引起不必要的麻烦 OpenJDK7-https:/ ...