d3d 投影矩陣

2021-08-16 11:13:02 字數 1016 閱讀 4887

這一節部落格 我將講述從乙個頂點從相機空間到到視平面的座標變化過程,理解這個過程座標值大小的範圍對於實現shadowmap,projectivetexture,pick技術來說至關重要。當然我還是省略掉大量詳細的推導過程,只是給出結果。

如下面圖所示,紅色圈住的部分,

就想下面的圖一樣: 

實際上d3d11的cvv體和齊次裁剪空間是同樣的概念,假設透視投影變換之後頂點為(x,y,z,w),則cvv體或者齊次裁剪體為乙個長為2w,高為2w,寬為w的長方體,而不是長為2高為2寬為1的規格化的長方體,更不是所謂的單位立方體。

ndc空間其實就是乙個長為2高為2寬為1的長方體,如下面圖所示:

感覺cvv和ndc其實長得好像,就是單位不一樣。當然請記住,裁剪是發生在cvv空間的,很多人誤以為cvv體就是單位立方體或者長為2高為2寬為1的長方體,這種想法是不對的。

演變過程如下面所示:

d3d矩陣變換

1.d3d的繪製流水線 區域性座標系 模型空間 世界座標系 觀察座標系 背面消隱 光照 裁剪 投影 視口變化 光柵化 每個3d模型都有自己的空間,空間的中心 原點 就是模型的中心。世界空間就是物體 模型 存在的地方。世界的中心就是原點 0,0,0 注意螢幕中間的那一點不是世界空間的中心點,螢幕中間的...

d3d矩陣總結

d3d中實現物件的基本渲染需要使用shader指令碼,而shader指令碼最低的的需求就是頂點與矩陣,在這裡主要討論矩陣 這個矩陣是3個矩陣運算得來的,分別是世界矩陣 視矩陣和投影矩陣 世界矩陣 世界矩陣就是標識者物體在世界座標系中的位置,預設下設為單位陣即可 視矩陣 視矩陣是攝像機位置和朝向的設定...

D3D的矩陣變換

物體座標 世界座標 視座標 投影座標 螢幕座標 這部分的說明已經不能再多了,但是有些細節其實d3d的文件中也比較難發現出來,還有些在文件中的解釋可能會讓人比較迷惑。1。視矩陣是什麼?參見 d3d的視矩陣是如何構造的 2。投影矩陣把z投影到 去了?我們在3d圖形學中學的投影矩陣是給出乙個平面,將3d空...