相機空間轉換
相機空間中的頂點,會透過使用世界檢視矩陣轉換物件矩陣的方式來計算。
V = V * wvMatrix
在相機空間中,頂點法線是藉由使用世界檢視矩陣的反向轉置來轉換物件法線來計算。 世界檢視矩陣不一定是正交。
N = N * (wvMatrix⁻¹)T
矩陣反轉和矩陣轉置會在 4x4 矩陣上操作。 乘法將法線與所得 4x4 矩陣的 3x3 部分結合。
如果轉譯狀態設定為標準化法線,則頂點法線向量在轉換到相機空間後將被標準化,如下所示:
N = norm(N)
相機空間中的光線位置是藉由使用檢視矩陣轉換光源位置來計算。
Lₚ = Lₚ * vMatrix
定向光的相機空間中的光方向是將光源方向乘以檢視矩陣、標準化並對結果求反來計算的。
Ldir = -norm(Ldir * wvMatrix)
對於點光線和聚光燈,光的方向計算如下:
Ldir = norm(V - Lₚ),其中參數定義於以下資料表中。
參數 | 預設值 | 類型 | 描述 |
---|---|---|---|
Ldir | N/A | 3D 向量 (x、y 和 z 浮點值) | 物件頂點到光線的方向向量 |
V | N/A | 3D 向量 (x、y 和 z 浮點值) | 相機空間中的頂點位置 |
wvMatrix | 身分識別 | 浮點值的 4x4 矩陣 | 包含世界和檢視轉換的複合矩陣 |
否 | N/A | 3D 向量 (x、y 和 z 浮點值) | 頂點法線 |
Lₚ | N/A | 3D 向量 (x、y 和 z 浮點值) | 相機空間中的光線位置 |
vMatrix | 身分識別 | 浮點值的 4x4 矩陣 | 包含檢視轉換的矩陣 |
相關主題