OpenGL入门(三) -- OpenGL 渲染架构以及数据传递

OpenGL渲染架构

OpenGL渲染架构如图所示:

主要分为两个模块:

  • Client(客户端):是指常见的iOS代码OpenGL API,这部分在CPU中运行
  • Server(服务端)OpenGL底层渲染处理,在GPU中运行

客户端通过iOS代码调用OpenGL API方法,将图形渲染的相关数据通过通道传递到服务器中的顶点着色器片元着色器,交由GPU处理。

服务器通过从客户端通道接收到的传递的数据,交给相应的着色器渲染处理,并将最终结果渲染到屏幕上

OpenGL数据传递通道

从示意图上可以看出,从客户端到服务端数据传递有三种形式:

  • Attributes:只能传输到顶点着色器,参数一般为:经常发生变动的数据(比如:纹理坐标、光照法线、顶点坐标、颜色等)
  • Uniforms:可以传输到顶点着色器片元着色器,参数一般为:不经常发生变化的数据,比较统一的批次数据
  • Texture Data:可以传输到顶点着色器片元着色器,一般传输纹理数据,顶点着色器主要是处理顶点数据的,我们将纹理数据传到顶点着色器并没有多大的意义。而纹理的处理主要是在片元着色器中进行的。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值