最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

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

分享到微博請遵守國家法律
迁西县| 曲麻莱县| 固阳县| 平罗县| 巴楚县| 山阴县| 凌海市| 长春市| 达拉特旗| 财经| 会理县| 鄂尔多斯市| 凉山| 莫力| 隆回县| 准格尔旗| 湘乡市| 绍兴县| 积石山| 重庆市| 丹江口市| 肇州县| 锦州市| 金秀| 固原市| 临邑县| 游戏| 揭阳市| 三河市| 大新县| 临猗县| 小金县| 台安县| 南雄市| 布尔津县| 龙南县| 陆良县| 晋中市| 定州市| 巢湖市| 龙州县|