iOS图形、视频底层处理(一) 概念
2019-07-04 本文已影响0人
J扣歪
一 框架
OpenGL: 主要针对pc端图形视频的渲染处理而设计.
OpenGLES: 基于OpenGL主要针对手机PDA和游戏主机等嵌入式设备而设计,也就是可以用于安卓和苹果等跨平台使用.
Metal: 苹果基于OpenGLES的设计思想自己设计的一套框架用于苹果开发.
二 处理器
CPU和GPU都是用来处理计算机运算任务,而CPU做的是串行运算
任务一个一个的运算,GPU擅长的是并行运算,图形渲染的运算量非常庞大,所以图形渲染是靠GPU来运算的.苹果将GPU运算发挥到了极致所以图片渲染的特别快.
三 OpenGL
- 作用
CPU和GPU分别对应不同的内存区域,内存拷贝速度很慢,CPU和GPU运算速度很快,拷贝过程中CPU和GPU是不能操作内存的只能等待.于是出现了OpenGL buffer缓冲区.
2 渲染组成
OpenGL中只有 : 点 线 三角形. 任何图像的渲染都是靠这三个拼凑起来的.包括球形的渲染.
3.客户端和服务端
GUP厂家很多,每个GPU芯片都是不同的,为了统一规则,就出现了OpenGL.
- 渲染流程
确定顶点数据 -> 顶点着色(必选) -> 细分着色(可选) -> 几何着色(可选) -> 图元设置 -> 剪切(去掉超出部分) -> 光栅化(填充像素) -> 片元着色(必选,给每一个像素点着色) -> 展示效果
- 管线
管线: 渲染流程线
可编程管线: openGL开放的可以由用户自定义的流程
固定管线: 固定的不可以编程的流程
语言
GLSL