四期揪、OpenGL渲染架構(gòu)

一、OpenGL渲染架構(gòu)

OpenGL渲染架構(gòu)

只有頂點著色器和片元著色器的代碼才在gpu上運行的规个,像main函數(shù)這些opengl的框架等代碼都是cpu上運行的

openGL渲染流程(轉(zhuǎn)載自收納箱:http://www.reibang.com/p/dc65d6e7ef04

1凤薛、設(shè)置頂點數(shù)據(jù)和其他參數(shù)姓建。

2、在頂點著色器中進行運算得到裁剪坐標缤苫。

3速兔、細分著色器、幾何著色器活玲,不可自定義涣狗,跳過。

4翼虫、圖元設(shè)置屑柔,根據(jù)設(shè)置構(gòu)成點、線珍剑、三角形掸宛。

5、裁剪招拙,裁剪掉超出顯示區(qū)域的部分唧瘾。

6、光柵化, 將圖源柵格化為一個個的像素點别凤。

7饰序、片元著色器,將對應(yīng)的柵格(像素)填充為具體的顏色规哪。

8求豫、渲染圖像。


參數(shù)傳遞

1诉稍、Attributes:

只能傳遞到vsh(頂點著色器),再通過頂點著色器 - > 片元著色器

頂點數(shù)據(jù)x,y,z,w

光照坐標蝠嘉、投影矩陣、紋理坐標

2杯巨、統(tǒng)一變量Uniforms:

可在任意著色器訪問蚤告,可以理解為全局常量

盡量少改動,頻繁改動的建議使用 Attributes 傳遞

變換矩陣服爷、通道杜恰、顏色值

3、texturedata:紋理數(shù)據(jù)

可以傳向頂點著色器仍源、片元著色器

但是傳遞給頂點著色器沒有意義

3. 參數(shù)的使用

頂點著色器

我們可以通過attrubutes獲取到頂點數(shù)據(jù)心褐,通過uniforms獲取到mvp矩陣,再進行運算得到最終的頂點坐標笼踩。

gl_Position = M_pro * M_view * M_model * V_local

片元著色器

比如在處理視頻幀時檬寂,一般會使用YUV格式。要渲染到屏幕上需要將YUV格式轉(zhuǎn)換為RGB格式戳表。在片元著色器中桶至,通過YUV數(shù)據(jù)進行矩陣運算就可以得到具體的RBG顏色值了昼伴。Alpha通道直接賦值為1.0。

RGB = YUV * 轉(zhuǎn)換矩陣

紋理

像素數(shù)據(jù)镣屹。片元著色器中圃郊,可以通過紋理坐標獲取到對應(yīng)的顏色值。如果對得到的顏色值進行處理女蜈,就可以得到“濾鏡”效果持舆。

二、投影

正投影:在2d坐標系中顯示2d圖形

透視投影:在2d坐標系中顯示3d圖形(遠小近大)

問題圖:

答案c伪窖,正投影和透視投影都可以作為2d/3d圖形的投影

三逸寓、著色器

1、固定著色器

// GLShaderManager 著色器管理類的初始化

?GLShaderManager shaderManager;

shaderManager.InitializeStockShaders();

調(diào)用固定著色器方法

-UserStockShader(...)


2覆山、 各種著色器

紋理替換矩陣著色器:前面將的都是單色的竹伸,這里就有圖案的

紋理光源著色器:有光源、紋理簇宽、顏色混合


各種著色器
著色器問題


四勋篓、openGL圖元連接方式

openGL的7種圖元
圖元連接


五、OpenGL 三角形帶

三角形帶:更少的頂點魏割,節(jié)省大量的程序代碼和數(shù)據(jù)空間譬嚣,且速度更快。


三角形帶

三角形扇:需要繪制相連的三角形


三角形扇
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末钞它,一起剝皮案震驚了整個濱河市拜银,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌遭垛,老刑警劉巖尼桶,帶你破解...
    沈念sama閱讀 219,427評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異耻卡,居然都是意外死亡疯汁,警方通過查閱死者的電腦和手機牲尺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評論 3 395
  • 文/潘曉璐 我一進店門卵酪,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人谤碳,你說我怎么就攤上這事溃卡。” “怎么了蜒简?”我有些...
    開封第一講書人閱讀 165,747評論 0 356
  • 文/不壞的土叔 我叫張陵瘸羡,是天一觀的道長。 經(jīng)常有香客問我搓茬,道長犹赖,這世上最難降的妖魔是什么队他? 我笑而不...
    開封第一講書人閱讀 58,939評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮峻村,結(jié)果婚禮上麸折,老公的妹妹穿的比我還像新娘。我一直安慰自己粘昨,他們只是感情好垢啼,可當我...
    茶點故事閱讀 67,955評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著张肾,像睡著了一般芭析。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吞瞪,一...
    開封第一講書人閱讀 51,737評論 1 305
  • 那天馁启,我揣著相機與錄音,去河邊找鬼尸饺。 笑死进统,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的浪听。 我是一名探鬼主播螟碎,決...
    沈念sama閱讀 40,448評論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼迹栓!你這毒婦竟也來了掉分?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評論 0 276
  • 序言:老撾萬榮一對情侶失蹤克伊,失蹤者是張志新(化名)和其女友劉穎酥郭,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體愿吹,經(jīng)...
    沈念sama閱讀 45,834評論 1 317
  • 正文 獨居荒郊野嶺守林人離奇死亡不从,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,992評論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了犁跪。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片椿息。...
    茶點故事閱讀 40,133評論 1 351
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖坷衍,靈堂內(nèi)的尸體忽然破棺而出寝优,到底是詐尸還是另有隱情,我是刑警寧澤枫耳,帶...
    沈念sama閱讀 35,815評論 5 346
  • 正文 年R本政府宣布乏矾,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏钻心。R本人自食惡果不足惜凄硼,卻給世界環(huán)境...
    茶點故事閱讀 41,477評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望捷沸。 院中可真熱鬧帆喇,春花似錦、人聲如沸亿胸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽侈玄。三九已至婉刀,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間序仙,已是汗流浹背突颊。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留潘悼,地道東北人律秃。 一個月前我還...
    沈念sama閱讀 48,398評論 3 373
  • 正文 我出身青樓,卻偏偏與公主長得像治唤,于是被迫代替她去往敵國和親棒动。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,077評論 2 355