美文网首页工作生活
􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌

􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌

作者: JunkieBa | 来源:发表于2019-07-03 16:20 被阅读0次
    OpenGL ES 3.0 图形管线 OpenGL ES管道图

    顶点着色器

    顶点着色器输入:

    着⾊器程序:描述顶点上执行操作的顶点着⾊色器程序源代码/可执⾏文件

    顶点着⾊器输入(属性) :用顶点数组提供每个顶点的数据

    统一变量(uniform):顶点/片元着色器使用的不变数据

    采样器—代表顶点着⾊器使用纹理的特殊统一变量类型.

    顶点着色器

    顶点着色器的业务

    矩阵变换位置

    计算光照公式生成逐顶点颜色

    ⽣成/变换纹理坐标

    总结: 它可以用于执行自定义计算,实施新的变换,照明或者传统的固定功能所不允许的基于顶点的效果.

    代码示例:

    attribute vec4 position;
    attribute vec2 textCoordinate; uniform mat4 rotateMatrix; varying lowp vec2 varyTextCoord; void main()
    {
    varyTextCoord = textCoordinate; vec4 vPos = position;
    vPos = vPos * rotateMatrix; gl_Position = vPos;
    }

    图元装配

    顶点着色器之后,下一个阶段就是图元装配.

  1. 图元(Primitive): 点,线,三⻆角形等.
  2. 图元装配: 将顶点数据计算成⼀个图元.在这个阶段会执行裁剪、透视分割和Viewport变换操作。
  3. 图元类型和顶点索确定将被渲染的单独图元。对于每个单独图元及其对应的顶点,图元装配阶段执行的操作包括:将顶点着⾊器的输出值执行裁剪、透视分割、视⼝变换后进入光栅化阶段。
  4. 光栅化

    在这个阶段绘制对应的图元(点/线/三⻆角形). 光栅化就是将图元转化成一组⼆维片段的过程.而这些转化的片段将由⽚元着⾊器处理.这些二维片段就是屏幕上可绘制的像素.

    光栅化

    片段着⾊器/⽚元着⾊器

    ⽚元着⾊器/⽚着⾊器 输⼊:

    • 着⾊器程序:描述⽚段上执行操作的顶点着⾊器程序源代码/可执⾏文件。
    • 输⼊变量:光栅化单元用插值为每个片段⽣成的顶点着⾊器输出。
    • 统一变量(uniform):顶点/⽚元着⾊器使⽤的不变数据。
    • 采样器:代表⽚元着⾊器使用纹理的特殊统一变量类型。
    片元着色器

    ⽚元着⾊器 业务:

    计算颜⾊

    获取纹理值

    往像素点中填充颜色值(纹理值/颜色值);

    总结: 它可以用于图⽚/视频/图形中每个像素的颜色填充(比如给视频添加滤镜,实际上就是将视频中每个图片的像素点颜色填充进行修改.)

    相关文章

      网友评论

        本文标题:􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌􏰱􏳸􏶛􏲚􏴁􏷌􏰱􏴛􏳼􏷊􏷋􏴁􏷌

        本文链接:https://www.haomeiwen.com/subject/ssiqhctx.html