[从零开始的SoftRenderer]3. 渲染管线

  GPU在接受了CPU的指令和数据后,所做的一系列流水线作业,被称作渲染管线。

GPU渲染管线

在这里插入图片描述
  上图就是GPU渲染管线的图示。图中绿色表示完全可编程,黄色表示可配置,蓝色表示完全固定。下面介绍下一些主要的渲染阶段:

  • 顶点着色器: 完全可编程,主要做的是我们在本系列第二章中所讲的坐标变换的过程,所以将输入的顶点乘以MVP矩阵输出,就是一个最简单的顶点着色器。除此之外,这一阶段还可以对一些顶点的属性(法线、纹理等等)进行处理,交给后面的阶段去用。
  • 裁剪: 在NDC空间进行裁剪,被截取的三角形会在边界处生成新的顶点。
  • 屏幕映射: 将顶点坐标映射到屏幕上,即进行视口变换。
  • 三角形设置: 之前所处理的都是顶点,这里则会计算三角形的网格表示数据,以为后面的阶段做准备。
  • 三角形遍历: 这里则是本系列第一章讲的内容,即遍历三角形可能覆盖的像素,根据重心坐标确定像素是否在三角形内部,然后则将顶点的各种属性进行插值得到该像素(片元)的属性,交给后面的片元着色器去处理。
  • 片元着色器: 根据对三角形各顶点插值得到的属性,决定此片元需要绘制什么颜色。一般各种着色计算都是在此处。
  • 逐片元操作: 根据配置对片元进行一各种操作,如:深度测试、模板测试、混合等等。

  除此之外,还有可选的曲面细分着色器几何着色器曲面细分着色器可以将三角形分割成更小的三角形,以提升模型的精度。几何着色器则可在多边形网格处理并增删顶点。不过这两个我目前都还没有实践过,理解不够,以后再细讲吧。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值