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