目录
游戏引擎渲染的挑战:
渲染流水线:
GPU架构:
指令:
GPU运算单元:
CPU向GPU传输数据:
缓存效率:
GPU性能边界:
手机渲染架构:
当代硬件渲染架构:
渲染数据组织:
mesh系统:
材质系统:
实例化渲染:
裁剪:
包围盒:
空间划分:
PVS:
GPU Culling:
纹理压缩:
块压缩算法:
建模工具:
程序化生成:
Cluster Based 渲染:
PILOT引擎:
作业:
学习资料:
LE7--渲染系统4:渲染管线,后处理:https://blog.csdn.net/m0_56399931/article/details/124790469
LE6--渲染系统3:游戏中的地形/天空/云渲染:LE6--渲染系统3:yo地形/天空/云渲染_This is MX的博客-CSDN博客
LE5--渲染系统2:光照、材质、Shadow:Games104笔记---LE5--渲染系统2:光照、材质、Shadow_This is MX的博客-CSDN博客
LE4--渲染系统1:渲染基础:Games104笔记---LE4--渲染系统1:渲染基础_This is MX的博客-CSDN博客_渲染系统
LE3--基础架构2:数据组织与管理:Games104笔记---LE3--基础架构2:数据组织与管理_This is MX的博客-CSDN博客
LE2--基础架构1:引擎架构分层整体Pipeline:Games104笔记---LE2--基础架构1:引擎架构分层整体Pipeline_This is MX的博客-CSDN博客
LE1--现代游戏引擎导论:Games104笔记---LE1--现代游戏引擎导论_This is MX的博客-CSDN博客
这个部分看一下games101和opengl会好很多
(1)要做到数以万计的物体具有数十种效果
(2)需要了解CPU和GPU的复杂组合处理的现代计算机架构
(3)需要达到稳定的帧率
(4)限制CPU带宽和内存的占用
Shader预备知识一-------渲染的基本工作流程_This is MX的博客-CSDN博客
这个其实很全了,但是比较简略,但是适合入门
SIMD:单指令多数据操作
SIMT:单指令多线程操作。并行计算中使用的一种执行模型,其中单指令、多数据(SIMD)与多线程相结合
GPC:用于计算、光栅化、着色和纹理的专用硬件块
我们要尽可能的提高缓存命中效率,因为如果不命中需要进内存里面进行获取,这个操作是非常消耗的。
我们可以需要分开存顶点数据和索引数据,并且每个顶点都要有法线数据。
常见的光照模型 Phone,Bilin-Phone,PBR
光照模型也需要贴图控制
Shader用来表达这个光照模型
多材质系统
那我们怎么表现多材质呢,我们可以将各个部分的数据存储到同一个buffer的不同的连续位置,我们再用的时候就只需要offset就能够使用。
相同的纹理、材质、网格渲染,对渲染命令进行合并提交
对材质进行排序对相同的材质只提交一次渲染命令
我们会将不在摄像机视锥体的图元进行裁剪
我们如果使用空间划分,就可以减少很多的复杂度,不用每个都去问询。
PVS可以大大的提高裁剪速度和资源加载的效率
Earlyz
就是将深度测试提前到光栅化的片元着色器之前,这样片元就会提前被舍弃,但是这个操作其实还是有一些问题的,比如说如果渲染的排序是从后往前渲染这个的优化效果就很拉,并且如果手动写入深度值或者开启了alphatest或者舍弃片元的操作,那么gpu就会关闭early-z直到下次clear z-buffer后才会重新开启
Hiz
全名Hierarchical Z,和z-perpass一样也是一种软件技术,据说这项技术最早是在《刺客信条:大革命》中使用的。其核心原理是利用上一帧的深度图和摄像机矩阵,来对当前帧的场景做剔除,对于剔除后的物体进行绘制新的深度图和GBuffer,然后再用新的深度图和当前摄像机矩阵再对当前帧的场景做剔除,对剔除后的物体进行绘制更新刚刚的深度图和GBuffer。之所这种看起来十分复杂的方法能提高效率,是因为每一帧的绘制都已上一帧的绘制结果为基础。我们假设相邻两针差距不会特别大,那么以上一帧的深度图作为结果来对当前帧可见的物体进行筛选,可以得到绝大部分。
这个可以看这个:
图形学入门---纹理压缩_This is MX的博客-CSDN博客
纹理压缩一般不能选择压缩得最小的方法,因为无法随机访问。
Maya,blender, Zbrush
将精细的模型分成多个多个mesh块,进行渲染。并且基于mesh块,我们以前只能对单个物体进行裁剪,但是现在我们也能够对单个物体的mesh块进行裁剪。
https://github.com/BoomingTech/Pilot
Games 104: 现代游戏引擎:从入门到实践
Games104
1.UE预计算遮挡剔除(PVS)全解析 - 知乎