GPU設計中涉及到的座標

2022-07-23 02:06:19 字數 997 閱讀 6662

在gpu硬體處理以及opengl建模過程中都將設計到6種空間處理,直接構成了6種座標處理的環境:

1 、model space或者object space

這個空間是物件空間,與其他空間沒有關係,只是直接形成這個物體的具體輪廓以及其他屬性(attribute)。物件的最終構成都是有vertex都成,由他的屬性構成乙個三維空間。最簡單的primitive主要為點、線以及三角形。vertex的屬性包括座標、法線、色彩、紋理座標以及weight等等,這是最終構成3d空間的基本元素描述。

2、world space

提供了不同物件之間的相對關係,由model space到world space通過modeling transfermation進行變換,所有變換都可以通過4x4矩陣進行變換

3、eye space/camera space/view space

從world space到view space變換是通過view transfermation進行變換,把世界空間中的視點(眼睛)位置移到檢視空間的原點,然後適當旋轉眼睛。一般情況下,light 和 render計算都需要座標、法線、色彩等屬性。一般,這些計算在檢視空間或者物件空間中進行會更加有效率。在乙個場景中,世界座標空間對於應用程式建立不同的物件之間的空間關係很有用,但是對於計算光照和其他渲染則效率不高。因此,我們把代表模型和檢視變換的兩個矩陣合成乙個矩陣:模型檢視矩陣(modeling-view transfermation):用模型矩陣乘以檢視矩陣即可。

4、clip space

從view space轉換到clip space進行的座標變換為project transefermation(投射變換)。opengl要求投射的物體必須與座標對齊。其座標空間形式為四維的(x,y,z,w),計算2d座標及保留深度值(z)。

5、normalized screen space

通過透視除法獲得規範化裝置座標,這樣所有可見的幾何資料都在乙個立方體裡面。

6、window space

即最後轉換為螢幕座標

詳細介紹可參考:

JavaScript中涉及到的RegExp型別

正規表示式 由一些普通字元和特殊字元組成的,用以描述一種特定的字元規則的表示式,它是用來限制使用者在網際網路中輸入的規則 建立正規表示式 var 變數名 正規表示式的內容 修飾符 var reg 123456789 i var 變數名 new regexp 正規表示式的內容,修飾符 var reg ...

Qt Qt原始碼中涉及到的設計模式

1 單例模式 define instance 2 mvc模型檢視控制器框架 模型是應用程式物件 檢視是它的螢幕顯示 控制器定義了使用者介面對使用者輸入的反應。qt的模型檢視框架是經典的mvc模型,可以參考qlistwidget qtablewidget qtreewidget的原始碼。3 反射模式 ...

mysql中涉及到錢的字段如何設計

1 我之前使用過的方法 用int型,精確到分,儲存進去,顯示的時候,再縮小100倍即可 2 用decimal 10,2 型別,這個意思,你總共可以有10個小數字數,2表示你可以儲存小數點後兩位 但是注意一點,你使用decimal之後,在php的浮點數相加時,是不準確的,一定要注意,這是解釋型語言的通...