三、OpenGL 渲染架构分析
程序员文章站
2024-01-07 13:40:58
OpenGL中的渲染架构如图所示主要分为两个模块Client:是指常见的iOS代码和OpenGL API方法,这部分是在CPU中运行Server:是指OpenGL底层的渲染等处理,是运行在GPU中的架构分析客户端中通过iOS代码调用OpenGL API中的方法,将图形渲染的相关数据通过通道传递到服务器中顶点着色器和片元着色器,并交由GPU处理。服务器通过与客户端的通道接收传递的数据,并交由相应着色器进行渲染处理,并将最终的结果渲染到屏幕上###数据传递从图上我们可以看出,客户端和服...
OpenGL中的渲染架构如图所示
主要分为两个模块
- Client:是指常见的iOS代码和OpenGL API方法,这部分是在CPU中运行
- Server:是指OpenGL底层的渲染等处理,是运行在GPU中的
架构分析
- 客户端中通过iOS代码调用OpenGL API中的方法,将图形渲染的相关数据通过通道传递到服务器中顶点着色器和片元着色器,并交由GPU处理。
- 服务器通过与客户端的通道接收传递的数据,并交由相应着色器进行渲染处理,并将最终的结果渲染到屏幕上
###数据传递
从图上我们可以看出,客户端和服务器进行数据传递的通道有三种
- Attributes
- Uniform
- Texture Data
通道名称 | 参数类型 | 可传入的着色器 |
---|---|---|
Attributes | 经常发生变动的数据 :纹理坐标 、光照法线、顶点坐标 、颜色数据 | 顶点着色器 |
Uniform | 不经常发生变动的数据 | 顶点着色器、片元着色器 |
Texture Data | 纹理 | 顶点着色器、片元着色器 |
Attributes
- Attributes通道只能将数据直接传递到顶点着色器,不能直接传递到片元着色器,但是可以通过顶点着色器间接传递给片元着色器。
- 通过Attributes传递的通常是经常发生变化的数据,例如颜色、顶点等。
- Attribute主要传递这些参数:颜色数据、顶点坐标、纹理坐标、光照法线等。
Uniform
- Uniform通过既可以传递到顶点着色器,也可以传递到片元着色器。
- Uniform中传递的通常是比较统一的批次数据,不经常发生变动的数据。
Texture Data
- Texture Data同Unoform一样,可以将数据传递到顶点和片元着色器。
- 由于顶点着色器主要是处理顶点数据的,我们将纹理数据传过去并没有多大的意义。而纹理的处理的逻辑主要是在片元着色器中进行的。
本文地址:https://blog.csdn.net/lin1109221208/article/details/107172326
推荐阅读
-
三、OpenGL 渲染架构分析
-
OpenGL学习笔记(三)图像渲染管线创建三角形
-
NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作
-
NopCommerce架构分析之(三)EntityFramework数据库初试化及数据操作
-
【Android 音视频开发打怪升级:OpenGL渲染视频画面篇】三、OpenGL渲染多视频,实现画中画
-
[游戏引擎架构]第三部分:渲染引擎(3)
-
OpenGL的渲染架构解析和数据传递
-
Vue 2.0 深入源码分析(三) 基础篇 模板渲染 el、emplate、render属性详解
-
三、OpenGL 渲染架构分析
-
OpenGL的渲染架构解析和数据传递