OpenGL ES¶
坐标(-1,1)
CPU中央处理器单元¶
负责运算/控制核心
用处:
- 逻辑性强的
图片的解码由CPU完成
GPU图片处理单元¶
绘图计算 微处理器。显卡中的一个芯片,并发运算的。
- 人脸识别 AVFoundation 硬件加速器就是GPU
- 渲染视图view
- 音视频开发 编码解码
- Metal图形处理
用处:
- 简单重复高并发的计算
CPU只负责解码,GPU负责计算。
CPU和GPU都有一个缓存区,GPU叫帧缓存区,GPU从帧缓冲区获取数据渲染。
NPU神经网络处理单元¶
跑神经 人工智能 三维的矩阵x矩阵
管线¶
流水线。
特点:任务是面向过程的。打包装:先有盒子 然后把东西放进去。是有流程的。
OpenGL就是面向过程的。所有处理都是有这么一个流水线按照步骤处理。
1、固定管线¶
早期为了方便快速实现功能,封装起来。调用API。但是有局限性,有可能不满足需求。
2、可编程管线¶
顶点着色器 可以自己实现定制。
片元着色器,每一个像素点的颜色值的计算也可以自己计算来完成。
这样就没有局限性了。
着色器¶
指一段代码段,方法函数。由GPU完成。
1、顶点着色器¶
处理顶点的代码段。
处理顶点上运算(iOS系统坐标和屏幕物理坐标系不一样)转换
核心动画(平移,缩放,旋转)图形位置,形变
例:某一个顶点 乘以 旋转矩阵 得到 顶点旋转之后位置
手机屏幕2D模拟3D显示:深度计算
2、片元着色器¶
处理像素点的颜色值计算的代码段
- 显示图片
- 调整图片的饱和度(像素点颜色值通过饱和度计算得到新的颜色值,放到帧缓存区,然后由帧缓存区显示到屏幕上)。
顶点着色器负责形变,片元着色器负责每个像素点的色值。