渲染流水线--应用阶段详解

什么是渲染流水线

由一个三维场景出发,渲染一张二维图像

计算机从一系列的顶点数据,纹理等信息出发,把这些信息最终转换成一张人眼可见的图像。由C、GPU共同完成

 

分为下面三个阶段:

应用阶段

应用主导,开发者在此阶段有绝对控制权

负责实现:CPU

阶段任务:输出渲染图元

具体阶段:

数据准备 

渲染所需的数据都需要从硬盘加载到系统内存中,纹理、网格等数据又被加载到显卡的存储空间-显存中(显卡对显存的访问更快,且大多数显卡对内存没有访问权限)

渲染数据(顶点位置信息、法线方向、顶点颜色、纹理坐标)加载到显存中,内存中的数据就可以移除了,但一些数据CPU仍需要访问(用于碰撞检测的网格数据),所以我们不希望这部分数据被移除,因为从硬盘加载到内存的过程很耗时。

粗粒度剔除

设置渲染状态

什么叫渲染状态?---这些状态定义了场景汇总的网格是怎样被渲染的

没有更改渲染状态则所有的网格都将使用同一种渲染状态

包括不限于它使用的材质(漫反射、高光反射颜色)、纹理、shader等

此阶段最重要的输出是渲染所需要的几何信息--渲染图元(点、线、三角面等)

 通知draw call 

发起方CPU,接收方GPU

这个命令仅仅会指向一个需要被渲染的图元列表,不在包含任何材质信息,已完成

给定一个dc时,GPU根据渲染状态(材质、纹理、着色器)和所有输入的顶点数据来进行计算,最终输出屏幕上的像素,计算过程为后面的几何阶段和光栅化阶段

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值