[Games104笔记]4/4 渲染系统1 『渲染数据组织』


一些挑战

适配当代硬件

结合CPU和GPU

限制对CPU带宽和内存占用的访问

投影,光栅化

CG基础学习笔记(Lecture3-4)_泥烟的博客-CSDN博客https://blog.csdn.net/qq_39391544/article/details/122374926

着色

CG基础学习笔记(Lecture7~9 初学shading)_泥烟的博客-CSDN博客https://blog.csdn.net/qq_39391544/article/details/123038165

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驱动

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

泥烟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值