OpenGL的紋理坐標(biāo)及旋轉(zhuǎn)問(wèn)題

OpenGL的紋理坐標(biāo)與旋轉(zhuǎn)顯示


貼一張我自己用draw.io畫(huà)的圖,順便推薦一下這個(gè)在線畫(huà)圖的網(wǎng)站 :draw.io晓锻。

image.png

OpenGL的紋理坐標(biāo)原點(diǎn)是在左下角,ios/Android顯示系統(tǒng)的原點(diǎn)在左上角力穗,跟紋理是上下顛倒的(其實(shí)應(yīng)該說(shuō)是垂直鏡像的)宦芦,所以紅1代表ios圖片原點(diǎn)位置。如圖中的R0腻扇,沒(méi)有任何旋轉(zhuǎn)時(shí)圖片從左上角紅1開(kāi)始到右下角紅4债热。
此時(shí)手機(jī)采集攝像頭是橫屏狀態(tài)采集而來(lái)的,在iphone上的橫屏是Home鍵在左的狀態(tài)幼苛。
所以opengl的顯示矩陣按紅1開(kāi)始到紅4排列窒篱。

當(dāng)把手機(jī)豎起來(lái)Home鍵朝下時(shí),相當(dāng)于將手機(jī)向右旋轉(zhuǎn)90度舶沿,如圖R90墙杯。紅1從左上角變成了右上角。

以下是openGL顯示圖片時(shí)的矩陣括荡,代碼中填寫(xiě)坐標(biāo)的從圖中對(duì)應(yīng)的紅色1開(kāi)始順序填寫(xiě)即可:

static const GLfloat rotation0[] = {
      0.0f, 1.0f,//bottom left 這個(gè)注釋對(duì)應(yīng)OpenGL紋理左下角原點(diǎn)
      1.0f, 1.0f,//bottom right
      0.0f, 0.0f,//top left
      1.0f, 0.0f,//top right
  };

  static const GLfloat rotateRight90[] = {
      1.0f, 1.0f,
      1.0f, 0.0f,
      0.0f, 1.0f,
      0.0f, 0.0f,
  };

  static const GLfloat rotateRight180[] = {
      1.0f, 0.0f,
      0.0f, 0.0f,
      1.0f, 1.0f,
      0.0f, 1.0f,
  };

  static const GLfloat rotateRight270[] = {
      0.0f, 0.0f,
      0.0f, 1.0f,
      1.0f, 0.0f,
      1.0f, 1.0f,
  };

以上是顯示的矩陣高镐,但如果是openGL內(nèi)部處理旋轉(zhuǎn)而不是顯示時(shí),按openGL的原點(diǎn)順序旋轉(zhuǎn)即可畸冲,如:

static const GLfloat rotation0[] = {
      0.0f, 0.0f,//bottom left 
      1.0f, 0.0f,//bottom right
      0.0f, 1.0f,//top left
      1.0f, 1.0f,//top right
  };
  static const GLfloat rotateRight90[] = {
      1.0f, 0.0f,
      1.0f, 1.0f,
      0.0f, 0.0f,
      0.0f, 1.0f,
  };
...

鏡像


對(duì)應(yīng)上圖嫉髓,水平鏡像(即我們平常照鏡子)將圖按垂直中軸線翻轉(zhuǎn)观腊,垂直鏡像(比較少用)將圖按水平中軸線翻轉(zhuǎn)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末算行,一起剝皮案震驚了整個(gè)濱河市梧油,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌州邢,老刑警劉巖儡陨,帶你破解...
    沈念sama閱讀 216,372評(píng)論 6 498
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異量淌,居然都是意外死亡骗村,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,368評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén)呀枢,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)胚股,“玉大人,你說(shuō)我怎么就攤上這事硫狞⌒沤危” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,415評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵残吩,是天一觀的道長(zhǎng)财忽。 經(jīng)常有香客問(wèn)我,道長(zhǎng)泣侮,這世上最難降的妖魔是什么即彪? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,157評(píng)論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮活尊,結(jié)果婚禮上隶校,老公的妹妹穿的比我還像新娘。我一直安慰自己蛹锰,他們只是感情好深胳,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,171評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著铜犬,像睡著了一般舞终。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上癣猾,一...
    開(kāi)封第一講書(shū)人閱讀 51,125評(píng)論 1 297
  • 那天敛劝,我揣著相機(jī)與錄音,去河邊找鬼纷宇。 笑死夸盟,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的像捶。 我是一名探鬼主播上陕,決...
    沈念sama閱讀 40,028評(píng)論 3 417
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼桩砰,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了唆垃?” 一聲冷哼從身側(cè)響起五芝,我...
    開(kāi)封第一講書(shū)人閱讀 38,887評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤痘儡,失蹤者是張志新(化名)和其女友劉穎辕万,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體沉删,經(jīng)...
    沈念sama閱讀 45,310評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渐尿,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,533評(píng)論 2 332
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了矾瑰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片砖茸。...
    茶點(diǎn)故事閱讀 39,690評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖殴穴,靈堂內(nèi)的尸體忽然破棺而出凉夯,到底是詐尸還是另有隱情,我是刑警寧澤采幌,帶...
    沈念sama閱讀 35,411評(píng)論 5 343
  • 正文 年R本政府宣布劲够,位于F島的核電站,受9級(jí)特大地震影響休傍,放射性物質(zhì)發(fā)生泄漏征绎。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,004評(píng)論 3 325
  • 文/蒙蒙 一磨取、第九天 我趴在偏房一處隱蔽的房頂上張望人柿。 院中可真熱鬧,春花似錦忙厌、人聲如沸凫岖。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,659評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)哥放。三九已至,卻和暖如春汹胃,著一層夾襖步出監(jiān)牢的瞬間婶芭,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,812評(píng)論 1 268
  • 我被黑心中介騙來(lái)泰國(guó)打工着饥, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留犀农,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,693評(píng)論 2 368
  • 正文 我出身青樓宰掉,卻偏偏與公主長(zhǎng)得像呵哨,于是被迫代替她去往敵國(guó)和親赁濒。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,577評(píng)論 2 353

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