OpenGLES坐標(biāo)雅任、模型矩陣(ModelViewMatrix)笙蒙、投影矩陣(ProjectionMatrix)

OpenGL有六種坐標(biāo):

物體或模型坐標(biāo)系(Object or Model Coordinates)

世界坐標(biāo)系(World Coordinates)

眼坐標(biāo)或相機(jī)坐標(biāo)(Eye (or Camera) Coordinates)

裁剪坐標(biāo)系(Clip Coordinates)

標(biāo)準(zhǔn)設(shè)備坐標(biāo)系(Normalized Devices Coordinates)

屏幕坐標(biāo)系(Window (or Screen) Coordinates)

備注 :除了以上坐標(biāo)系罕扎,還有一個假想坐標(biāo)系——紋理坐標(biāo)系聚唐,這個坐標(biāo)系不存在的,其實是一系列矩陣變換的結(jié)果腔召,比如它能使頂點從物體或模型坐標(biāo)變換到世界坐標(biāo)系

從 Object Coordinates 到 World Coordinates 再到Camera Coordinates的變換杆查,在OpenGL中統(tǒng)一稱為model-View轉(zhuǎn)換,初始化的時候臀蛛,Object Coordinates 和 World Coordinates 還有Camera Coordinates坐標(biāo)重合在原點亲桦,變換矩陣都為Identity,所以在OpenGL中用glLoadIdentity() 初始化變換矩陣棧浊仆。model-view matrix 轉(zhuǎn)換points客峭, vectors到camera坐標(biāo)系

OpenGL可以只使用設(shè)備的一部分進(jìn)行繪制,這個部分稱為視區(qū)(Viewport)氧卧。投影得到的是視區(qū)內(nèi)的坐標(biāo)(投影坐標(biāo))桃笙,從投影坐標(biāo)到設(shè)備坐標(biāo)的計算過程就是設(shè)備變換了。

常用到的集中坐標(biāo)系:

世界坐標(biāo)沙绝、物體坐標(biāo)、設(shè)備坐標(biāo)鼠锈、眼坐標(biāo)闪檬、紋理坐標(biāo)

世界坐標(biāo)系:

是針對OpenGL來說明的,即三維坐標(biāo)系x,y,z

右手笛卡爾坐標(biāo)系购笆,水平向右為x軸粗悯,向上為y軸,屏幕向外為z軸

OpenGL提供了 glTranslate*/glRotate*/glScale*三條坐標(biāo)變換命令同欠,利用OpenGL的矩陣運算命令样傍,則可以實現(xiàn)任意復(fù)雜的坐標(biāo)變換。

坐標(biāo)變換矩陣棧(ModelView)

用來存儲一系列的變換矩陣铺遂,棧頂就是當(dāng)前坐標(biāo)的變換矩陣衫哥,進(jìn)入OpenGL管道的每個坐標(biāo)(齊次坐標(biāo))都會先乘上這個矩陣,結(jié)果才是對應(yīng)點在場景中的世界坐標(biāo)襟锐。

VertexData —>(Object Coordinates)—>ModelViewMatrix —>(Eye Coordinates)—> ProjectionMatrix —>(Clip Coordinates)—>Divide by w —>(Normalized Device Coordinates)—>ViewportTransform—>WindowCoordinates—>

紋理坐標(biāo)系

紋理是圖片撤逢,視頻等格式的一種渲染方式,圖片只有通過紋理才能加載到GLES中

因此紋理坐標(biāo)系是圖片,視頻等在手機(jī)屏幕上的坐標(biāo)系蚊荣,即U初狰,V也有叫ST的。

應(yīng)用初始化時互例,UV坐標(biāo)與三維坐標(biāo)系重合奢入,可以選擇繪制的模式,繪制模式包括點媳叨,線腥光,面,且都是坐標(biāo)集合里進(jìn)行順序繪制的肩杈。

物體坐標(biāo)系

物體坐標(biāo)系是以物體的某一個點為原點來建立的三維坐標(biāo)系(世界坐標(biāo)系)柴我。僅針對該物體。物體放到場景中時扩然,各部分經(jīng)歷的坐標(biāo)變換矩陣相同艘儒,相對位置不變,所以可視為一個整體

眼坐標(biāo)系或相機(jī)坐標(biāo)系

以視點為原點夫偶,以視線的方向為Z+軸正方向的坐標(biāo)系中的方向界睁。OpenGL管道會將世界坐標(biāo)先變換到眼坐標(biāo),然后進(jìn)行裁剪兵拢,只有在視線范圍(視見體)之內(nèi)的場景才會進(jìn)入下一階段的計算翻斟。

裁剪坐標(biāo)系

由眼坐標(biāo)可知,OpenGL管道首先會將目標(biāo)從世界坐標(biāo)變換到眼坐標(biāo)说铃,然后對視線范圍外的部分進(jìn)行裁剪访惜。

裁剪過程中用到投影變換矩陣棧(ProjectionMatrix),棧頂矩陣就是當(dāng)前投影變換矩陣腻扇,負(fù)責(zé)將場景各坐標(biāo)變換到眼坐標(biāo)债热,由所得到的結(jié)果是裁剪后的場景部分,稱為裁剪坐標(biāo)

我們上面說到了ModelViewMatrix 與ProjectionMatrix兩個矩陣棧幼苛,那矩陣棧是怎么切換的呢窒篱?

用函數(shù):glMatrixMode(GL_MODELVIEWING或GL_PROJECTION);本命令執(zhí)行后參數(shù)所指矩陣棧就成為當(dāng)前矩陣棧,以后的矩陣棧操縱命令將作用于它舶沿。

緊接著glMatrixMode()就是初始化矩陣墙杯,我們在上面也講到,所有矩陣都為Identity,所以用方法glLoadIdentity()初始化矩陣括荡。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末高镐,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子一汽,更是在濱河造成了極大的恐慌避消,老刑警劉巖低滩,帶你破解...
    沈念sama閱讀 211,376評論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異岩喷,居然都是意外死亡恕沫,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,126評論 2 385
  • 文/潘曉璐 我一進(jìn)店門纱意,熙熙樓的掌柜王于貴愁眉苦臉地迎上來婶溯,“玉大人,你說我怎么就攤上這事偷霉∑” “怎么了?”我有些...
    開封第一講書人閱讀 156,966評論 0 347
  • 文/不壞的土叔 我叫張陵类少,是天一觀的道長叙身。 經(jīng)常有香客問我,道長硫狞,這世上最難降的妖魔是什么信轿? 我笑而不...
    開封第一講書人閱讀 56,432評論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮残吩,結(jié)果婚禮上财忽,老公的妹妹穿的比我還像新娘。我一直安慰自己泣侮,他們只是感情好即彪,可當(dāng)我...
    茶點故事閱讀 65,519評論 6 385
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著活尊,像睡著了一般隶校。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛹锰,一...
    開封第一講書人閱讀 49,792評論 1 290
  • 那天惠况,我揣著相機(jī)與錄音,去河邊找鬼宁仔。 笑死,一個胖子當(dāng)著我的面吹牛峦睡,可吹牛的內(nèi)容都是我干的翎苫。 我是一名探鬼主播,決...
    沈念sama閱讀 38,933評論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼榨了,長吁一口氣:“原來是場噩夢啊……” “哼煎谍!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起龙屉,我...
    開封第一講書人閱讀 37,701評論 0 266
  • 序言:老撾萬榮一對情侶失蹤呐粘,失蹤者是張志新(化名)和其女友劉穎满俗,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體作岖,經(jīng)...
    沈念sama閱讀 44,143評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡唆垃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,488評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了痘儡。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片辕万。...
    茶點故事閱讀 38,626評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖沉删,靈堂內(nèi)的尸體忽然破棺而出渐尿,到底是詐尸還是另有隱情,我是刑警寧澤矾瑰,帶...
    沈念sama閱讀 34,292評論 4 329
  • 正文 年R本政府宣布砖茸,位于F島的核電站,受9級特大地震影響殴穴,放射性物質(zhì)發(fā)生泄漏凉夯。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,896評論 3 313
  • 文/蒙蒙 一推正、第九天 我趴在偏房一處隱蔽的房頂上張望恍涂。 院中可真熱鬧,春花似錦植榕、人聲如沸再沧。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,742評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽炒瘸。三九已至,卻和暖如春寝衫,著一層夾襖步出監(jiān)牢的瞬間顷扩,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,977評論 1 265
  • 我被黑心中介騙來泰國打工慰毅, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留隘截,地道東北人。 一個月前我還...
    沈念sama閱讀 46,324評論 2 360
  • 正文 我出身青樓汹胃,卻偏偏與公主長得像婶芭,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子着饥,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,494評論 2 348

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