OpenGL ES之路02-GLSL語(yǔ)言(下)

上文鏈接:OpenGL ES之路01-GLSL語(yǔ)言(上) - 簡(jiǎn)書

5.向量和矩陣內(nèi)的元素訪問(wèn)

1)什么是分量

分量就是聚合類型中的一個(gè)元素岩调。

2)分量名稱三種形式的集合(向量)


分量名稱三種形式的集合(向量)

齊次坐標(biāo)的含義:將一個(gè)原本是n維的向量分苇,用n+1維來(lái)表示摇幻。

例如:(8,4,2)和(4,2,1)中 如果說(shuō)第三個(gè)分量是齊次坐標(biāo)驱还,則這兩個(gè)點(diǎn)位置是一樣的称簿,都用來(lái)表示二維點(diǎn)(4,2)

3)向量與矩陣中的元素訪問(wèn)方式?

mat3 m = mat3(1.0,2.0,3.0,4.0,5.0,6.0,7.0,8.0,9.0);?

vec3 xyz=m[2];? //獲取矩陣的第二列

float s=m[1][1]; //獲取指定數(shù)

float s=m[1].y;

6.結(jié)構(gòu)體

1)定義

從邏輯上將不同的類型的數(shù)據(jù)類型組合到一個(gè)數(shù)據(jù)集合中

2)作用

方便使用耸棒,簡(jiǎn)化運(yùn)算丰歌。

3)定義一個(gè)結(jié)構(gòu)體

struct info{

vec3 color;

vec4 xyzw;

cev2 st;

}

4)采樣器


采樣器

7.數(shù)組

1)定義:有限個(gè)類型相同的變量集合

2)特性及注意事項(xiàng)

①.GLSL支持任意類型數(shù)組姨蟋,包括結(jié)構(gòu)體

②.數(shù)組的索引是從零開始的,負(fù)數(shù)索引和超范圍索引都是不行的

③.數(shù)組可以定義大小立帖,或者沒有大小

float c[3];? ? ? float [3]c;? ? ? ?int index[]; //未定義數(shù)組,稍候可以重新聲明

④.數(shù)組屬于GLSL中的第一等類型:數(shù)組在GLSL里面是有構(gòu)造函數(shù)的眼溶,并且還可以用作函數(shù)的參數(shù)和返回類型,可以靜態(tài)初始化一個(gè)數(shù)組的值晓勇。

float c[3]=float[3](1.1,1.2,1.3);

⑤.多維數(shù)組

float c[3][5];

c[2][1]=2.0;

c.length();//獲取長(zhǎng)度

c[2].length();

8.類型修飾符

1)attribute

一般用于每個(gè)頂點(diǎn)都各不相同的數(shù)據(jù)堂飞,例如:顏色、頂點(diǎn)

①.只有頂點(diǎn)著色器中才會(huì)使用绑咱。

②.是屬性限定符

③.只能用來(lái)修飾浮點(diǎn)數(shù)的標(biāo)量绰筛、向量、矩陣變量描融,不能用于修飾其他類型

2)unifrom

一致變量限定符铝噩。一致變量:對(duì)同一組頂點(diǎn)組成的單個(gè)3D物體中所有的頂點(diǎn)都相同的量

①.主要出現(xiàn)在頂點(diǎn)和片元著色器中

②.可以修飾所有的基本數(shù)據(jù)類型

3)verying

用來(lái)傳遞頂點(diǎn)著色器中的數(shù)據(jù)到片元著色器中

4)const

加入后變量值不可變,常亮窿克,編譯時(shí)變量

編譯時(shí)變量:在聲明的時(shí)候要進(jìn)行初始化骏庸,編譯器在編譯的時(shí)候不需要給他分配任何運(yùn)行時(shí)的資源。

例如:const float PI=3.14;

5)in和out

用in修飾的變量代表輸入變量年叮,用out修飾的代表輸出變量

6)inout

用來(lái)修飾參數(shù)為輸入輸出參數(shù)具被,同時(shí)具有兩種功能

9.語(yǔ)句

1)操作符重載

例如向量和矩陣間乘法:vec3 v;? mat3 m;? vec3 r=v*m;(矩陣和向量維度必須匹配)

2)控制流

if(){}else{}? switch

3)循環(huán)語(yǔ)句

for(){}? ?while(){}? do{}while()

4)流控制語(yǔ)句

break;? ?return;? continue;

discard;(丟棄當(dāng)前片元,終止片元著色器執(zhí)行只损,只能用于偏于著色器中)

10.內(nèi)建變量


內(nèi)建變量

附:矩陣計(jì)算

矩陣的逆:矩陣乘矩陣的逆等于單位矩陣

余子式:對(duì)于N*N的矩陣,其元素(m,n)對(duì)于的余子式就是劃去第m行所有元素和第n行所有元素之后,得到的一個(gè)(N-1)*(N-1)的行列式,其值就是余子式,因此有多少個(gè)元素就有多少個(gè)余子式

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末硬猫,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌啸蜜,老刑警劉巖坑雅,帶你破解...
    沈念sama閱讀 219,427評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異衬横,居然都是意外死亡裹粤,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,551評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門蜂林,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)遥诉,“玉大人,你說(shuō)我怎么就攤上這事噪叙“猓” “怎么了?”我有些...
    開封第一講書人閱讀 165,747評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵睁蕾,是天一觀的道長(zhǎng)苞笨。 經(jīng)常有香客問(wèn)我,道長(zhǎng)子眶,這世上最難降的妖魔是什么瀑凝? 我笑而不...
    開封第一講書人閱讀 58,939評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮臭杰,結(jié)果婚禮上粤咪,老公的妹妹穿的比我還像新娘。我一直安慰自己渴杆,他們只是感情好寥枝,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,955評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著磁奖,像睡著了一般囊拜。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上点寥,一...
    開封第一講書人閱讀 51,737評(píng)論 1 305
  • 那天艾疟,我揣著相機(jī)與錄音来吩,去河邊找鬼敢辩。 笑死,一個(gè)胖子當(dāng)著我的面吹牛弟疆,可吹牛的內(nèi)容都是我干的戚长。 我是一名探鬼主播,決...
    沈念sama閱讀 40,448評(píng)論 3 420
  • 文/蒼蘭香墨 我猛地睜開眼怠苔,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼同廉!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,352評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤迫肖,失蹤者是張志新(化名)和其女友劉穎锅劝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體蟆湖,經(jīng)...
    沈念sama閱讀 45,834評(píng)論 1 317
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡故爵,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,992評(píng)論 3 338
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了隅津。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片诬垂。...
    茶點(diǎn)故事閱讀 40,133評(píng)論 1 351
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖伦仍,靈堂內(nèi)的尸體忽然破棺而出结窘,到底是詐尸還是另有隱情,我是刑警寧澤充蓝,帶...
    沈念sama閱讀 35,815評(píng)論 5 346
  • 正文 年R本政府宣布隧枫,位于F島的核電站,受9級(jí)特大地震影響棺克,放射性物質(zhì)發(fā)生泄漏悠垛。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,477評(píng)論 3 331
  • 文/蒙蒙 一娜谊、第九天 我趴在偏房一處隱蔽的房頂上張望确买。 院中可真熱鬧,春花似錦纱皆、人聲如沸湾趾。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,022評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)搀缠。三九已至,卻和暖如春近迁,著一層夾襖步出監(jiān)牢的瞬間艺普,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,147評(píng)論 1 272
  • 我被黑心中介騙來(lái)泰國(guó)打工鉴竭, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留歧譬,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,398評(píng)論 3 373
  • 正文 我出身青樓搏存,卻偏偏與公主長(zhǎng)得像瑰步,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子璧眠,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,077評(píng)論 2 355

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