Shader入门学习记录②——CPU与GPU之间的通讯

本文深入探讨了Shader渲染流程,详细解析了数据加载、渲染状态设置及DrawCall调用三个关键步骤,为读者揭示了从数据准备到像素输出的完整过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一章Shader入门学习记录——渲染流程

1.把数据加载到显存中

所有渲染需要的数据都需要从硬盘(Hard Disk Drive,HDD)中加载到系统内存(Random Access Memory ,RAM)中。然后,网格和纹理等数据有被加载到显卡上的存储空间——显存(VRAM)中。这就是因为,显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权利。
渲染所需的数据(两张纹理以及3个网格)从硬盘最终加载到显存中。在渲染时,GPU可以快速访问这些数据
需要注意的是,真实渲染中需要加载到显存中的数据往往比上图所显示的情况要复杂许多。例如,顶点的位置信息、法线方向、顶点颜色、纹理坐标等。
当把数据加载到显存中后,RAM中的数据就可以移除了。但对于一些数据来说,CPU仍然需要访问它们(例如,我对这类数据开了读写),那么我们可以能不希望这些数据被移除,因为从硬盘加载到内存的过程是十分耗时的。
在这之后开发者还需要通过CPU来设置渲染状态,从而“指导”GPU如果进行渲染工作。

2.设置渲染状态

什么是渲染状态呢?一个通俗易懂的解释就是,这些状态定义了场景中的网格是怎么被渲染的。例如,使用哪个顶点着色器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值