美文网首页
第三弹 OPenGL 渲染流程图解析

第三弹 OPenGL 渲染流程图解析

作者: Mr_Lxh | 来源:发表于2019-05-15 15:08 被阅读0次

OpenGL 渲染流程图解析

OpenGL渲染架构图

如果,我们想要渲染一个三角形,具体的操作流程是什么呢?如下图:

渲染流程图.jpg

OpenGL 渲染流程分为两个端。一个叫客户端(Client)一个叫服务端(Server)。

客户端(Client):指的是CPU上存储的一些代码。比如说OpenGL API、C/C++ 的一些代码
服务端(Server): 服务端为GPU硬件部分,主要由Vertex Shader、Primitive Assembly、Fragment Shader组成。

渲染过程中,客户端会不断的将数据块和命令块组合在一起并送入缓冲区,然后缓冲区会发送到服务端执行

OpenGL 数据传递的三种方式

attribute(属性)

就是对⼀个顶点都要作出改变的数据元素。实际上,顶点位置本身就是一个属性。属性可以是浮点类型、整型、布尔类型等。

1、属性总是以思维向量的形式进行内部存储
2、属性包括纹理坐标、颜色值、光照计算的法线、纹理坐标等
3、属性会从客户端内存中复制存储在图形硬件中的一个缓冲区上,供顶点着色器使用。
4、属性不能直接作用于片元着色器。但可以通过顶点着色器进行图元装配后传递给片元着色器

Uniforms(统一值)

Uniform 是从CPU向GPU的着色器发送数据的一种方式

1、Uniform 是全局的。全局意味着uniform变量在每个着色器着色器程序对象中都是独一无二的。
2、uniform 在本质上像属性一样,可以是浮点型、整数或布尔型。不同的是,uniform 可以被着色器程序的任意着色器在任意阶段访问。
3、uniform会一直保存它们的数据,直到它们呗重置或更新。
4、uniform 变量在每个批次改变一次,而不是每个顶点改变一次

Texture Data(纹理数据)

任何大型浮点数据块(例消耗资源很大的函数的大型查询表)都可以通过纹理数据传递给着色器(纹理数据 将在以后文章详细讲解)

相关文章

  • OpenGL/OpenGL ES 渲染流程以及固定存储着色器

    本篇目标 OpenGL 渲染流程图解析 OpenGL 固定存储着⾊器理解 OpenGL渲染流程 正如上图所表示的,...

  • 第三弹 OPenGL 渲染流程图解析

    OpenGL 渲染流程图解析 OpenGL渲染架构图 如果,我们想要渲染一个三角形,具体的操作流程是什么呢?如下图...

  • 视觉学习第二节课

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

  • OpenGL渲染流程图解析

    首先看下OpenGL渲染管线的架构图如下: 客户端和服务端 根据架构图所示,我们的渲染管线分为上下两部分,上面部分...

  • OpenGL 渲染流程图解析

    OpenGL 渲染架构 OpenGL是使用客户端(Client)- 服务器(Server)的形式实现的,我们编写的...

  • OpenGL 渲染流程图解析

    OpenGL 渲染的流程 分为两块 一块是服务端,一块是客户端。客户端主要指OpenGL的API,通过调用Open...

  • OpenGL渲染流程图解析

    OpenGL分为客户端(Client,它负责发送OpenGL命令,客户端实际上就是存储在电脑上的OpenGL AP...

  • OpenGL 渲染流程图解析

    OpenGL渲染架构 客户端、服务端 如上图所示这里所说的客户端及服务端并不是传统意义上的,有分界线区分上半部分为...

  • OpenGL 渲染流程图解析

    在OpenGL 中,不管是使用可编程管线还是固定管线,它的渲染架构都是由两部分组成:Client 和 Server...

  • OpenGL 渲染流程图解析

    首先我来看一下渲染流程图,服务器端和客户端在功能和运⾏上都是异步,如下图: 1、客户端 Attributes(属性...

网友评论

      本文标题:第三弹 OPenGL 渲染流程图解析

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