iOS OpenGL开发(二) - 着色器渲染流程

栏目: IOS · 发布时间: 5年前

内容简介:第一篇我们提到了很多的着色器相关的名词,那么什么是讲到着色器,我们首先提到的应该会图元:组成图像的基本单元。

第一篇我们提到了很多的着色器相关的名词,那么什么是 着色器 呢?着色器他们又有一个什么样的流程呢?着色器分哪些种类呢?不同的着色器分别有什么功能呢?我们就带着这些问题,开启我们这一片文章的内容。

1、着色器的基本认识

讲到着色器,我们首先提到的应该会 图元 ,那么什么是图元呢?

图元:组成图像的基本单元。

那么说完图元,我们就要说说 渲染管线 了,怎么理解渲染管线呢?

OpenGL渲染管线:一系列有序处理阶段的序列,用于把我们应用中的数据转化到OpenGL生成一个最终的图像的一个过程。

怎么理解?其实我们可以把管线想象称为一个流水线,流水线上面的每个过程都是固定好了的,顺序不能错乱的,那么我们把流水线上面的一个工人或者是机器设备就可以理解为一个 着色器 。那么我们怎么去指挥流水线工人或者是流水线上的机器干活呢?我们就需要有一种交流沟通的命令,这个命令我们就可以理解为是专门为图形开发设计的编程语言,也就是我们常说的 GLSL

2、着色器的分类

  • 顶点着色器(必要):是最初用来处理顶点坐标的,一般会对坐标做一些计算
  • 细分着色器(可选):描述物体的形状,在管线中生成新的几何体处理(平顺)模型生成最终形态
  • 几何着色器(可选):是对原坐标进行一些修改,个人感觉适用于一些特效
  • 片元着色器(必要):是对图形进行涂色,并最终输出 其中顶点着色器和片元着色器是我们必须要要使用的,然而细分着色器和几何着色器我们是可选的,一般用的很少。

3、着色器的渲染流程

第一节里面提到了渲染管线,其实我们可以理解就是着色器的渲染流程。下面一幅图就是着色器的渲染流程

iOS OpenGL开发(二) - 着色器渲染流程

流程:

  • 拿到顶点数据传给顶点着色器,顶点着色器根据你的投影等等不同的情况进行处理一番
  • 顶点着色器处理完了之后交给细分着色器,生成新的几何体处理(平顺)模型生成最终形态,对所有的图像进行修改几何图元类型或者放弃所有的凸缘
  • 然后交给几何着色器对原坐标进行一些修改(一般用于特效方面的)
  • 接着进行图元设置,其实可以理解为描述图片到底长啥样
  • 接下来进行剪切,剪切顾名思义就是剪切视口之外的绘制
  • 下面就是光栅化,光栅化就是输入图元的数学描述,转化为与屏幕对应的位置像素片元。其实很好理解,就是把这个图片切成一个个的像素点然后交给片元着色器
  • 片元着色器就会处理每一个像素点,给每一个像素点进行着色,其实就是片元颜色以及深度值传递到片元测试和混合模块。所以说有多少个像素点就要执行多少次片元着色器。

以上所述就是小编给大家介绍的《iOS OpenGL开发(二) - 着色器渲染流程》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

当下的启蒙

当下的启蒙

[美] 史迪芬·平克 / 侯新智、欧阳明亮、魏薇 / 浙江人民出版社 / 2018-12 / 159.90

[编辑推荐] ● 比尔•盖茨最喜爱的一本书。理查德·道金斯心中的诺贝尔文学奖作品。尤瓦尔•赫拉利2018年最爱的书之一。 ● 当代最伟大思想家史蒂芬·平克全面超越自我的巅峰之作,一部关于人类进步的英雄史诗。 ●《当下的启蒙》用数据和事实揭示出世界的真相:不是黑暗,而是光明;不是丧,而是燃;我们没有退步,而是一直在进步,还将继续进步。用这本书点燃生活的勇气,亲手创造更美好的未来。 ......一起来看看 《当下的启蒙》 这本书的介绍吧!

随机密码生成器
随机密码生成器

多种字符组合密码

URL 编码/解码
URL 编码/解码

URL 编码/解码

SHA 加密
SHA 加密

SHA 加密工具