OpenGL學(xué)習(xí)背景
OpenGL在視頻相關(guān)開(kāi)發(fā)中可能使用的比較多. 比如現(xiàn)在比較火的各類直播軟件, 小視頻App,相機(jī)等APP中比較簡(jiǎn)單的濾鏡會(huì)使用Apple官方自帶的 CIFilter類. 實(shí)際CIFilter底層根據(jù)是否傳入OpenGL Context, 底層決定使用CPU還是GPU進(jìn)行圖片的渲染.
除非比較簡(jiǎn)單的特效使用CPU去渲染, 一般我們都會(huì)使用GPU去加速渲染. CIFilter對(duì)圖片的用GPU渲染過(guò)程, 實(shí)際是對(duì)OpenGL的封裝.
有一個(gè)非常出名的第三方圖片處理庫(kù)GPUImage就是通過(guò)OpenGL封裝了各種濾鏡, 并且提供們自定義濾鏡算法的接口.
OpenGL入門路線
LearnOpenGL中文網(wǎng)站
強(qiáng)烈推薦LearnOpenGL中文網(wǎng)站作為OpenGL的入門首選.
開(kāi)發(fā)環(huán)境搭建比較簡(jiǎn)單, 使用 Glitter 庫(kù), 直接build, 就能運(yùn)行.
整個(gè)項(xiàng)目的參考源碼: https://github.com/JoeyDeVries/LearnOpenGL
或者使用Glitter庫(kù)版本的源碼: https://github.com/THISISAGOODNAME/learnopengl-glitter
OpenGL SuperBible(藍(lán)寶書(shū))
OpenGL超級(jí)寶典被稱為OpenGL的藍(lán)寶書(shū), 內(nèi)容全, 入門太慢, 建議有時(shí)間詳細(xì)研讀.
目前京東上賣的是第五版, 使用的OpenGL 330,但是很多案例用的API被. 具體環(huán)境搭建參考: https://www.cnblogs.com/cheergo/articles/4721393.html
我個(gè)人建議讀第七版的, 網(wǎng)上能夠找到的是英文版, 第七版中OpenGL使用的OpenGL core 450版本. 具體第七版的環(huán)境配置可以參考: http://www.lxweimin.com/p/2e221d9ca995.
OpenGL ES入門
OpenGL ES是OpenGL的子集, 主要用在嵌入式系統(tǒng)中, 下面的教程主要是在iOS中的使用, 建議我們?cè)谟幸欢ǖ腛penGL基礎(chǔ)以后,進(jìn)行學(xué)習(xí)(至少學(xué)習(xí)過(guò)LearnOpenGL網(wǎng)站的入門篇).
這是一個(gè)系列教程: iOS開(kāi)發(fā)-OpenGL ES入門教程
這里包括一些更加高級(jí)的調(diào)用: https://github.com/loyinglin/LearnOpenGLES
GPUImage源碼學(xué)習(xí)
GPUImage是一個(gè)非常好的學(xué)習(xí)資料, https://github.com/loyinglin/GPUImage 是對(duì)GPUImage源碼級(jí)別的學(xué)習(xí)資料.
其他參考
暫無(wú)