GPUImage原始碼閱讀(概述)
概述
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
相關文章
- 【原始碼閱讀】AndPermission原始碼閱讀原始碼
- 【原始碼閱讀】Glide原始碼閱讀之with方法(一)原始碼IDE
- 【原始碼閱讀】Glide原始碼閱讀之into方法(三)原始碼IDE
- ReactorKit原始碼閱讀React原始碼
- AQS原始碼閱讀AQS原始碼
- CountDownLatch原始碼閱讀CountDownLatch原始碼
- HashMap 原始碼閱讀HashMap原始碼
- delta原始碼閱讀原始碼
- 原始碼閱讀-HashMap原始碼HashMap
- NGINX原始碼閱讀Nginx原始碼
- Mux 原始碼閱讀UX原始碼
- HashMap原始碼閱讀HashMap原始碼
- fuzz原始碼閱讀原始碼
- RunLoop 原始碼閱讀OOP原始碼
- express 原始碼閱讀Express原始碼
- muduo原始碼閱讀原始碼
- stack原始碼閱讀原始碼
- 【原始碼閱讀】Glide原始碼閱讀之load方法(二)原始碼IDE
- PostgreSQL 原始碼解讀(3)- 如何閱讀原始碼SQL原始碼
- OpenGL 之 GPUImage 原始碼分析GPUUI原始碼
- JDK原始碼閱讀:Object類閱讀筆記JDK原始碼Object筆記
- Laravel 原始碼閱讀 - QueueLaravel原始碼
- Vollery原始碼閱讀(—)原始碼
- 使用OpenGrok閱讀原始碼原始碼
- 如何閱讀Java原始碼?Java原始碼
- buffer 原始碼包閱讀原始碼
- 原始碼閱讀技巧篇原始碼
- 如何閱讀框架原始碼框架原始碼
- 再談原始碼閱讀原始碼
- Laravel 原始碼閱讀 - EloquentLaravel原始碼
- 如何閱讀jdk原始碼?JDK原始碼
- express 原始碼閱讀(全)Express原始碼
- Vuex原始碼閱讀分析Vue原始碼
- React原始碼閱讀:setStateReact原始碼
- ArrayList原始碼閱讀(增)原始碼
- ThreadLocal原始碼閱讀thread原始碼
- snabbdom 原始碼閱讀分析原始碼
- koa原始碼閱讀[0]原始碼