五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

坐標系統(tǒng)

2023-08-09 14:35 作者:追逐彗星的尾巴  | 我要投稿

有5個不同的坐標系統(tǒng)較重要:

局部坐標(Local Coordinates):局部坐標是物體自身的坐標系統(tǒng),相對于物體自身的原點。

世界坐標(World Coordinates):世界坐標是指物體在整個場景中的位置和定位。這是一個全局坐標系統(tǒng),描述了物體相對于整個場景的位置。

觀察坐標(View Coordinates):也稱為相機坐標或視圖坐標,是指將物體從世界坐標系轉換到相機坐標系的坐標系統(tǒng)。

裁剪坐標(Clip Coordinates):裁剪坐標會被處理至-1.0到1.0的范圍內(nèi),并判斷哪些頂點將會出現(xiàn)在屏幕上。

屏幕坐標(Screen Coordinates):裁剪坐標通過視口變換映射到屏幕坐標,即glViewport函數(shù)所定義的坐標范圍內(nèi)。屏幕坐標描述了在屏幕上實際呈現(xiàn)的位置。

模型矩陣

局部坐標通過模型矩陣(Model Matrix)變換為世界坐標。模型矩陣是一種變換矩陣,它能通過對物體進行位移、縮放、旋轉來將它置于它本應該在的位置或朝向。

觀察矩陣

觀察坐標就是將世界空間坐標轉化為用戶視野前方的坐標。這通常是由一系列的位移和旋轉的組合來完成,它們通常存儲在一個觀察矩陣(View Matrix)中。

投影矩陣

將觀察坐標變換為裁剪坐標有兩種投影矩陣:正射投影矩陣(Orthographic Projection Matrix)和透視投影矩陣(Perspective Projection Matrix)。

正射投影矩陣定義了一個裁剪空間,在這空間之外的頂點都會被裁剪掉。創(chuàng)建一個正射投影矩陣需要指定可見空間的寬、高和長度,其中長度由遠近兩個平面確定。

我們使用函數(shù)glm::ortho()創(chuàng)建一個正射投影矩陣。

前兩個參數(shù)指定了空間的左右坐標,第三和第四參數(shù)指定了底部和頂部,最后兩個參數(shù)則定義了近平面和遠平面的距離。

我們使用函數(shù)glm::perspective()創(chuàng)建一個透視投影矩陣。

fov:視野(Field of View),通常以弧度為單位。

aspect:屏幕的寬高比(寬度除以高度)。

near:近裁剪平面的距離。

far:遠裁剪平面的距離。

3D化

一個頂點坐標將會根據(jù)以下過程被變換到裁剪坐標:

首先,需要創(chuàng)建一個模型矩陣。

這個矩陣讓平面繞x軸旋轉,使其看起來像一個水平面。

接下來是觀察矩陣。

注意:OpenGL中是右手坐標系,垂直于屏幕向外是正z軸方向。


這個矩陣讓觀察視角在場景中稍向后退。

最后是投影矩陣。

下一步就是把矩陣傳入著色器。

聲明uniform變量:

發(fā)送矩陣數(shù)據(jù):

最終效果如下:


坐標系統(tǒng)的評論 (共 條)

分享到微博請遵守國家法律
黄陵县| 华宁县| 通海县| 东乡族自治县| 五峰| 隆昌县| 焦作市| 淳化县| 宝应县| 台北市| 平塘县| 宜都市| 翁牛特旗| 麻栗坡县| 开封市| 盘山县| 崇信县| 阳新县| 辽源市| 临西县| 吴川市| 古交市| 榕江县| 铁岭市| 平泉县| 泸水县| 斗六市| 繁昌县| 兴安盟| 贺州市| 深泽县| 武陟县| 阿拉尔市| 寿宁县| 莱芜市| 木兰县| 尼木县| 古田县| 米脂县| 景宁| 贵溪市|