學(xué)完FFmpeg OpenGL圖像處理課程后已旧,一定要做幾個(gè)小項(xiàng)目去實(shí)踐裕寨,慢慢就學(xué)精了。否則大半年不寫就忘記了疚察,下面分享我們內(nèi)部一些練習(xí)小項(xiàng)目蒸走。
0 夯實(shí)數(shù)學(xué)基礎(chǔ),整理一套自己的向量貌嫡,點(diǎn)乘比驻,差乘,歐拉角岛抄,四元素,齊次坐標(biāo)别惦,矩陣,平移矩陣弦撩,旋轉(zhuǎn)矩陣步咪,縮放矩陣,逆矩陣數(shù)學(xué)益楼,幾何原理猾漫,觀察者矩陣,正交投影感凤,透視投影悯周,法線貼圖TBN矩陣,推導(dǎo)過程陪竿,深入理解圖形變換管線禽翼。寫一套簡(jiǎn)單可用的類似glm的自己的簡(jiǎn)化版數(shù)學(xué)庫(kù)。這個(gè)是練基礎(chǔ)內(nèi)功族跛。
1 模仿GPUImage, 做一個(gè)自己的版本的視頻特效實(shí)時(shí)處理闰挡,錄制的軟件。支持多個(gè)特效疊加礁哄。
2 結(jié)合FFmpeg长酗,導(dǎo)入視頻,在視頻幀上添加特效桐绒,支持視頻裁剪夺脾。再輸出之拨。 這就是一個(gè)簡(jiǎn)易版的視頻剪輯軟件。結(jié)合mediacodec, avfoundation的硬件編碼咧叭。
3 將引擎部分讀取出來的場(chǎng)景數(shù)據(jù)編碼蚀乔,通過socket通訊發(fā)出去,對(duì)面實(shí)時(shí)解碼渲染顯示菲茬。
4 做一個(gè)簡(jiǎn)單的手機(jī)錄屏吉挣,然后pc寫一個(gè)客戶端,實(shí)時(shí)顯示出來生均。還可以加入反向控制手機(jī)听想。
以上4個(gè)簡(jiǎn)單的小項(xiàng)目都做出來了,就畢業(yè)了马胧。畢業(yè)后汉买,就能慢慢做一些獨(dú)創(chuàng)性的東西,如果還做不出來佩脊,就返回去再學(xué)習(xí)蛙粘,練習(xí),死磕課程內(nèi)容威彰。
以上四個(gè)小練習(xí)出牧,都是認(rèn)真學(xué)習(xí)課程,都能做出來的歇盼,比較簡(jiǎn)單的練習(xí)舔痕。唯有實(shí)踐,才能檢驗(yàn)自己是否學(xué)到東西了豹缀。說簡(jiǎn)單它簡(jiǎn)單伯复,但對(duì)于初學(xué)者,還是非常復(fù)雜的邢笙。
在超哥看來簡(jiǎn)單啸如,但是大家能都完成做出來,其實(shí)已經(jīng)是吊打絕大多數(shù)開發(fā)人員的高手了氮惯。
以上練習(xí)叮雳,大部分都在一個(gè)月之內(nèi)都能完成。有的一兩周妇汗。四個(gè)都做完以后帘不,可以考慮一些進(jìn)階的內(nèi)容課題。6 7 8需要時(shí)間更長(zhǎng)一些杨箭。
5 OpenGL實(shí)時(shí)渲染光柵化陰影(非光線追蹤)實(shí)現(xiàn), 延遲渲染寞焙。這個(gè)相對(duì)容易,有現(xiàn)成的參考告唆。
6 寫一個(gè)軟件棺弊,軟件內(nèi)置大量的3D原始簡(jiǎn)單的模型,以及特效擒悬。用戶可以隨意擺放模她,點(diǎn)選,移動(dòng)懂牧,旋轉(zhuǎn)這些模型侈净,構(gòu)建出復(fù)雜的場(chǎng)景。用戶可以傻瓜化擺放模型位置僧凤,調(diào)整顏色畜侦。類似以下效果。用戶可以傻瓜化調(diào)整比如水流躯保,場(chǎng)景中人物走動(dòng)參數(shù)旋膳。場(chǎng)景結(jié)果可以導(dǎo)出為渲染圖片,還可以導(dǎo)出到blender途事,max,maya,unreal, unity3d.
7 深入研究FBXSDK, OpenGL渲染引擎加入自己實(shí)現(xiàn)的blendshapes验懊。用人臉追蹤算法驅(qū)動(dòng)blendshapes動(dòng)畫。用OpenGL模仿蘋果的人臉表情動(dòng)畫尸变。
8 類似Blender义图,達(dá)芬奇 后期圖片,視頻特效節(jié)點(diǎn)編輯軟件召烂。用戶可以傻瓜化合成各種特效碱工。建議 Qt OpenGL mac/win版本, 然后在移植到iOS/android.
后面的就更加高手獨(dú)孤求敗階段。僅供參考奏夫。
9 化妝軟件怕篷,內(nèi)置大量的3D女性模型,支持各種筆刷桶蛔,在手機(jī)上給模型化妝匙头。 其實(shí)就是一個(gè)簡(jiǎn)易傻瓜版的Substaincepainter. 主要用于女孩子學(xué)習(xí)化妝。支持表情動(dòng)畫仔雷,視頻錄制分享蹂析。
10 3D重建,根據(jù)用戶照片碟婆,自動(dòng)生成3D模型电抚。自動(dòng)綁定骨骼動(dòng)畫,表情動(dòng)畫竖共。