d3d中實現物件的基本渲染需要使用shader指令碼,而shader指令碼最低的的需求就是頂點與矩陣,在這裡主要討論矩陣:
這個矩陣是3個矩陣運算得來的,分別是世界矩陣、視矩陣和投影矩陣
世界矩陣:世界矩陣就是標識者物體在世界座標系中的位置,預設下設為單位陣即可
視矩陣:視矩陣是攝像機位置和朝向的設定,使用函式d3dxmatrixlookatlh設定,引數分別是:
輸出矩陣
攝像機存在的位置
攝像機朝向的位置 (攝像機的朝向由 朝向位置-存在位置並進行歸一化計算,所以攝像機存在位置與朝向位置之間的距離並無任何意義,僅用作方向計算)
y軸朝向的位置
投影矩陣:在這裡分為正交和投影兩種矩陣
正交矩陣呼叫函式d3dxmatrixortholh設定,引數為:
輸出矩陣
顯示區域寬度
顯示區域高度
近平面可見深度
正交矩陣不考慮攝像機的張角
投影矩陣
投影矩陣呼叫函式d3dxmatrixperspectivefovlh設定,引數為:
輸出矩陣
攝像機的張角
寬高比近平面
遠平面
d3d矩陣變換
1.d3d的繪製流水線 區域性座標系 模型空間 世界座標系 觀察座標系 背面消隱 光照 裁剪 投影 視口變化 光柵化 每個3d模型都有自己的空間,空間的中心 原點 就是模型的中心。世界空間就是物體 模型 存在的地方。世界的中心就是原點 0,0,0 注意螢幕中間的那一點不是世界空間的中心點,螢幕中間的...
d3d 投影矩陣
這一節部落格 我將講述從乙個頂點從相機空間到到視平面的座標變化過程,理解這個過程座標值大小的範圍對於實現shadowmap,projectivetexture,pick技術來說至關重要。當然我還是省略掉大量詳細的推導過程,只是給出結果。如下面圖所示,紅色圈住的部分,就想下面的圖一樣 實際上d3d11...
D3D的矩陣變換
物體座標 世界座標 視座標 投影座標 螢幕座標 這部分的說明已經不能再多了,但是有些細節其實d3d的文件中也比較難發現出來,還有些在文件中的解釋可能會讓人比較迷惑。1。視矩陣是什麼?參見 d3d的視矩陣是如何構造的 2。投影矩陣把z投影到 去了?我們在3d圖形學中學的投影矩陣是給出乙個平面,將3d空...