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

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

  • 1 渲染方程
    • 1 挑战1:shadow(光源的可见性)
    • 2 积分怎么做?
    • 3 任何点都可能是光源
  • 2 simple
    • 1 简单光源
    • 2 环境贴图
    • 3 材质
    • 3 shadow
    • 4 基本的着色解决方案
  • 3 AAA Quality
    • 1 预计算全局光照
      • 1 为啥全局光照是非常重要的?
    • 2 傅里叶变换
    • 3 球面谐波函数
    • 4 光照贴图LightMap,GI
    • 5 Light probe
    • 6 材质
      • 1 DFG:D:normal 分布
      • 2 BRDF Dinesy 信条
      • 3 PBR
    • 7 IBL
    • 8 shadow
  • 4 总结
  • 5 未来的发展

lighting,material,Shader,
Games104现代游戏引擎入门-lecture5游戏中的渲染_第1张图片

1 渲染方程

Games104现代游戏引擎入门-lecture5游戏中的渲染_第2张图片

35年前有了这个;
Games104现代游戏引擎入门-lecture5游戏中的渲染_第3张图片
真实渲染是很复杂的:

Games104现代游戏引擎入门-lecture5游戏中的渲染_第4张图片

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

阴影想做的好是非常难的,visibility to lights;
Games104现代游戏引擎入门-lecture5游戏中的渲染_第5张图片

光源是很复杂的:
平行光源,点光源是很正常的,但是面光源是比较复杂的
Radiance:辐射度
Inradiance:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第6张图片

2 积分怎么做?

Games104现代游戏引擎入门-lecture5游戏中的渲染_第7张图片

3 任何点都可能是光源

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

Games104现代游戏引擎入门-lecture5游戏中的渲染_第8张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第9张图片
ray tracying:

2 simple

Games104现代游戏引擎入门-lecture5游戏中的渲染_第10张图片

1 简单光源

Games104现代游戏引擎入门-lecture5游戏中的渲染_第11张图片

2 环境贴图

Games104现代游戏引擎入门-lecture5游戏中的渲染_第12张图片
是符合渲染方程的。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第13张图片

3 材质

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

Games104现代游戏引擎入门-lecture5游戏中的渲染_第14张图片
问题是:
1.能量是不守恒的
能量保守,出射能量一定要小于等于入射能量
2.很难表达复杂的真实材质
Games104现代游戏引擎入门-lecture5游戏中的渲染_第15张图片

3 shadow

Games104现代游戏引擎入门-lecture5游戏中的渲染_第16张图片

到光的可见性,从光的视角
Games104现代游戏引擎入门-lecture5游戏中的渲染_第17张图片
Shadow map的问题:
自遮挡的问题

在这里插入图片描述

4 基本的着色解决方案

Games104现代游戏引擎入门-lecture5游戏中的渲染_第18张图片

3 AAA Quality

在这里插入图片描述

刺客信条:

Games104现代游戏引擎入门-lecture5游戏中的渲染_第19张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第20张图片
5-10年前的技术

1 预计算全局光照

空间换时间
Games104现代游戏引擎入门-lecture5游戏中的渲染_第21张图片

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

Games104现代游戏引擎入门-lecture5游戏中的渲染_第22张图片

Games104现代游戏引擎入门-lecture5游戏中的渲染_第23张图片

2 傅里叶变换

Games104现代游戏引擎入门-lecture5游戏中的渲染_第24张图片

空间域转变成频域
Games104现代游戏引擎入门-lecture5游戏中的渲染_第25张图片

3 球面谐波函数

Games104现代游戏引擎入门-lecture5游戏中的渲染_第26张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第27张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第28张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第29张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第30张图片

Games104现代游戏引擎入门-lecture5游戏中的渲染_第31张图片

4 光照贴图LightMap,GI

烘焙
Games104现代游戏引擎入门-lecture5游戏中的渲染_第32张图片

Games104现代游戏引擎入门-lecture5游戏中的渲染_第33张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第34张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第35张图片

好处:
实时做的很好
离线的
缺点:
预计算时间很长。
只能处理静态的物体和静态的光。
lightmap的方法可能会慢慢的退出。
游戏的场景参数化到二维的texture上,很多计算就不需要做了。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第36张图片

5 Light probe

光场:

Games104现代游戏引擎入门-lecture5游戏中的渲染_第37张图片

反射probe:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第38张图片

这两种集合到一起:可以出现不错的GI效果
现在的计算机可以实时更新Light Probes,不会每一帧才去更新,找空的一帧去更新。
缺点:比不上lightmap。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第39张图片

6 材质

在这里插入图片描述
Games104现代游戏引擎入门-lecture5游戏中的渲染_第40张图片
ggx

1 DFG:D:normal 分布

Games104现代游戏引擎入门-lecture5游戏中的渲染_第41张图片
D:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第42张图片
G:
在这里插入图片描述
F:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第43张图片
物理材质测量:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第44张图片

2 BRDF Dinesy 信条

尽量少的参数:
所有的参数范围最好是0-1;
参数随便你怎么调,他的所有组合都是有意义的。
引擎是个工具,
Games104现代游戏引擎入门-lecture5游戏中的渲染_第45张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第46张图片

3 PBR

Games104现代游戏引擎入门-lecture5游戏中的渲染_第47张图片

归一化是很重要的!
几乎不需要设置任何参数,进行的是像素级的控制!
Games104现代游戏引擎入门-lecture5游戏中的渲染_第48张图片
MetallicRoughnees:

metalic:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第49张图片
灵活度下降,但是不会出问题:用MR,用SR少一点。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第50张图片

MR存在下面的问题!
Games104现代游戏引擎入门-lecture5游戏中的渲染_第51张图片

7 IBL

Games104现代游戏引擎入门-lecture5游戏中的渲染_第52张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第53张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第54张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第55张图片

Games104现代游戏引擎入门-lecture5游戏中的渲染_第56张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第57张图片
近似解!
Games104现代游戏引擎入门-lecture5游戏中的渲染_第58张图片
IBL:光照的方法,和PBR是孪生兄弟一样
Games104现代游戏引擎入门-lecture5游戏中的渲染_第59张图片

8 shadow

现在用的基本都是Cascade Shadow
Games104现代游戏引擎入门-lecture5游戏中的渲染_第60张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第61张图片
不同的层级之间要做插值!
Games104现代游戏引擎入门-lecture5游戏中的渲染_第62张图片

存储大!

shadow是最耗时的,但是确保光的可见性是正确的。
shadow很难做到2ms一下。
做4次的裁剪,
Games104现代游戏引擎入门-lecture5游戏中的渲染_第63张图片

喜欢做软阴影。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第64张图片
PCF 软
Games104现代游戏引擎入门-lecture5游戏中的渲染_第65张图片

PCSS是标配!
Games104现代游戏引擎入门-lecture5游戏中的渲染_第66张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第67张图片

4 总结

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

Games104现代游戏引擎入门-lecture5游戏中的渲染_第68张图片

5 未来的发展

Games104现代游戏引擎入门-lecture5游戏中的渲染_第69张图片

实时光锥:
Games104现代游戏引擎入门-lecture5游戏中的渲染_第70张图片

密切的关注实时全局光照
Games104现代游戏引擎入门-lecture5游戏中的渲染_第71张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第72张图片
新的方向:Vitual texture,巨大的纹理,能够解决cas shadow的存储不够的问题。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第73张图片
有很多个shader

Games104现代游戏引擎入门-lecture5游戏中的渲染_第74张图片

GPU很讨厌shader

Games104现代游戏引擎入门-lecture5游戏中的渲染_第75张图片
7万多个shader
Games104现代游戏引擎入门-lecture5游戏中的渲染_第76张图片
跨平台的编译。
Games104现代游戏引擎入门-lecture5游戏中的渲染_第77张图片
Games104现代游戏引擎入门-lecture5游戏中的渲染_第78张图片
GI未来会怎么发展:GI 5年左右上来就是GI。
端云协同

你可能感兴趣的:(游戏引擎,游戏引擎)