Direct3D 架構 (Direct3D 9)
本主題提供 Direct3D 架構的兩個高階檢視:
- Direct3D 圖形管線 - Direct3D 轉譯系統內部處理架構的檢視。
- Direct3D 系統整合 - 檢視 Direct3D 如何在應用程式與圖形硬體之間協調。
Direct3D 圖形管線
圖形管線提供有效率地處理 Direct3D 場景,並將 Direct3D 場景轉譯成顯示器,並利用可用的硬體。 下圖顯示管線的建置組塊:
管線元件 | 描述 | [相關主題] |
---|---|---|
頂點資料 | 未轉換的模型頂點會儲存在頂點記憶體緩衝區中。 | 頂點緩衝區 (Direct3D 9) 、 IDirect3DVertexBuffer9 |
基本資料 | 幾何基本類型,包括點、線條、三角形和多邊形,都是使用索引緩衝區在頂點資料中參考。 | (Direct3D 9) 、 IDirect3DIndexBuffer9、 Primitives、 較高順序基本類型 (Direct3D 9) |
鑲嵌 | 鑲嵌器單位會將較高順序的基本類型、位移對應和網格修補程式轉換成頂點位置,並將這些位置儲存在頂點緩衝區中。 | Tessellation (Direct3D 9) |
頂點處理 | Direct3D 轉換會套用至儲存在頂點緩衝區中的頂點。 | 頂點管線 (Direct3D 9) |
幾何處理 | 裁剪、背面消除、屬性評估和點陣化會套用至轉換的頂點。 | 圖元管線 (Direct3D 9) |
紋理表面 | Direct3D 表面的紋理座標會透過 IDirect3DTexture9 介面提供給 Direct3D 。 | Direct3D 紋理 (Direct3D 9) 、 IDirect3DTexture9 |
紋理取樣器 | 紋理層級的詳細資料篩選會套用至輸入紋理值。 | Direct3D 紋理 (Direct3D 9) |
圖元處理 | 圖元著色器作業會使用幾何資料來修改輸入頂點和紋理資料,產生輸出圖元色彩值。 | 圖元管線 (Direct3D 9) |
圖元轉譯 | 最終轉譯程式會修改使用 Alpha、深度或樣板測試的圖元色彩值,或套用 Alpha 混合或水氣。 所有產生的圖元值都會呈現至輸出顯示。 | 圖元管線 (Direct3D 9) |
Direct3D 系統整合
下圖顯示 Window 應用程式、Direct3D、GDI 和硬體之間的關聯性:
Direct3D 會將與裝置無關的介面公開給應用程式。 Direct3D 應用程式可以與 GDI 應用程式一起存在,而且兩者都可以透過圖形卡的裝置驅動程式存取電腦的圖形硬體。 不同于 GDI,Direct3D 可以藉由建立 hal 裝置來利用硬體功能。
hal 裝置會根據圖形配接器所支援的功能集,為圖形管線函式提供硬體加速。 系統會提供 Direct3D 方法,以在執行時間擷取裝置顯示功能。 (請參閱 IDirect3DDevice9::GetDeviceCaps.) 如果硬體未提供功能,則 hal 不會將其回報為硬體功能。
如需 Direct3D 所支援之 hal 和參考裝置的詳細資訊,請參閱裝置 類型 (Direct3D 9) 。