Games104现代游戏引擎入门-lecture5游戏中的渲染

lighting,material,Shader,
在这里插入图片描述

1 渲染方程

在这里插入图片描述

35年前有了这个;
在这里插入图片描述
真实渲染是很复杂的:

在这里插入图片描述

1 挑战1:shadow(光源的可见性)

阴影想做的好是非常难的,visibility to lights;
在这里插入图片描述

光源是很复杂的:
平行光源,点光源是很正常的,但是面光源是比较复杂的
Radiance:辐射度
Inradiance:
在这里插入图片描述

2 积分怎么做?

在这里插入图片描述

3 任何点都可能是光源

场景中可能有很多个光源,可能会无限递归下去!

在这里插入图片描述
在这里插入图片描述
ray tracying:

2 simple

在这里插入图片描述

1 简单光源

在这里插入图片描述

2 环境贴图

在这里插入图片描述
是符合渲染方程的。
在这里插入图片描述

3 材质

经验派:
Blinn-Phone materail 模型
用到了光可以添加原理。

在这里插入图片描述
问题是:
1.能量是不守恒的
能量保守,出射能量一定要小于等于入射能量
2.很难表达复杂的真实材质
在这里插入图片描述

3 shadow

在这里插入图片描述

到光的可见性,从光的视角
在这里插入图片描述
Shadow map的问题:
自遮挡的问题

在这里插入图片描述

4 基本的着色解决方案

在这里插入图片描述
在这里插入图片描述

3 AAA Quality

在这里插入图片描述

刺客信条:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
5-10年前的技术

1 预计算全局光照

空间换时间
在这里插入图片描述

1 为啥全局光照是非常重要的?

在这里插入图片描述

在这里插入图片描述

2 傅里叶变换

在这里插入图片描述

空间域转变成频域
在这里插入图片描述

3 球面谐波函数

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

4 光照贴图LightMap,GI

烘焙
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

好处:
实时做的很好
离线的
缺点:
预计算时间很长。
只能处理静态的物体和静态的光。
lightmap的方法可能会慢慢的退出。
游戏的场景参数化到二维的texture上,很多计算就不需要做了。
在这里插入图片描述

5 Light probe

光场:

在这里插入图片描述
在这里插入图片描述
反射probe:
在这里插入图片描述

这两种集合到一起:可以出现不错的GI效果
现在的计算机可以实时更新Light Probes,不会每一帧才去更新,找空的一帧去更新。
缺点:比不上lightmap。
在这里插入图片描述

6 材质

在这里插入图片描述
在这里插入图片描述
ggx

1 DFG:D:normal 分布

在这里插入图片描述
D:
在这里插入图片描述
G:
在这里插入图片描述
F:
在这里插入图片描述
物理材质测量:
在这里插入图片描述

2 BRDF Dinesy 信条

尽量少的参数:
所有的参数范围最好是0-1;
参数随便你怎么调,他的所有组合都是有意义的。
引擎是个工具,
在这里插入图片描述
在这里插入图片描述

3 PBR

加粗样式

归一化是很重要的!
几乎不需要设置任何参数,进行的是像素级的控制!
在这里插入图片描述
MetallicRoughnees:

metalic:
在这里插入图片描述
灵活度下降,但是不会出问题:用MR,用SR少一点。
在这里插入图片描述

MR存在下面的问题!
在这里插入图片描述

7 IBL

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
近似解!
在这里插入图片描述
IBL:光照的方法,和PBR是孪生兄弟一样
在这里插入图片描述

8 shadow

现在用的基本都是Cascade Shadow
在这里插入图片描述
在这里插入图片描述
不同的层级之间要做插值!
在这里插入图片描述

存储大!

shadow是最耗时的,但是确保光的可见性是正确的。
shadow很难做到2ms一下。
做4次的裁剪,
在这里插入图片描述

喜欢做软阴影。
在这里插入图片描述
PCF 软
在这里插入图片描述

PCSS是标配!
在这里插入图片描述
在这里插入图片描述

4 总结

5年前的3A
PBR+IBL:材质光照
Cascade shadow+ VSSM.

在这里插入图片描述

5 未来的发展

在这里插入图片描述

实时光锥:
在这里插入图片描述

密切的关注实时全局光照
在这里插入图片描述
在这里插入图片描述
新的方向:Vitual texture,巨大的纹理,能够解决cas shadow的存储不够的问题。
在这里插入图片描述
有很多个shader

在这里插入图片描述

GPU很讨厌shader

在这里插入图片描述
7万多个shader
在这里插入图片描述
跨平台的编译。
在这里插入图片描述
在这里插入图片描述
GI未来会怎么发展:GI 5年左右上来就是GI。
端云协同

猜你喜欢

转载自blog.csdn.net/qq_41286360/article/details/124107860