透視投影矩陣的構建

2021-08-26 05:46:08 字數 769 閱讀 9155

投影矩陣最終建立的是乙個平截頭體(也可以稱為臺),在這種變換下呈現遠小近大的效果。這裡我將我學到知識記錄下來,以後備忘用。

首先是使用opengl的glfrustum函式,它要求傳入的是前後、左右、上下等引數,這要求這個平截頭體是軸對稱的。由它構成的矩陣是為:

如果我們使用的不是glfrustum,而是glperspetive,那麼它的公式就更加簡單了:

我們可以借助qt來驗證一下:

#include#include#include#includeqreal deg2rad( qreal deg )

int main(int argc, char *argv)

注意:和opengl一樣,矩陣是列主序的,所以上述公式在賦值的時候要一列一列地讀,先讀第一列的四個數,然後第二列……執行結果如下:

透視投影矩陣

1.將投影面上x,y,z方向上的點,投影到剪裁空間有一定比例關係 2.y方向上的比例關係 y y0 y y0 z tan fov 2 y y tan fov 2 z 讓f 1 tan fov 2 y f z y 3.x方向上的比例關係 x f z x 根據相似三角形原理 tan fovx 2 tan...

26 WebGL的透視投影矩陣

上一章講的盒狀投影矩陣,主要用於精度需求度高的工業。而這一節的透視投影矩陣,更符合我們正常人的視覺,也是就近大遠小的感覺。我們需要實現的效果就是同樣大小的圖形,距離視點越遠,展現出來就越小,如圖 就像盒狀可視空間那樣,透視投影可視空間也有視點 視線 近裁剪面和遠裁剪面,這樣可視空間內的物體才會被現實...

Android OpenGL透視投影

首先申明下,本文為筆者學習 opengl es應用開發實踐指南 的筆記,並加入筆者自己的理解和歸納總結。1 透視除法 opengl會把每個gl position的x y和z分量都除以它的w分量。當w分量用來表示距離的時候,會使得較遠處的物體被移動到距離渲染區域中心更近的地方。新增w分量建立三維圖 p...