UnityShader入门学习(二)——渲染流水线

渲染流水线

在这里插入图片描述

1 CPU应用阶段

1,把数据加载到显存中。
2,设置渲染状态。
3,调用Draw Call。

1.1 数据加载到显存中

在这里插入图片描述

将渲染所需数据从硬盘加载到内存中,网格纹理等数据又被加载到显存中(一般加载到显存后内存中的数据就会被移除)

1.2 设置渲染状态

这些状态定义了场景中的网格是怎么被渲染的。例如,使用哪个顶点着色器, 片元着色器,光源属性,材质等。
在这里插入图片描述

1.3 调用Draw Call

Draw Call 就是一个命令,它的发起方是Cpu,接收方是Gpu。这个命令仅仅会指向一个需要被渲染的图元列表,而不会包含任何材质信息。
在这里插入图片描述

2 GPU流水线

几何阶段和光栅化阶段,开发者无法拥有绝对的控制权,其实现的载体是Gpu。Gpu通过实现流水线化,大大加快了渲染速度。虽然我们无法完全控制这两个阶段的实现细节,但是Gpu向开发者开放了很多控制权。
在这里插入图片描述
绿色代表完全可编程控制;黄色代表可配置但不可编程;蓝色代表Gpu固定实现。

2.1 几何阶段

顶点数据为输入,顶点数据是由应用阶段加载到显存中,再由Draw Call指定的。这些数据随后被传递给顶点着色器。

顶点着色器是完全可编程的,它通常用于实现顶点的空间变换,顶点着色器等功能。曲面细分着色器是一个可选着色

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值