OpenGL實例教程06:位移變換
一個簡單的位移變換
沿著任意長度和方向的矢量移動物體。假設(shè)你想要將左圖中的三角形移動到右圖中的位置。

這看上去非常容易,最簡單的加法就可以。但我們后面還需要處理旋轉(zhuǎn)變換,縮放變換,我們希望最終將一組矩陣相乘得到一個綜合變換。因此位移也行需要用矩陣乘法來表示。
用矩陣乘以點表示加法
所以,現(xiàn)在的問題是如何用矩陣乘法表示加法的效果?

如果我們只使用3 × 3的矩陣,確實沒有簡單的方法,但如果使用4 × 4矩陣,就可以:

像這樣用一個4維向量來表示一個3維向量被稱為齊次坐標。最后一位w如果為0,表示為向量(不能位移),為1表示為點(可以位移)。
后面的工作就簡單多了,只需要使用uniform變量,將矩陣傳輸?shù)絪hader里即可。
shader代碼
應(yīng)用程序代碼
標簽: