龍少:
最近在寫什麼bug呢?
捷特:會用OpenGL播放視頻以後,感受個不少知識都串到一塊兒了。不少shader都是OpenGLES2.0,我順便用3.0的規範重塑了一下。
龍少:真是閒着沒事,播個視頻還要OpenGL, 哥VideoView一把梭你信不信?
捷特:少年,你對於力量一無所知,難到你覺得視頻播放都是這樣的?
編程
龍少:
否則呢?還能這麼播?
捷特:縮放了解一下。
龍少:對View的變換也行啊,so easy
bash
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_simple.fsh
複製代碼
捷特:
透視呢?
龍少:對View的變換...,應該也能夠...
框架
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_simple.fsh
複製代碼
捷特:
旋轉呢?
龍少:對View的變換......不知道行不行...
ide
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_simple.fsh
複製代碼
捷特:
黑白呢?
龍少:控制View顯示時的RGB的值....
post
捷特:
色效呢?
龍少:我......
spa
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_gray.fsh
複製代碼
捷特:
負片呢?
龍少:我......
3d
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_fupian.fsh
複製代碼
捷特:
六邊形馬賽克呢?
龍少:我......
code
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_mask.fsh
複製代碼
捷特:
分屏呢?
龍少:我......
cdn
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_split.fsh
複製代碼
捷特:
色動呢?
龍少:我......
視頻
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer2
shader: 頂點: video.vsh 片斷:video_offset.fsh
複製代碼
捷特:
縮放顫動呢?
龍少:我......
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer2
shader: 頂點: video_scale.vsh 片斷:video_scale.fsh
複製代碼
捷特:
靈魂出竅呢?
龍少:我......
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer2
shader: 頂點: video.vsh 片斷:video_gost.fsh
複製代碼
捷特:
毛刺呢?
龍少:我......
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer2
shader: 頂點: video.vsh 片斷:video_ci.fsh
複製代碼
捷特:
渦旋呢?
龍少:我......
源碼:com.toly1994.tolygl.gl.shape.player.VideoDrawer
shader: 頂點: video.vsh 片斷:video_rotate.fsh
複製代碼
不知從何提及,知識點挺多的。OpenGL是塊難啃的骨頭,可是一旦啃碎了,就會以爲真香。這把石中劍你拔不拔得起不是問題,關鍵在於你肯不願拔。
OpenGLES2.0已成爲歷史,之前寫了6篇ES2.0入門文章,雖然有略微的變化,可是核心思想仍是不變的。不會玩矩陣,不瞭解三維相機,不明白顏色構造,懶得計算,只想CV,學啥都是白搭。
吾想要寫幾篇OpenGLES3.0的文章,直接開撕視頻,總感受雲裏霧裏的。先寫些基礎的知識鋪墊一下,做爲OpenGLES3.0最佳實踐。再結合視屏的播放特效來講說實際使用。可能的話後面會接入FFmpeg,讓編解碼大佬和渲染大佬並肩做戰。下面是一些入門OpenGLES的過程:
至關於用顏色來講:"Hello World"
無中生有,萬物起源。在此將介紹着色器的使用,與圖形渲染流程。
雖然你是三維物體,但你的眼睛只能看到二維面,只是經過變更參考位置來感覺三維物體。人們的平常生活,僅須要二維就足夠了。OpenGL爲你打開了一扇通往三維的大門它只是二維面上的模擬三維。
地心說,日心說?在個人世界(0,0,0)就是中心。紅色x軸向,藍色z軸向,綠色y軸向。瞭解世界座標是創造世界的第一步:
如何經過循環來收錄座標,是件挺重要的事。
手勢操做:
旋轉展現:
到這來就能夠接入視頻了,視頻也就是一個貼圖而已,你徹底能夠將視頻貼在空間的任何位置。此後花分兩朵,各表一枝:
其一是視頻/相機的接入和特效、FFmpeg的接入,專一多媒體;
其二是複雜的空間立體圖形的繪製及環境渲染,專一圖形學。
複製代碼
更多的細節也會慢慢說吧,畢竟不是一兩句就能說清的。不過之後沒那麼多空閒,可能更新的就比較慢了。日更變月更吧,有生之年系列,隨着更新會補連接,介意收藏此文。也會在長滿草的公衆號
編程之王
上收錄,歡迎除草。 若有興趣,能夠先看先了解一些基礎知識,也就是萬變不離的宗。之前的2.0系列:
Android多媒體之GL-ES2戰記第一集--勇者集結
Android多媒體之GL-ES2戰記第二集--謎團立方
Android多媒體之GL-ES2戰記第三集--聖火之光
Android多媒體之GL-ES2戰記第四集--移形換影
Android多媒體之GL-ES2戰記第五集--宇宙之光
Android多媒體之GL-ES2戰記第六集--九層之臺
立刻到2019年的最後一個月了,緬懷一下吧。今年的成長也不少,最起碼把Flutter的框架撕的差很少了,音視頻的知識也逐漸聯繫起來。拓撲、離散數學和量子力學做爲茶餘飯後的科普知識基本瞭解一些;微積分忘得差很少了,有必要還得撿起來。總的看來,並無完成預期的目標。畢竟上半年算是廢了...... 不過也算對得起今年的標籤。
將來嘛,很遠,遠到我看不見。只是耳邊迴響那靈魂三問:我是誰,我來自何方,我終歸何處......
2017年標籤:"海的彼岸,有我不曾見證的風采"
2018年標籤:"海的彼岸,吾在征途"
2019年標籤:"向那些曾經沒法跨越的鴻溝敬上——君臨"
2020年標籤:"封神之路,漫漫修遠"
複製代碼
@張風捷特烈 2019.11.30 未允禁轉
個人公衆號:編程之王
~ END ~