概述
GPUImage是一个著名的图像处理开源库,它让你能够在图片、视频、相机上使用GPU加速的滤镜和其它特效。与CoreImage框架相比,可以根据GPUImage提供的接口,使用自定义的滤镜。项目地址:https://github.com/BradLarson/GPUImage
这边文章主要是对GPUImage框架做一个概述。在阅读源码的时候可以按照输入、滤镜、输出以及GPUImage依赖环境这个流程来阅读。
环境
- GPUImage上下文对象
类名 | 说明 | 解析 |
---|---|---|
GPUImageContext | GPUImage上下文对象 | 参见 GPUImage源码阅读(一) |
- GL程序
类名 | 说明 | 解析 |
---|---|---|
GLProgram | 管理GL程序 | 参见 GPUImage源码阅读(一) |
- 帧缓存
类名 | 说明 | 解析 |
---|---|---|
GPUImageFramebufferCache | 管理帧缓存对象 | 参见 GPUImage源码阅读(二) |
GPUImageFramebuffer | 帧缓存对象 | 参见 GPUImage源码阅读(二) |
- 基类
类名 | 说明 | 解析 |
---|---|---|
GPUImageOutput | 能够输出帧缓存对象的基类 | 参见 GPUImage源码阅读(三) |
- 协议
类名 | 说明 | 解析 |
---|---|---|
GPUImageInput | 被能接受帧缓存对象输入的类实现 | 参见 GPUImage源码阅读(三) |
输入
类名 | 说明 | 解析 |
---|---|---|
GPUImageUIElement | UI渲染输入 | 参见GPUImage源码阅读(四) |
GPUImageMovie | 视频输入 | 参见GPUImage源码阅读(五) |
GPUImagePicture | 图片输入 | 参见GPUImage源码阅读(四) |
GPUImageRawDataInput | 元数据输入 | 参见GPUImage源码阅读(六) |
GPUImageTextureInput | 纹理输入 | 参见GPUImage源码阅读(六) |
GPUImageVideoCamera | 相机视频输入 | 参见GPUImage源码阅读(五) |
GPUImageStillCamera | 相机照片输入 | 参见GPUImage源码阅读(五) |
滤镜
- 单目标输入滤镜
类名 | 说明 | 解析 |
---|---|---|
GPUImageFilter | 单目标输入滤镜 | 参见GPUImage源码阅读(九) |
- 多重目标输入滤镜
类名 | 说明 | 解析 |
---|---|---|
GPUImageTwoInputFilter | 两个目标输入滤镜 | 参见GPUImage源码阅读(八) |
GPUImageThreeInputFilter | 三个目标输入滤镜 | 参见GPUImage源码阅读(八) |
GPUImageFourInputFilter | 四个目标输入滤镜 | 参见GPUImage源码阅读(八) |
- 组合滤镜
类名 | 说明 | 解析 |
---|---|---|
GPUImageFilterGroup | 自身可参与响应链的组合滤镜 | 参见GPUImage源码阅读(七) |
GPUImageFilterPipeline | 自身不可参与响应链的组合滤镜 | 参见GPUImage源码阅读(七) |
输出
类名 | 说明 | 解析 |
---|---|---|
GPUImageRawDataOutput | 元数据输出 | 参见GPUImage源码阅读(六) |
GPUImageTextureOutput | 纹理输出 | 参见GPUImage源码阅读(六) |
GPUImageMovieWriter | 视频输出 | 参见GPUImage源码阅读(五) |
GPUImageView | 图片预览输出 | 参见GPUImage源码阅读(四) |
最后
最后附上相关链接😁😁😁
源码地址:GPUImage源码阅读系列 https://github.com/QinminiOS/GPUImage
系列文章地址:GPUImage源码阅读 http://www.jianshu.com/nb/11749791
OpenGL ES入门专题: http://www.jianshu.com/c/30e2e76bc140