OpenGL中的各種轉(zhuǎn)換是通過(guò)矩陣運(yùn)算實(shí)現(xiàn)的,具體的說(shuō),就是當(dāng)發(fā)出一個(gè)轉(zhuǎn)換命令時(shí),該命令會(huì)生成一個(gè)4X4階的轉(zhuǎn)換矩陣(OpenGL中的物體坐標(biāo)一律采用齊次坐標(biāo),即(x, y, z, w),故所有變換矩陣都采用4X4矩陣),當(dāng)前矩陣與這個(gè)轉(zhuǎn)換矩陣相乘,從而生成新的當(dāng)前矩陣。例如,對(duì)于頂點(diǎn)坐標(biāo)v ,轉(zhuǎn)換命令通常在頂點(diǎn)坐標(biāo)命令之前發(fā)出,若當(dāng)前矩陣為C,轉(zhuǎn)換命令構(gòu)成的矩陣為M,則發(fā)出轉(zhuǎn)換命令后,生成的新的當(dāng)前矩陣為CM,這個(gè)矩陣再乘以頂點(diǎn)坐標(biāo)v,從而構(gòu)成新的頂點(diǎn)坐標(biāo)CMv。上述過(guò)程說(shuō)明,程序中繪制頂點(diǎn)前的最后一個(gè)變換命令最先作用于頂點(diǎn)之上。這同時(shí)也說(shuō)明,OpenGL編程中,實(shí)際的變換順序與指定的順序是相反的。文檔對(duì)其進(jìn)行了詳細(xì)的分析。
標(biāo)簽:
OpenGL
轉(zhuǎn)換
矩陣運(yùn)算
上傳時(shí)間:
2016-07-21
上傳用戶(hù):qilin