Direct3D 架構 (Direct3D 9)
本主題提供 Direct3D 架構的兩個高階檢視:
- Direct3D 圖形管線 - Direct3D 轉譯系統內部處理架構的檢視。
- Direct3D 系統整合 - 檢視應用程式與圖形硬體之間的 Direct3D 調解方式。
Direct3D 圖形管線
圖形管線提供馬力,以有效率地處理和轉譯 Direct3D 場景到顯示器,並利用可用的硬體。 下圖顯示管線的建置組塊:
direct3d 圖形管線
管線元件 | 描述 | 相關主題 |
---|---|---|
頂點數據 | 未轉換的模型頂點會儲存在頂點記憶體緩衝區中。 | 頂點緩衝區 (Direct3D 9),IDirect3DVertexBuffer9 |
基本數據 | 幾何基本類型,包括點、線條、三角形和多邊形,會在具有索引緩衝區的頂點數據中參考。 | 索引緩衝區 (Direct3D 9)、IDirect3DIndexBuffer9、Primitives、Higher-Order Primitives |
棋盤形佈置 | 鑲嵌式單位會將較高順序的基本類型、位移對應和網格修補程式轉換成頂點位置,並將這些位置儲存在頂點緩衝區中。 | 鑲嵌式 (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)。