Opengl_9_復合變換-創(chuàng)新互聯(lián)

1,
多數(shù)情況下,你會想縮放物體來和3d世界相適應,旋轉物體到合適的方向,移動物體到某個地方等等。到現(xiàn)在我們已經實踐了每一次的單一圖形變換。為了實現(xiàn)上面一系列的變換,我們需要對頂點位置左乘第一個變換矩陣,然后得到的結果再左乘下一個變換矩陣等等,將所有變換矩陣都左乘頂點位置之后實現(xiàn)多個變換。
在shader中應用每一個變換矩陣實現(xiàn)所有的變換,但這樣很低效,因為對于所有頂點這些矩陣都是一樣的,只有頂點的位置發(fā)生變化,這樣要不斷重復對每個頂點位置進行這一系列的矩陣相乘操作。
∵ Mn * Mn-1 * ... * M0 * V = (Mn* Mn-1 * ... * M0) * V
令N = Mn * Mn-1 * ... * M0

∴ Mn * Mn-1 * ... * M0 * V = (Mn * Mn-1 * ... * M0) * V = N * V
∴我們可以一次性計算N,然后把它作為一致變量傳給shader和每一個頂點位置相乘完成所有的變換,這個只需要GPU對每個頂點進行一次矩陣/向量相乘操作。

2,
當計算N的時候怎樣安排每個變換矩陣的先后順序呢?首先要記住向量最開始先是被最右邊的矩陣左乘的M0 M1 M2 …

先旋轉后平移:


平移后旋轉:

將物體遠離坐標原點后,再旋轉物體會同時造成物體的平移效果(是繞原點旋轉,而不是繞自身旋轉了)。
這是我們希望能避免的。通過先旋轉后移動可以避免這兩個操作的相互依賴性,這也是盡量圍繞原點對稱建模的原因,那樣當你縮放或者旋轉物體不會產生副作用,縮放和旋轉后物體依然保持和之前一樣對稱。

3,












成都創(chuàng)新互聯(lián)是網站建設專家,致力于互聯(lián)網品牌建設與網絡營銷,專業(yè)領域包括做網站、成都網站建設、電商網站制作開發(fā)、小程序開發(fā)、微信營銷、系統(tǒng)平臺開發(fā),與其他網站設計及系統(tǒng)開發(fā)公司不同,我們的整合解決方案結合了恒基網絡品牌建設經驗和互聯(lián)網整合營銷的理念,并將策略和執(zhí)行緊密結合,且不斷評估并優(yōu)化我們的方案,為客戶提供全方位的互聯(lián)網品牌整合方案!

當前標題:Opengl_9_復合變換-創(chuàng)新互聯(lián)
分享網址:http://bm7419.com/article22/igocc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供網站制作、商城網站、服務器托管、網站導航、外貿建站、關鍵詞優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司