美文网首页
OpenGL 渲染架构

OpenGL 渲染架构

作者: 汉包包 | 来源:发表于2020-07-12 15:39 被阅读0次
OpenGL 渲染架构

主要分为两个模块

  • Client:是指常见的iOS代码和OpenGL API方法,这部分是在CPU中运行
  • Server:是指OpenGL底层的渲染等处理,是运行在GPU中的

架构分析

  • 客户端(通过代码调用OpenGL API)只能控制顶点着色器和片元着色器。
  • 客户端中通过代码方式去调用OpenGL中的API方法,将图形渲染的相关数据通过通道传递给服务器(OpenGL底层方法)中的顶点着色器和片元着色器,并交给GPU处理
  • 服务器通过与客户端的通道接受传递的数据,并交由相应着色器进行渲染处理,并将最终效果渲染到屏幕上。

数据传递

  • Attributes
  • Uniform
  • Texture Data
通道名称 参数类型 可传入的着色器
Attributes 经常发生变动的数据 :纹理坐标 、光照法线、顶点坐标 、颜色数据 顶点着色器
Uniform 不经常发生变动的数据 顶点着色器、片元着色器
Texture Data 纹理 顶点着色器(纹理很少传到顶点着色器上)、片元着色器

Attributes

  1. Attributes通道只能将数据直接传递到顶点着色器,不能直接传递到片元着色器,但是可以通过顶点着色器间接传递给片元着色器。
  2. 通过Attributes传递的通常是经常发生变化的数据,例如颜色、顶点等。
  3. Attribute主要传递这些参数:颜色数据、顶点坐标、纹理坐标、光照法线等。

Uniform

1.Uniform通道既可以传递到顶点着色器,也可以传递到片元着色器
2.Uniform中传递的通常是比较统一的批次数据,不经常发生变动的数据

Texture Data

1.Texture Data跟Uniform一样,可以将数据传递到顶点和片元着色器
2.由于顶点着色器主要是处理顶点数据的,我们将纹理数据传过去并没有多大的意义。而纹理的处理的逻辑主要是在片元着色器中进行的。

相关文章

  • 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 渲染流程:设置顶点数据和其他参数。在顶点着色器中进...

  • 3、OpenGL渲染架构

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

  • openGL着色器的渲染流程

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

  • OpenGL笔记二:OpenGL 渲染流程及投影

    前言 期待您移步上篇:OpenGL笔记一:专业名词 OpenGL渲染架构 OpenGL 渲染流程分为两个部分:Cl...

  • OpenGL渲染架构与传值方式

    OpenGL渲染架构 了解OpenGL渲染架构 client和server并不是我们平时开发时常说的客户端和服务器...

  • OpenGL 渲染

    OpenGL 渲染 OpenGL 渲染架构 client 代表就是客户端类似于 iOS/安卓 server 代表后...

网友评论

      本文标题:OpenGL 渲染架构

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