Games104现代游戏引擎学习笔记04

文章探讨了GPU的渲染管线,重点介绍了SIMD指令和SIMT技术如何实现指令级并行运算,提高坐标和矩阵运算效率。现代显卡利用大量小核心进行并行处理,建议在绘制算法中使用相同代码并减少CPU-GPU间的数据交互以避免帧数延迟。游戏引擎通过将对象切分成子mesh,存储在缓冲区中,并使用包围盒(BVH)优化碰撞检测,实现了资源的有效管理和性能提升。

渲染管线
在这里插入图片描述
显卡:
SIMD指令:指令级并行运算。一个指令,4次运算。处理坐标运算,矩阵运算
SIMT:一个指令在多核上,同时做同样的指令操作。
现代显卡放了无数个小小的核。
在这里插入图片描述

因此,在做所有的绘制算法,绘制运算时,尽可能用同样的代码,各自访问各自的数据,效率会远高于CPU上的运算

数据尽量只从cpu送到gpu计算结束了,不要从gpu读数据。因为逻辑和渲染是不同步的,来回的数据交互会导致帧数的延迟

现代引擎,对于一个GO,会将其mesh,根据材质应用的不同切分成各个子mesh。
每个submesh的顶点数据,索引,纹理等会存在一个大的buffer里,通过不同的offset获取。

将所有的mesh存在一个pool,
texture存在一个pool,
shader存在一个pool
在这里插入图片描述
注意区分定义(GO)和实例(prefab/instance)。即类和对象

包围盒
BVH

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值