美文网首页
三、OpenGL渲染架构

三、OpenGL渲染架构

作者: 马子边 | 来源:发表于2020-07-14 20:09 被阅读0次
OpenGL 渲染基础.png

主要分为两个模块, Client和Server.

  • Client指的是应用层代码(比如iOS)和OpenGL的API。是在CPU中。
  • Server指的是OpenGL底层API,可以直接驱动GPU渲染的,在GPU中。

数据传递

那么客户端的代码怎么把数据传入到顶点着色器、片元着色器的呢?
从图上我们可以看出, 客户端和服务器数据传输有三个通道:

  • Attributes、
  • Uniforms、
  • Texture Data。
通道名 参数类型 可传入的着色器
Attributes 顶点坐标(x、y、z)、光照坐标、投影矩阵、模型矩阵、纹理坐标 顶点着色器
Uniform 统一批次的数据,不经常发生变动的数据 顶点着色器、片元着色器
Texture
Data
纹理数据 顶点着色器、片元着色器
  • Attributes
    Attributes通道只能将数据直接传递到顶点着色器,不能直接传递到片元着色器,但是可以通过顶点着色器间接传递给片元着色器。
    通过Attributes传递的通常是经常发生变化的数据,例如颜色、顶点等。
    Attribute主要传递这些参数:颜色数据、顶点坐标、纹理坐标、光照法线等。

  • Uniforms
    用来传输统一批次的数据,不经常改动的数据,比如变换矩阵、颜色、时间戳等。

  • Texture Data
    用来传输纹理数据,可以传入顶点着色器、片元着色器。纹理的处理的逻辑主要是在片元着色器中进行的,虽然可以传入顶点着色器,但是顶点着色器不处理纹理的数据,所以没什么意义。

相关文章

  • OpenGL渲染架构

    OpenGL的渲染架构图 OpenGL渲染主架构 OpenGL渲染架构分为客户端(Client)和服务端(Serv...

  • OpenGL/OpenGL ES(二) 渲染架构

    1. 渲染架构图 上图是 OpenGL 渲染的大致架构,从图中我们可以看出,OpenGL 渲染架构分为Client...

  • OpenGL渲染架构以及三种数据传递方式

    一、OpenGL渲染架构 了解OpenGL渲染架构对我们学习OpenGL有非常重要的作用。话不多说,直接上图: 图...

  • 3. OpenGL渲染基础

    一、OpenGL渲染架构图 1. OpenGL渲染架构图: 2. 数据传递: 从上图可以看出OpenGL的数据传递...

  • OpenGL渲染架构

    OpenGL渲染架构 OpenGL的渲染架构image.png 渲染流程:设置顶点数据和其他参数。在顶点着色器中进...

  • OpenGL(三) OpenGL渲染架构

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

  • OpenGL --- (三)OpenGL渲染架构

    OpenGL的渲染架构如下: (1)图片中的Client是指暴露在上层供开发者使用的OpenGL API,Serv...

  • 3、OpenGL渲染架构

    OpenGL渲染架构 渲染架构图 主要分为两大模块 Client:是指常见的ios代码和OpenGL API方法。...

  • openGL着色器的渲染流程

    openGL渲染架构 上图为openGL渲染架构图 Attributes属性 属性就是对每一个顶点都要做改变的数据...

  • 三、OpenGL渲染架构

    主要分为两个模块, Client和Server. Client指的是应用层代码(比如iOS)和OpenGL的API...

网友评论

      本文标题:三、OpenGL渲染架构

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