漫反射和镜面反射

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

简单说就是漫反射是向各个方向反射,镜面反射朝向一定方向反射!

能量守恒

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

PBR的乐趣在于着色器中包含能量守恒!

金属和非金属

PBR与旧的着色模型之间的一个新特点是考虑材料的构成以确定它的行为。我们在这里考虑的主要问题是材料是导体(通常是金属)还是绝缘体(非金属)

这很重要的原因是它决定了材料如何响应光的许多因素。例如,金属通常是反射性的(在60%-90%之间),而非金属不是(0%-20%)。其次,对非金属的反射通常是白色的,因为金属通常会反射与漫反射相同的颜色。

由于这些差异,PBR工作流程之一包括金属性质,通过将材料定义为金属或非金属,使得这种材料变得简单。

菲涅尔

用通俗语言讲就是当法线和视觉角度越大镜面反射强度会越大,当趋近90度基本就是完全反射

微表面

最后到显微表面。通常,3D艺术家熟悉法线贴图的概念。用于修改应用曲面方向的纹理。微表面,也称为粗糙度或光泽度,提供类似的东西,仅在更小的规模上。材料的微观表面描述了表面的粗糙或光滑程度。将玻璃(高光泽度,低粗糙度)与砂纸(高粗糙度,低光泽度)进行比较。我们没有指定表面所面对的确切方向,只是粗略或平滑的一般概念。

一些PBR系统使用粗糙度,一些使用光泽度,它们是相同的。粗糙度与光泽度相反,反之亦然。如果要从一个转换为另一个,只需反转纹理或值。

PBR原理的更多相关文章

  1. 由浅入深学习PBR的原理和实现

    目录 一. 前言 1.1 本文动机 1.2 PBR知识体系 1.3 本文内容及特点 二. 初阶:PBR基本认知和应用 2.1 PBR的基本介绍 2.1.1 PBR概念 2.1.2 与物理渲染的差别 2 ...

  2. PBR实现

    我们的目标:UnityStandard 我一直作Unity开发,所以环境也就选择了Unity.目标也就是尽可能接近UnityStandard的效果,不过主要为了学习PBR,所以就只实现基本的PBR和法 ...

  3. 【翻译】CEDEC2013 BANDAI NAMCO 了解游戏格斗动画中的身体运动结构和原理

    CEDEC搬运工程开始~   这篇会议PPT的作者 元梅幸司曾经就职在TECMO参与开发了死或生2,3[ DEAD OR ALIVE],忍龙「NINJA GAIDEN」后来加入NAMCO(现在是BAN ...

  4. nova file injection的原理和调试过程

    file injection代码 file injection原理来讲是比较简单的,在nova boot命令中,有参数--file,是将文件inject到image中 nova boot --flav ...

  5. (转)简述47种Shader Map的渲染原理与制作方法

    在Shader中会使用各种不同图参与渲染,所以简单地总结下各种图的渲染原理.制作方法,最后面几种是程序生成图. 1. Albedo 2. Diffuse(Photographic) 从上图可以看出来, ...

  6. PBR探索

    原理 根据能量守恒,以及一系列光照原理得出微表面BRDF(Bidirectional Reflectance Distribution Function)公式 // D(h) F(v,h) G(l,v ...

  7. 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空 ...

  8. LearnOpenGL.PBR.理论

    判断一种PBR光照模型是否是基于物理的,必须满足以下三个条件: ()基于微平面(Microfacet)的表面模型.Be based on the microfacet surface model. ( ...

  9. PBR(基于物理的渲染)学习笔记2

    相关资料 https://www.cnblogs.com/dojo-lzz/p/13237686.html 文档:PBR学习笔记.note 链接:http://note.youdao.com/note ...

随机推荐

  1. 转:EBS-自动获取/创建CCID

    DECLARE l_ccid NUMBER; l_msg ); l_chart_of_account_id NUMBER; l_set_of_book_id NUMBER; BEGIN l_set_o ...

  2. 0019 盒子模型(CSS重点):边框、内外边距、布局稳定性、PS

    typora-copy-images-to: media 第01阶段.前端基础.盒子模型 盒子模型(CSS重点) css学习三大重点: css 盒子模型 . 浮动 . 定位 主题思路: 目标: 理解: ...

  3. CodeForces - 1228D

    乍一看,嗯,图论题,不错: 结果,这尼玛是模拟???? 传送链接:https://codeforces.com/contest/1228/problem/D 看了大佬的代码瞬间就明白了许多!!! #i ...

  4. TCP三次握手、四次挥手详解

    1.TCP报文格式 TCP(Transmission Control Protocol) 传输控制协议.TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接. 我们需要 ...

  5. ELK学习实验009:安装kibana的仪表盘

    一 metricbeat仪表盘 1.1 安装metricbeat仪表盘 可以将metricbeat数据在kibana中展示 [root@node4 ~]# cd /usr/local/metricbe ...

  6. Qt listWidget和QListWidgetItem的简单使用

    简单的来实习了下 #include "mainwindow.h" #include "ui_mainwindow.h" #include<QListWid ...

  7. 敏捷开发流程之Scrum:3个角色、5个会议、12原则

    本文主要从Scrum的定义和目的.敏捷宣言.Scrum中的人员角色.Scrum开发流程.敏捷的12原则等几方面帮助大家理解Scrum敏捷开发的全过程. 一.Scrum的定义和目的 Scrum是一个用于 ...

  8. mybatis两种方式

    // 1.传统的使用 statementId方式 //获取详情 sysApiDocumentMode = template.selectOne("oaApiDocument.getProje ...

  9. asp.net core系列 74 Exceptionless服务端安装

    一.   Docker安装 Docker   要求版本Docker 18.09.0+以上 安装地址:https://www.runoob.com/docker/windows-docker-insta ...

  10. cogs 2109. [NOIP 2015] 运输计划 提高组Day2T3 树链剖分求LCA 二分答案 差分

    2109. [NOIP 2015] 运输计划 ★★★☆   输入文件:transport.in   输出文件:transport.out   简单对比时间限制:3 s   内存限制:256 MB [题 ...