第七课:游戏中渲染管线、后处理和其他
Games 104 作为一个通识课
Ambient Occlusion 环境光遮蔽
Precompute AO
模型细节烘培到纹理后,法向烘培在法线纹理上,但是却丢失了几何遮蔽细节。
这时可以烘培 AO 图,烘培 AO 细节
Realtime AO
Screen Space Ambient Occlusion
SSAO Plus 半球面
HBAO Horizon-based Ambient Occlusion
Use the depth buffer as a heightfield on 2D surface
Trace rays directly in 2D and approximate AO from horizon angle
GTAO Ground Truth-based Ambient Occlusion
Fog
Depth Fog
Linear fog
Exp fog
Exp Squared fog
Height Fog
Ray marching
或者用解析式积分雾的浓度
Voxel-based Volumetric Fog
基于视锥体的空间划分
然后进行 Ray marching
Precompute
使用 3D Texture 提前存储计算结果
Anti-aliasing 反走样
出现原因
光栅化是对连续世界的采样,低频采样高频信息
常见锯齿场景
Edge
Texture
Specular
Anti-aliasing
对于一个像素进行多次采样,让后颜色平均
使颜色过度更加平滑
Methods
基于超采样的抗锯齿
SSAA : Super-sample AA : 四倍像素数量着色
MSAA : Multi-sample AA:每个像素对其中有贡献的三角形采样一次,
缺陷是场景中的三角形会特别多
基于图像的抗锯齿
FXAA : Fast Approximate Anti-aliasing 最常用的抗锯齿算法
通过亮度 Luma 和色差定义 Contrast 边缘检测,
对于每个像素找到周围 9 格中梯度最大的像素方向
再沿梯度垂直方向找到边缘的端点
以整条边进行模糊,一半部分加亮,一半部分变暗
基于时序的坑锯齿
TAA
基于物体的 Motion Vector,物体中的像素点在屏幕上的运动距离
过去的渲染结果会在当前帧结果提供大量贡献
Post-process 大滤镜
explosure 场景正确的被曝光
Bloom
Tone Mapping
Color Grading
最后更新于