Graphics - 应用阶段流水线

本文概述了图形渲染流程中的关键步骤,包括数据从硬盘加载到显存、设置渲染状态,以及CPU通过DrawCall指令引导GPU进行计算。重点讲解了为何将数据加载到显存、渲染状态设置的必要性和DrawCall命令的作用。
摘要由CSDN通过智能技术生成

一些图形学的概念介绍,个人摘抄或整理,作为个人文章的词条引用;

应用阶段流水线

渲染流水线的起点是CPU,即应用阶段;应用阶段大致可分为下面三个阶段:

把数据加载到显存中

所有渲染所需的数据都需要从硬盘(HDD)中加载到系统内存(RAM)中;然后,网格和纹理等数据又被加载到显卡上的存储空间——显存(VRAM)中;这是因为,显卡对于显存的访问速度更快,而且大多数显卡对于RAM没有直接的访问权限;加载在显存中,在渲染时,GPU可以快速访问这些数据;加载在显存中的数据有顶点的位置信息、法线方向、顶点颜色、纹理坐标等等;

当把数据加载到显存中后,RAM中的数据就可以移除了;但对于一些数据来说,CPU仍然需要访问它们(比如CPU要访问网格数据来进行碰撞检测),那么可能就不移除这些数据,因为从硬盘加载到RAM的过程是十分耗时的;

 

设置渲染状态

在以上过程之后,开发者还需要通过CPU来设置渲染状态,从而指导GPU如何进行渲染工作;通过设置渲染状态,来定义场景中的网格如何被渲染;

 

调用Draw Call

在准备好上述所有工作后,CPU就需要调用一个渲染命令来通知GPU开始渲染工作,即Draw Call命令;它的发起方是CPU,接收方是GPU;这个命令仅仅会指向一个需要被渲染的图元(primitives)列表,而不会再包含任何材质信息——因为我们已经在上一个阶段中完成了;

当给定了一个Draw Call时,GPU就会根据渲染状态(例如材质、纹理、着色器等)和所有输入的顶点数据来进行计算,最终输出成屏幕上显示的像素;这个计算过程则属于GPU流水线;


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

DoomGT

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

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

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

打赏作者

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

抵扣说明:

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

余额充值