[Games104笔记]4/4 渲染系统1 『渲染数据组织』
一些挑战
适配当代硬件
结合CPU和GPU
限制对CPU带宽和内存占用的访问
投影,光栅化
CG基础学习笔记(Lecture3-4)_泥烟的博客-CSDN博客https://blog.csdn.net/qq_39391544/article/details/122374926
着色
SIMD (Single Instruction Multiple Data)
单指令多数据
SIMT (Single Instruction Multiple Threads)
单指令多线程
GPU 构成
GPC (图形处理集群) 计算、栅格化、阴影和纹理处理......
SM (流式多处理器) 运行CUDA内核的GPU的一部分
Texture Units 纹理处理单元,它可以获取和过滤纹理。
CUDA Core 允许不同处理器同时工作数据的并行处理器
Warp 一组线程
尽可能减少CPU和GPU之间的数据传输, 减少资源传输的成本
尽可能单向
注意缓存效率. 充分利用硬件的并行计算,尽量避免冯·诺依曼的瓶颈
应用程序的性能受到的限制
※submesh
相同材质,mesh分类管理
资源库
实例化:使用句柄重用资源
批处理绘制
几种包围盒
轴对称, 贴着物体, 凸包...
※BVH
动态的事物很多
BVH针对的是可见物件的层次结构,而八叉树针对的是场景空间下哪些物件应当归于子空间中
PVS
可见度集
GPU剔除
图像压缩
通用的块压缩
几种创作方式的比较
基于聚类的网格管道
surf:基于材料的子网格,由许多三角形簇组成集群
聚类 的GPU剔除
无缝边界的分层LOD集群, 不需要硬件支持,而是在预先计算的BVH树上使用分层集群选择
Tips:
1.游戏引擎的设计与硬件结构设计有着深刻的联系。
2.采用submesh设计来支持多材料模型
3.使用剔除算法绘制尽可能少的对象
4.随着GPU功能的增强,越来越多的工作被转移到GPU中,即GPU驱动
本文来自博客园,作者:泥烟,CSDN同名, 转载请注明原文链接:https://www.cnblogs.com/Knight02/articles/16255366.html