D3D中的渲染

2021-05-27 07:50:19 字數 646 閱讀 8339

虛擬世界中渲染幾何體一般來說有三種途徑:自定義座標渲染、d3dx內建模型渲染和外部模型資料渲染。

第一步:定義頂點資料結構體

d3d提供了自定義頂點結構的機制,通過自定乙個結構體,來儲存我們所希望具有的頂點資料,例如:

stuct colorvertex

頂點結構體定義好之後,需要用靈活頂點格式標記的組合來描述我們定義的頂點結構體,上面的結構體可描述為:

#define fvf_color  (d3dfvf_xyz | d3dfvf_diffuse)  

注意:靈活頂點標記的指定順序必須與頂點結構中相應型別資料定義的順序保持一致。

第二步:建立頂點快取和索引快取。

資料可存放於視訊記憶體中,渲染效率高。

第三步:設定頂點資料

通過自定義的結構體設定頂點快取中的頂點資料(座標、法線、紋理座標、...);通過乙個整型陣列設定頂點索引緩衝區的索引值。

第四步:設定裝置的渲染狀態

第五步:渲染準備

1.指定資料流輸入源;2.指定靈活頂點格式;3.指定索引快取。

第六步:渲染。

d3d內建的幾種基本幾何體可在設定渲染狀態後直接渲染;對於複雜幾何體的渲染,可以轉為.x格式後通過到d3d相關類直接提供支援,也可以編寫自己的模型解析方法,通過也是在渲染前設定裝置的渲染狀態。

D3D中透明渲染的總結

1.渲染的先決條件 開啟alpha渲染 m pd3ddevice setrenderstate d3drs alphablendenable,true 對於通過程式頂點構造的多邊形渲染時必須開啟alpha通道 m pd3ddevice settexturestagestate 0,d3dtss al...

D3D中的渲染到紋理

渲染到紋理是d3d中的一項高階技術。一方面,它很簡單,另一方面它很強大並能產生很多特殊效果。比如說發光效果,環境對映,陰影對映,都可以通過它來實現。渲染到紋理只是渲染到表面的乙個延伸。我們只需再加些東西就可以了。首先,我們要創造乙個紋理,並且做好一些防範措施。第二步我們就可以把適當的場景渲染到我們建...

D3D渲染效能測試

測試條件 一張 nvidia 1030顯示卡 1個顯示器 30fps,4k 渲染1個4k畫面 gpu 60 fps 45 渲染2個4k畫面 gpu 50 fps 30 渲染3個4k畫面 gpu 57 fps 30 渲染4個4k畫面 gpu 62 fps 30 測試條件 一張 nvidia 1030顯...