概述
GPUImage是一個著名的圖像處理開源庫,它讓你能夠在圖片、視頻、相機上使用GPU加速的濾鏡和其它特效。與CoreImage框架相比,可以根據(jù)GPUImage提供的接口,使用自定義的濾鏡。項目地址:https://github.com/BradLarson/GPUImage
這邊文章主要是對GPUImage框架做一個概述。在閱讀源碼的時候可以按照輸入、濾鏡、輸出以及GPUImage依賴環(huán)境這個流程來閱讀。
環(huán)境
- GPUImage上下文對象
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageContext | GPUImage上下文對象 | 參見 GPUImage源碼閱讀(一) |
- GL程序
| 類名 | 說明 | 解析 |
|---|---|---|
| GLProgram | 管理GL程序 | 參見 GPUImage源碼閱讀(一) |
- 幀緩存
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageFramebufferCache | 管理幀緩存對象 | 參見 GPUImage源碼閱讀(二) |
| GPUImageFramebuffer | 幀緩存對象 | 參見 GPUImage源碼閱讀(二) |
- 基類
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageOutput | 能夠輸出幀緩存對象的基類 | 參見 GPUImage源碼閱讀(三) |
- 協(xié)議
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageInput | 被能接受幀緩存對象輸入的類實現(xiàn) | 參見 GPUImage源碼閱讀(三) |
輸入
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageUIElement | UI渲染輸入 | 參見GPUImage源碼閱讀(四) |
| GPUImageMovie | 視頻輸入 | 參見GPUImage源碼閱讀(五) |
| GPUImagePicture | 圖片輸入 | 參見GPUImage源碼閱讀(四) |
| GPUImageRawDataInput | 元數(shù)據(jù)輸入 | 參見GPUImage源碼閱讀(六) |
| GPUImageTextureInput | 紋理輸入 | 參見GPUImage源碼閱讀(六) |
| GPUImageVideoCamera | 相機視頻輸入 | 參見GPUImage源碼閱讀(五) |
| GPUImageStillCamera | 相機照片輸入 | 參見GPUImage源碼閱讀(五) |
濾鏡
- 單目標(biāo)輸入濾鏡
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageFilter | 單目標(biāo)輸入濾鏡 | 參見GPUImage源碼閱讀(九) |
- 多重目標(biāo)輸入濾鏡
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageTwoInputFilter | 兩個目標(biāo)輸入濾鏡 | 參見GPUImage源碼閱讀(八) |
| GPUImageThreeInputFilter | 三個目標(biāo)輸入濾鏡 | 參見GPUImage源碼閱讀(八) |
| GPUImageFourInputFilter | 四個目標(biāo)輸入濾鏡 | 參見GPUImage源碼閱讀(八) |
- 組合濾鏡
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageFilterGroup | 自身可參與響應(yīng)鏈的組合濾鏡 | 參見GPUImage源碼閱讀(七) |
| GPUImageFilterPipeline | 自身不可參與響應(yīng)鏈的組合濾鏡 | 參見GPUImage源碼閱讀(七) |
輸出
| 類名 | 說明 | 解析 |
|---|---|---|
| GPUImageRawDataOutput | 元數(shù)據(jù)輸出 | 參見GPUImage源碼閱讀(六) |
| GPUImageTextureOutput | 紋理輸出 | 參見GPUImage源碼閱讀(六) |
| GPUImageMovieWriter | 視頻輸出 | 參見GPUImage源碼閱讀(五) |
| GPUImageView | 圖片預(yù)覽輸出 | 參見GPUImage源碼閱讀(四) |
最后
最后附上相關(guān)鏈接??????
源碼地址:GPUImage源碼閱讀系列 https://github.com/QinminiOS/GPUImage
系列文章地址:GPUImage源碼閱讀 http://m.itdecent.cn/nb/11749791
OpenGL ES入門專題: http://m.itdecent.cn/c/30e2e76bc140