硬體轉換和光源
針對最新的 Direct X 版本,已針對 D3dDrawPrimitives2 DDI 進行修改,以啟用幾何作業的硬體加速,例如光源和轉換。 在 API 層級,支援硬體頂點作業的裝置會與僅點陣化裝置分開列舉。
現有的端點結構已擴充,以指出硬體加速轉換裝置上可能存在的功能。 例如,支援的光源數目是使用 D3DLIGHTINGCAPS 結構的 dwNumLights 成員來設定,而 D3DLIGHTINGCAPS 結構會以 D3DDEVICEDESC_V1 結構報告。
下表列出其他旗標:
旗標 | 意義 |
---|---|
D3DDEVCAPS_CANBLTSYSTONONLOCAL |
裝置支援從系統記憶體到非本機視訊記憶體的紋理。 |
D3DDEVCAPS_DRAWPRIMITIVES2EX |
驅動程式支援擴充 的 D3dDrawPrimitives2 功能,以符合 DirectX 7.0 規範。 |
D3DDEVCAPS_HWRASTERIZATION |
裝置具有點陣化的硬體加速。 |
D3DDEVCAPS_HWTRANSFORMANDLIGHT |
裝置可以在硬體中支援硬體轉換和光源。 |
D3DDEVCAPS_SEPARATETEXTUREMEMORIES |
裝置會從不同的記憶體集區進行文字處理。 |
D3DTRANSFORMCAPS_CLIP |
硬體可以在轉換時裁剪。 |
由於硬體幾何加速器的功能集可能會 (不同,例如支援的光源數目) ,因此上限結構會指出此裝置執行的幾何作業子集。 零是支援的光源數目的有效值,表示硬體只會進行轉換。
只有包含頂點法線的頂點會正確亮起;對於不包含一般值的頂點而言,所有光源計算都會採用 0 的點乘積。
幾何管線軟體實作所使用的所有索引鍵狀態和資料結構,都可在 DDI 層級使用。 有些顯示卡只會在硬體中實作光源,並在主機處理器上執行轉換和裁剪。
下列轉譯狀態類型僅適用于加速轉換和光源的裝置:
D3DRENDERSTATE_AMBIENT
D3DRENDERSTATE_AMBIENTMATERIALSOURCE
D3DRENDERSTATE_CLIPPING
D3DRENDERSTATE_CLIPPLANEENABLE
D3DRENDERSTATE_COLORVERTEX
D3DRENDERSTATE_DIFFUSEMATERIALSOURCE
D3DRENDERSTATE_EMISSIVEMATERIALSOURCE
D3DRENDERSTATE_EXTENTS
D3DRENDERSTATE_FOGVERTEXMODE
D3DRENDERSTATE_LIGHTING
D3DRENDERSTATE_LOCALVIEWER
D3DRENDERSTATE_NORMALIZENORMALS
D3DRENDERSTATE_SPECULARMATERIALSOURCE
D3DRENDERSTATE_VERTEXBLEND
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應