概述
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.lxweimin.com/nb/11749791
OpenGL ES入門專題: http://www.lxweimin.com/c/30e2e76bc140