OpenGL合并转换
OpenGL合并轉(zhuǎn)換
- OpenGL合并轉(zhuǎn)換簡介
- 源代碼剖析
- 主要源代碼
OpenGL合并轉(zhuǎn)換簡介
在上一課中,我們發(fā)現(xiàn)了一些轉(zhuǎn)換,這些轉(zhuǎn)換在 3D 空間中靈活地移動(dòng)對象。我們還有許多要研究的(相機(jī)控制和透視投影),但正如您可能已經(jīng)猜到的,我們需要結(jié)合轉(zhuǎn)換。在大多數(shù)情況下,您希望縮放對象以匹配實(shí)際縱橫比、旋轉(zhuǎn)以獲得正確的方向、移動(dòng)到某處等。為了執(zhí)行上述轉(zhuǎn)換,我們需要將第一個(gè)轉(zhuǎn)換矩陣乘以向量,然后將第二個(gè)矩陣乘以第一個(gè)操作的結(jié)果,然后將第三個(gè)矩陣乘以先前計(jì)算的結(jié)果。這將繼續(xù),直到所有矩陣乘以向量。最簡單的方法就是將所有轉(zhuǎn)換矩陣提供到著色器,并讓它們成乘。但是,這并不有效,因?yàn)樗芯仃噷τ谒许旤c(diǎn)都是相同的,只會改變位置向量。幸運(yùn)的是,線性代數(shù)提供了一套規(guī)則,使我們的生活更輕松。它告訴我們,如果給出一組矩陣M0…Mn和矢量 V, 然后公平地說: Mn* Mn-1* … * M0* V = (Mn* Mn-1* … * M0) * V 所以,如果你計(jì)數(shù): N = Mn* Mn-1* … * M0然后: Mn* Mn-1* … * M0* V = N * V
這意味著我們可以計(jì)算 N 乘法,然后將其作為單一變量發(fā)送到著色器,在其中,它將對每個(gè)頂點(diǎn)進(jìn)行乘法。因此,GPU 將僅計(jì)算每個(gè)頂點(diǎn)每個(gè)向量的一個(gè)矩陣乘法。
在 N 中,矩陣應(yīng)按什么順序排列?首先要
與50位技術(shù)專家面對面20年技術(shù)見證,附贈技術(shù)全景圖總結(jié)
以上是生活随笔為你收集整理的OpenGL合并转换的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中国银行信用卡可以网上激活吗
- 下一篇: OpenGL相机控制之一