OpenGL 固定管線

OpenGL固定管線下的存儲(chǔ)著色器類型

1.單元著色器

GLShaderManager::UserStockShader(GLT_SHADER_IDENTITY,GLfloat vColor[4]);

參數(shù)1:?存儲(chǔ)著色器種類-單元著色器

參數(shù)2:?顏?

使?用場景:?繪制默認(rèn)OpenGL?坐標(biāo)系(-1,1)下圖形.?圖形所有片段都會(huì)以一種顏色填充

2.平?著?器

GLShaderManager::UserStockShader(GLT_SHADER_FLAT,GLfloat mvp[16],GLfloat vColor[4]);

參數(shù)1:?存儲(chǔ)著色器種類-平?著色器?

參數(shù)2:?允許變化的4*4矩陣

參數(shù)3:?顏?

3.上色著色器

使用場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化).

GLShaderManager::UserStockShader(GLT_SHADER_SHADED,GLfloat mvp[16]);

參數(shù)1:?存儲(chǔ)著色器種類-上?著色器?

參數(shù)2:?允許變化的4*4矩陣

使用場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)?顏色將會(huì)平滑地插入到頂點(diǎn)之間 稱為平滑著色.

4.默認(rèn)光源著色器

GLShaderManager::UserStockShader(GLT_SHADER_DEFAULT_LIGHT,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vColor[4]);

參數(shù)1:?存儲(chǔ)著?器種類-默認(rèn)光源著?器?

參數(shù)2:?模型4*4矩陣

參數(shù)3:?投影4*4矩陣

參數(shù)4:?顏色值

使?場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)?這種著色器會(huì)使繪制的圖形產(chǎn)生陰影和光照的效果.

5.點(diǎn)光源著色器

GLShaderManager::UserStockShader(GLT_SHADER_POINT_LIGHT_DIEF,GLfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vColor[4]);

參數(shù)1:?存儲(chǔ)著色器種類-點(diǎn)光源著?器?

參數(shù)2:?模型4*4矩陣

參數(shù)3:?投影4*4矩陣

參數(shù)4:?點(diǎn)光源的位置

參數(shù)5:?漫反射顏色值

使?用場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)?這種著?器會(huì)使繪制的圖形產(chǎn)?陰影和光照的效果.它與默認(rèn)光源著?器?常類似,區(qū)別只是光源位置是特定的.

6.紋理替換矩陣著?器

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_REPLACE,GLfloat mvMatrix[16],GLint nTextureUnit);

參數(shù)1:?存儲(chǔ)著?器種類-紋理替換矩陣著色器?

參數(shù)2:?模型4*4矩陣

參數(shù)3:?紋理單元

使用場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)這種著?器通過給定的模型視圖投影矩陣.使用紋理單元來進(jìn)?顏色填充.其中每個(gè)像素點(diǎn)的顏色是從紋理中獲取.

7.紋理調(diào)整著?器

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_MODULATE,GLfloat mvMatrix[16],GLfloat vColor[4],GLint nTextureUnit);

參數(shù)1: ?存儲(chǔ)著?器種類-紋理調(diào)整著?器

參數(shù)2: ?模型4*4矩陣

參數(shù)3: ?顏色值

參數(shù)4: ?紋理單元

使用場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)這種著色器通過給定的模型視圖投影矩陣.?著?器將一個(gè)基本色乘以一個(gè)取?紋理單元nTextureUnit的紋理.將顏色與紋理進(jìn)行顏色混合后才填充到片段中.

8.紋理光源著色器

GLShaderManager::UserStockShader(GLT_SHADER_TEXTURE_POINT_LIGHT_DIEF,G Lfloat mvMatrix[16],GLfloat pMatrix[16],GLfloat vLightPos[3],GLfloat vBaseColor[4],GLint nTextureUnit);

參數(shù)1:?存儲(chǔ)著色器種類-紋理光源著色器?

參數(shù)2:?模型4*4矩陣

參數(shù)3:?投影4*4矩陣

參數(shù)4:?點(diǎn)光源位置

參數(shù)5:?顏色值(?何圖形的基本色)

參數(shù)6:?紋理單元

使?場景:?在繪制圖形時(shí),?可以應(yīng)用變換(模型/投影變化)這種著?器通過給定的模型視圖投影矩陣.?著?器將?個(gè)紋理通過漫反射照明計(jì)算進(jìn)行調(diào)整(相乘).



OpenGL?基本7種基本圖元

OpenGL 基本圖元

下面的圖示中限佩,常用的是1,2条舔,3,7秦陋,8摔踱,9

1.GL_POINTS

描述:每個(gè)頂點(diǎn)在屏幕上都是單獨(dú)點(diǎn)

示例


2.GL_LINES

描述:每一對頂點(diǎn)定義一個(gè)線段

示例(這里只出現(xiàn)一條線段是因?yàn)檫@個(gè)組成這個(gè)線段的點(diǎn)是兩兩對應(yīng)的蔗包,案例中只有三個(gè)點(diǎn)墩虹,所以只能生成一條線)

3.GL_LINE_STRIP

描述:?個(gè)從第一個(gè)頂點(diǎn)依次經(jīng)過每一個(gè)后續(xù)頂點(diǎn)而繪制的線條

示例

4.GL_LINE_LOOP

描述:和GL_LINE_STRIP相同,但是最后?個(gè)頂點(diǎn)和第一個(gè)頂點(diǎn)連接起來了

示例

5.GL_TRIANGLES

描述:每3個(gè)頂點(diǎn)定義一個(gè)新的三角形

示例

6.GL_TRIANGLE_STRIP(三?形帶)

描述:共用一個(gè)條帶(strip)上的頂點(diǎn)的一組三?角形。對于很多表面或者形狀而言,我們會(huì)需要繪制?個(gè)相連的三?形.?這是我們可以使用GL_TRIANGLE_STRIP圖元繪制一串相連三角形,從?節(jié)省?量的時(shí)間.

優(yōu)點(diǎn):

1.??前3個(gè)頂點(diǎn)指定第1個(gè)三?形之后授嘀,對于接下來的每?個(gè)三?形物咳,只需要再指定1個(gè)頂點(diǎn)锣险。需要繪制?量的三?形時(shí)蹄皱,采?這種?法可以節(jié)省大量的程序代碼和數(shù)據(jù)存儲(chǔ)空間

2.提供運(yùn)算性能和節(jié)省帶寬。更少的頂點(diǎn)意味著數(shù)據(jù)從內(nèi)存?zhèn)鬏數(shù)綀D形卡的速度更快芯肤,并且頂點(diǎn)著色器需要處理的次數(shù)也更少了巷折。

示例

7.GL_TRIANGLE_FAN(三?形扇)

描述:以一個(gè)圓點(diǎn)為中心呈扇形排列,共用相鄰頂點(diǎn)的一組三角形。對于很多表面或者形狀而言,我們會(huì)需要繪制幾個(gè)相連的三?形.?這時(shí)我們可以使用GL_TRIANGLE_FAN圖元繪制?組圍繞?個(gè)中?點(diǎn)相連的三角形


示例




?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末崖咨,一起剝皮案震驚了整個(gè)濱河市锻拘,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌击蹲,老刑警劉巖署拟,帶你破解...
    沈念sama閱讀 217,907評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異歌豺,居然都是意外死亡推穷,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,987評論 3 395
  • 文/潘曉璐 我一進(jìn)店門类咧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來馒铃,“玉大人,你說我怎么就攤上這事痕惋∏睿” “怎么了?”我有些...
    開封第一講書人閱讀 164,298評論 0 354
  • 文/不壞的土叔 我叫張陵值戳,是天一觀的道長议谷。 經(jīng)常有香客問我,道長堕虹,這世上最難降的妖魔是什么柿隙? 我笑而不...
    開封第一講書人閱讀 58,586評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮鲫凶,結(jié)果婚禮上禀崖,老公的妹妹穿的比我還像新娘。我一直安慰自己螟炫,他們只是感情好波附,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,633評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般掸屡。 火紅的嫁衣襯著肌膚如雪封寞。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,488評論 1 302
  • 那天仅财,我揣著相機(jī)與錄音狈究,去河邊找鬼。 笑死盏求,一個(gè)胖子當(dāng)著我的面吹牛抖锥,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播碎罚,決...
    沈念sama閱讀 40,275評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼磅废,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了荆烈?” 一聲冷哼從身側(cè)響起拯勉,我...
    開封第一講書人閱讀 39,176評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎憔购,沒想到半個(gè)月后宫峦,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,619評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡玫鸟,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,819評論 3 336
  • 正文 我和宋清朗相戀三年导绷,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片鞋邑。...
    茶點(diǎn)故事閱讀 39,932評論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡诵次,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出枚碗,到底是詐尸還是另有隱情逾一,我是刑警寧澤,帶...
    沈念sama閱讀 35,655評論 5 346
  • 正文 年R本政府宣布肮雨,位于F島的核電站遵堵,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏怨规。R本人自食惡果不足惜陌宿,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,265評論 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望波丰。 院中可真熱鬧壳坪,春花似錦、人聲如沸掰烟。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,871評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至蝎亚,卻和暖如春九孩,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背发框。 一陣腳步聲響...
    開封第一講書人閱讀 32,994評論 1 269
  • 我被黑心中介騙來泰國打工躺彬, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人梅惯。 一個(gè)月前我還...
    沈念sama閱讀 48,095評論 3 370
  • 正文 我出身青樓宪拥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親个唧。 傳聞我的和親對象是個(gè)殘疾皇子江解,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,884評論 2 354

推薦閱讀更多精彩內(nèi)容