Unity Shader基礎(chǔ)——頂點變換筆記
2019-11-21 23:28 作者:winter_mute | 我要投稿
前面主要是線性代數(shù)里關(guān)于矩陣的變換,在此不再贅述(因為后面會經(jīng)常用)
主要需要記的是坐標空間變換
主要過程:
模型空間→世界空間→觀察空間→剪裁空間
模型空間指的是一個模型or對象獨立的坐標空間,比如一個mesh,它的原點和坐標軸是由美術(shù)所確認好的,導(dǎo)入進unity之后就可以在頂點著色器上訪問模型的頂點信息,包含了每個點的坐標,這些點目前的信息都是相對于模型空間內(nèi)的原點的。
世界空間指的是場景的坐標空間,用來表述絕對位置,它使用的是左手坐標系,且它的x,y,z軸是不變的。頂點變換的第一步就是將頂點坐標從模型空間變換到世界空間中,稱為模型變換。
觀察者空間(view space)可以認為是模型空間的特例,為什么這么說?因為它是以攝像機位置為原點的一個模型空間。觀察者空間使用的是右手坐標系,這就導(dǎo)致它攝像機的正前方是-z軸方向。頂點變換的第二部就是將坐標從世界空間變換到觀察者空間,稱為觀察變換。
齊次剪裁空間(clip space)主要為了對渲染圖元進行剪裁,完全在視錐體范圍內(nèi)的圖元保留,完全在視錐體外的圖元剔除,而與視錐體邊界相交的圖元則會被剪裁,在邊界上生成新的頂點。剪裁矩陣會改變空間的旋向性。
還沒看完,明天盡快。
標簽: