美文网首页OpenGL
OpenGL 渲染管线流程解析

OpenGL 渲染管线流程解析

作者: 寻常_0 | 来源:发表于2019-05-15 14:14 被阅读0次

说到渲染流程,我们可以用一张图,清楚的看到渲染的一系列流程。废话不说,看图(图片取自Tobesky的一篇文章)

渲染管线流程
这样图非常重要,处理任何图形渲染,都需要依据这张图的流程。下面我们来细细说明这张图表达的意思。
客户端/ 服务端

Client(客户端)/ Server(服务端。在我们日常开发中手机端称为客户端,后台称为服务端。在这里是要区分开来的。图中虚线分为上下两部分,上半部分是客户端,下半部分为服务端。
客户端是存储在CPU存储器中的,并且在应用程序中执行,或者在主系统内存的驱动程序中执行(我们写的代码,OpenGL 提供的API就是在客户端执行)
服务端驱动程序会将渲染命令和数组组合起来,发送给服务器执行。(在一台典型的个人计算机上,服务器就是实际上就是图形加速卡上的硬件和内存)

着色器

顶点着色器(Vertex Shader)和 Fragment Shader(片元着色器)和图元装配(primitive Assembly)

  • 着色器是使用GLSL编写的程序
  • 顶点着色器计算顶点数据在交由图元装配对每个片段进行光栅化,最后片元着色器会输出我们将屏幕上看到的最终颜色值。
3种向OpenGL 着色器传递渲染数据的方法

1.属性
2.uniform 值
3.纹理

属性
  • 每一个顶点都要作改变的数据元素
  • 属性值可以是浮点数、整数、布尔数据
  • 属性还可以是:纹理坐标、颜色值、关照计算表面法线
  • 属性只提供给顶点着色器使用,对于片元着色器木有太大意义
  • 属性可以通过顶点着色器,间接传递给片元着色器
Uniform值
  • uniform变量可以无数次地使用
  • uniform 变量每个批次改变一次,而不是每个顶点改变一次
  • uniform变量最常见的应用是在顶点渲染中设置变换矩阵
  • 与属性相同点:可以是浮点值、整数、布尔值
  • 与属性不同点:顶点着色器和片元着色器都可以使用uniform变量。uniform 变量还可以是标量类型、矢量类型、uniform矩阵
纹理
  • 在顶点着色器、片段着色器中都可以对纹理数据进行采样和筛选
  • 典型的应用场景:片元着色器对一个纹理值进行采样,然后在一个三角形表面应用渲染纹理数据
  • 纹理数据,不仅仅表现在图形,很多图形文件格式都是以无符号字节(每个颜色通道8位)形式对颜色分量进行存储的
输出

在图表中第四种数据类型是输出(out);输出数据是作为一个阶段着色器的输出定义的,二后续阶段的着色器则作为输入定义。

  • 输出数据可以简单的从一个阶段传递到下一个阶段,也可以用不同的方式插入。
  • 客户端的代码接触不到,这些内部变量OpenGL开发暂时接触不到。

相关文章

  • OSG3.4内置Examples解析【目录】

    opengl渲染管线 从整体上解读OpenGL的渲染流程 一 从整体上解读OpenGL的渲染流程 二 osg与an...

  • OpenGL 渲染架构

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

  • OpenGL 渲染管线流程解析

    这张图对openGL的开发者非常重要 我们在处理任何图片的渲染都是根据它 基于openGl封装的框架也是遵守这个...

  • OpenGL 渲染管线流程解析

    说到渲染流程,我们可以用一张图,清楚的看到渲染的一系列流程。废话不说,看图(图片取自Tobesky的一篇文章) 客...

  • OpenGL 渲染管线流程解析

    这张图对于想要掌握OpenGL的开发者非常重要.而且第一次看也许大家对于它的理解会比较薄. 希望大家能后期能够多看...

  • OpenGL 渲染管线流程解析

    这张图是OpenGL开发者需要理解的,在以后处理任何图形渲染,都是依据它,基于OpenGL封装的框架也遵循这个图的...

  • OpenGL渲染流程

    OpenGL渲染流程 渲染框架 之前学习管线的时候,我们知道OpenGL的渲染流程是有固定次序的。那么先了解下渲染...

  • OpenGL-基础渲染

    目录 OpenGL渲染架构 投影方式设置 固定管线解析 OpenGL基本图元解析 图元绘制 GLBatch Ope...

  • 视觉-OpenGL 渲染管线流程解析

    话不多说,上图分析 图上为了便于分析我们采用C/S模式:管线上部分是客户端,下部分是服务器 客户端(client)...

  • OpenGL渲染流程图解析

    一、OpenGL 基础图形管线 1. 管线可以理解为OpenGL渲染图形图像的流程 2. 管线分为两部分 Cl...

网友评论

    本文标题:OpenGL 渲染管线流程解析

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