国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(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)的評論 (共 條)

分享到微博請遵守國家法律
青神县| 威宁| 花垣县| 富阳市| 深水埗区| 丰原市| 大厂| 高阳县| 光泽县| 彭州市| 古浪县| 广安市| 永寿县| 永州市| 铜陵市| 宜丰县| 许昌市| 昌乐县| 涟源市| 湖州市| 齐齐哈尔市| 姜堰市| 海宁市| 江都市| 长春市| 筠连县| 潼关县| 青田县| 龙口市| 高邮市| 诏安县| 公主岭市| 邳州市| 肥乡县| 栾城县| 沂水县| 丘北县| 娄烦县| 济宁市| 柞水县| 康平县|