透視紋理引發的對於插值的思考

2022-07-21 06:06:09 字數 754 閱讀 7963

插值還沒有系統的學過,最近在實現blackwalnut3d的紋理對映時,才慢慢發現3d中的插值和我們數學上的插值還是有點不同的。

個人認為,插值可以和向量,矩陣一起稱為計算機圖形學中最最基本的數學基礎。

在構造物體時,可以只設定幾個參考點,使用插值完成貝塞爾曲線的逼近。在進行裁剪時,為了獲得規範的,可以方便進行裁剪的裁剪立方體cvv,將透視和插值融合實現了透視矩陣,同時,在具體的裁剪過程中,使用插值獲得各種裁剪後的座標。在光柵化的階段,使用插值完成將乙個平面離散到螢幕畫素上,並且利用插值完成正確的紋理透視,使效果看起來更棒。

可以發現,在pipeline的整個階段都可能用到插值。其重要性並不亞於向量和矩陣。那麼,就先簡單的介紹一下插值,以後系統的學習過後,再系統的寫一寫。

首先,插值只適用於線性關係中。對於非線性關係,插值並不適用。

其次,計算機中的插值,和數學中插值的基本含義一樣,具體用法上,多數使用的是比例關係。

數學上,線性關係表示為:y = ax+b,其中a,b為實數,x,y可以為向量或者實數。也就是說,知道a,b後,每乙個確定的x,有乙個確定的y和其對應。

而再計算機中,我們通常使用的是其比例關係。設y = ax+b , 如y從y0開始,到y0和y3之間的乙個值y2,那麼x也就從x0開始,到x0和x3之間的乙個值x2,這中情況下,如果要求x2的值,有

x2 = (x3-x0)*(y2-y0)/(y3 - y0) + x0 。不用具體求出a和b的值。

由上面這篇文章可知,只要能知道兩個量之間關係是線性關係即可,不用計算a和b的具體值。  

深度插值與透視紋理對映插值

在模型空間,世界空間,相機空間和剪裁空間中三角面上的紋理座標與空間座標是線性關係,按空間座標進行線性插值即可求得紋理座標。但在透視投影模式下在歸一化裝置空間和視口空間中紋理座標與空間座標就不再是線性關係了,要在歸一化裝置空間或視口空間插值計算紋理座標,需要進行非線性插值。其原因就在於透視投影模式下由...

對於建立鍊錶引發的思考

今天刷到一道鍊錶建立的題。平時做的基本是題目給你提供好的鍊錶,而不需要自己建立。舉個例子,對於vector來說,其實,當我們宣告如 vectorv 10,0 所呼叫的vector類的建構函式內部呼叫了new來給物件分配了空間。因此,當你需要建立諸如 鍊錶,二叉樹等結構時,對於每乙個新加入結點,都必須...

停課引發的思考

快一周沒去機房了,好懷念在在學習的日子,以至於經常夢到自己在設計程式。唉,說到底還是自己太貪玩,沒有珍惜這來之不易的學習環境。當10期大部分人因遲到被禁止進的時候,我們幾個在大大咧咧的學習,甚至連週末兩天都沒有做到按時上課。結果,讓公尺老師動怒,被判了個無期徒刑。失去了才知道珍惜,也好,這樣再次得到...