美文网首页
着色器的渲染流程

着色器的渲染流程

作者: Gumball_a45f | 来源:发表于2020-07-07 13:43 被阅读0次

着色器的分类

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

着色器的渲染流程图:


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

管线

其实我们通俗的理解,上面说的这个流程就是管线。管线也是分两类的:


image.png

固定管线:OpenGL刚出来的时候,大家都是用的固定管线,就是所有的流程都是固定死了的,你就只能按照这个顺序来,中间的过程你不用管。但是随着后面的业务场景越来越丰富,固定管线已经无法满足需求了,于是出现了可编程管线。
可编程管线:顾名思义就是可以编程的管线,那么哪一些着色器是可以编程的呢?到目前为止,我们能够通过GLSL语言编程的着色器是顶点着色器和片元着色器。

相关文章

  • OpenGL:图形渲染流程 以及iOS中渲染框架

    图像图形渲染流程 1.着色器渲染流程渲染过程中必须存储2种着色器分别是:顶点着色器,片元着色器。其中顶点着色器是第...

  • OpenGL ES 渲染流程

    OpenGL ES 渲染流程 1、总体流程 2、流程细节 2.1、顶点着色器 顶点着色器的输入着色器程序:描述顶点...

  • OpenGL 渲染架构

    着色器渲染流程 openGL官方渲染管线流程地址[https://www.khronos.org/opengl/w...

  • 1.专业名词汇总

    跳去目录 着色器的渲染流程 (先过一遍流程,有个概念) 顶点数据 -> 顶点着色器 -> 细分着色器 -> 集合...

  • OpenGL(三) OpenGL渲染架构

    一、OpenGL渲染流程 渲染流程 设置顶点数据和其他参数。 在顶点着色器中进行运算得到裁剪坐标。 细分着色器、几...

  • 我的OpenGL ES学习之路(五):着色器

    在上篇文章渲染流程 已经说到了着色器,在使用着色器进行渲染的时候,需要两个对象:着色器对象 和 程序对象。着色器对...

  • 视觉学习第二节课

    OpenGL 渲染流程图解析 1:渲染需要确定顶点数据,顶点着色器进行顶点的渲染。有几个顶点顶点着色器执行几次。 ...

  • OpenGL渲染架构

    1.渲染流程 渲染流程: 设置顶点数据 顶点着色器中接收顶点数据单独处理每个顶点 细分着色器,在管线中生成新的几何...

  • OpenGL ES 初探

    Open GL ES 3.0渲染流程图 1.顶点着色器 顶点着色器 输入 Shader program(着色器程序...

  • 离屏渲染与OpenGL渲染结构

    大纲 理解离屏渲染 OpenGL渲染结构 着色器 OpenGL 基础图元/基本图元连接 理解离屏渲染 正常渲染流程...

网友评论

      本文标题:着色器的渲染流程

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