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 反射率方程

相关推荐
allenjiao4 天前
WebGPU vs WebGL:WebGPU什么时候能完全替代WebGL?Web 图形渲染的迭代与未来
前端·图形渲染·webgl·threejs·cesium·webgpu·babylonjs
BoBoZz194 天前
TriangleStrip连续三角带
python·vtk·图形渲染·图形处理
jinxinyuuuus6 天前
Wallpaper Generator:高精度图形渲染中的WebGPU与色彩感知工程
程序人生·生活·图形渲染
杨筱毅6 天前
【底层机制】Android图形渲染体系深度解析:VSync信号机制
android·图形渲染·底层机制
雨泽‎7 天前
Unity在URP中开启后处理导致RenderTexture存在背景
unity·游戏引擎·图形渲染
1***81537 天前
HarmonyOS图形渲染
图形渲染
BoBoZz198 天前
CellTypeSource
python·vtk·图形渲染·图形处理
Renderbus瑞云渲染农场8 天前
什么叫云渲染?云渲染是干嘛的?
3d·图形渲染·3dsmax
不会写DN9 天前
[特殊字符]开班会时由于太无聊,我开发了一个小游戏……
程序人生·信息可视化·职场和发展·交互·图形渲染·学习方法·高考
小一亿14 天前
【3ds Max动画】烟花:超级喷射粒子,荧光粒子效果
学习·3d·图形渲染·3dsmax·动画