PBR 渲染基础与渲染方程

1、判断一个光照模型 是PBR的3个条件

  1. 基于微平面(Microfacet)的表面模型
  2. 能量守恒
  3. 应用基于物理的BRDF
名称 作用 关键概念
微平面模型 调整高光范围和亮度 半程向量;描述表面与半程向量趋近程度/百分比
能量守恒 反射部分 + 折射部分
BRDF

2、反射率方程



3、DFG:

D 法线分布函数: 估算在受到表面粗糙度的影响下,朝向方向与半程向量一致的微平面的数量。这是用来估算微平面的主要函数。
F 菲涅尔方程: 菲涅尔方程描述的是在不同的表面角下表面所反射的光线所占的比率。
G 几何函数: 描述了微平面自成阴影的属性。当一个平面相对比较粗糙的时候,平面表面上的微平面有可能挡住其他的微平面从而减少表面所反射的光线。

3.1、 法线分布函数


参数名 含义
α 表面粗糙度
n 表面法线
h 半程向量

3.2、 几何函数


参数名 含义
α 表面粗糙度
n 表面法线
v 观察(视线)方向
l 光线方向

3.3、 菲涅尔方程


参数名 含义
F0 基础反射率,由折射指数或者IOR计算得出
h 半程向量
v 观察(视线)方向

F0:

基础反射率数据库:

或者使用以下方式计算:

javascript 复制代码
vec3 F0 = vec3(0.04);
F0      = mix(F0, surfaceColor.rgb, metalness);

4、Cook-Torrance 反射率方程

相关推荐
XX風1 天前
OpenGL 调试方式
图形渲染
charlie1145141911 天前
通用GUI编程技术——图形渲染实战(四十三)——D3D12设计哲学:显式控制与性能解锁
学习·3d·c·图形渲染·win32
qwert10372 天前
相机视图矩阵的由来:从空间感知到图形渲染的核心桥梁
数码相机·矩阵·图形渲染
XX風2 天前
OpenGL Geometry Shader
图形渲染
郝学胜-神的一滴3 天前
中级OpenGL教程 005:为球体&平面注入法线灵魂
c++·unity·图形渲染·three.js·opengl·unreal
XX風4 天前
OpenGL 离屏多重采样抗锯齿 (Off-screen MSAA)
图形渲染
郝学胜-神的一滴6 天前
[简化版 GAMES 101] 计算机图形学 08:三角形光栅化上
c++·unity·游戏引擎·godot·图形渲染·opengl·unreal
RReality6 天前
【Unity Shader URP】视差贴图 实战教程
ui·平面·unity·游戏引擎·图形渲染·贴图
hele_two7 天前
VS Code + CMake 调用 SDL2 & SDL2_image 完整编译教程(Windows 平台)
c++·windows·vscode·图形渲染
hele_two7 天前
SDL2高效画实心圆的算法(一)
c++·算法·图形渲染