已淘汰的功能 (Direct3D 10)
Direct3D 10 中可用的功能清單 這裡。 此頁面列出 Direct3D 10 中不再支援的 Direct3D 9 功能。
Direct3D 10 中最大的功能變更如下:
- Direct3D 10 不再支援固定函式轉換和光源管線。
- Direct3D 10 不再支援固定函式紋理混合器(有時稱為固定函式圖元著色器)。
- Direct3D 10 實作新的點陣化規則,比 Direct3D 9 中實作的舊版 GDI 規則更簡單、更簡潔。 例如,不再支援線條的最後圖元控件。
以下是 Direct3D 9 中已被取代之 Direct3D 10 中功能的完整清單。
Alpha 混合。 Alpha 混合現在程序設計與色彩混合無關。 Direct3D 10 會新增默認啟用 Alpha-blend-enable 切換。 如需詳細資訊,請參閱 狀態物件 (Direct3D 10)。
Alpha 測試。 Alpha 測試是 Direct3D 9 的固定函式像素行為。 Alpha 測試會移至 Direct3D 10 和更新版本的可程式化圖元著色器。 如需在 Direct3D 10 和更新版本中模擬 Direct3D 9 Alpha 測試功能的相關信息,請參閱 2010 年 6 月 DirectX SDK 中的 FixedFuncEMU 範例。
Blend 模式選項。 BOTHSRCALPHA 已從 D3D10_BLEND 中移除,因為它與 BOTHINVSRCALPHA 重複。 如需詳細資訊,請參閱 D3D10_BLEND。
區塊壓縮格式。 Direct3D 10 中預先乘法或非預乘 Alpha 之間沒有區別。 這些 Direct3D 9 格式會對應至下列 Direct3D 10 格式:
Direct3D 9 Direct3D 10 DXT1 BC1* DXT2,DXT3 BC2* DXT4,DXT5 BC3* 如需詳細資訊,請參閱 區塊壓縮 (Direct3D 10)。
裁剪平面。 Direct3D 10 不使用剪輯平面,而是實作剪輯距離和 Null 距離,每個元件最多 8 個元件,最多 2 個頂點屬性的元素。 如需詳細資訊,請參閱 語意 (DirectX HLSL)。 FixedFuncEMU 範例 提供在 Direct3D 10 中模擬剪輯平面的範例。
Dithering。 Direct3D 10 不支援將數據寫入轉譯目標。
中無法使用的固定函式轉換和光源管線。 相反地,您必須使用著色器。 如需詳細資訊,請參閱 著色器階段 (Direct3D 10)。
固定函式紋理混合器(也稱為固定函式圖元著色器)。 相反地,您必須使用著色器。 如需詳細資訊,請參閱 著色器階段 (Direct3D 10)。
填滿模式 已變更。 Direct3D 10 會實作實心和線框填滿模式。 已移除D3DFILLMODE點,請視需要使用幾何著色器模擬點模式。 FixedFuncEMU 範例 提供在 Direct3D 10 中模擬D3DFILLMODE點的範例。 如需詳細資訊,請參閱 D3D10_FILL_MODE 和 著色器階段 (Direct3D 10)。
格式。 硬體可以使用 API 公開的格式。 不再實作亮度格式。
Mipmap 篩選。 已移除選取無篩選模式的選項。 請改用只有單一 Mipmap 的紋理,或將 MaxLOD 取樣器狀態設定為 0。 如需詳細資訊,請參閱 狀態物件 (Direct3D 10)。
調色盤。 應用程式應該改用相依紋理讀取。
像素和頂點著色器模型:1_x、2_x和 3_0。 Direct3D 10 支援著色器模型 4。 如需詳細資訊,請參閱 著色器模型 4。
點 sprites。 請改用幾何著色器。 如需詳細資訊,請參閱 著色器階段 (Direct3D 10)。
點陣化規則。 舊版 GDI 線條點陣化規則會取代為更簡潔、更簡單的規則。 不再支援線條的最後圖元控制件。 如需詳細資訊,請參閱 點陣化規則 (Direct3D 10)。
著色模式。 D3DSHADEMODE(支援平面/古魯德/phong 底紋)已被移除。 Direct3D 10 會實作兩個頂點著色器輸出的插補修飾詞。 如需在 Direct3D 10 中模擬 Direct3D 9 gouraud 和平面陰影模式的範例,請參閱 FixedFuncEMU 範例。
texldp 指令。 應用程式必須實作具有額外 HLSL 語句的投影紋理負載。 如需詳細資訊,請參閱 HLSL 參考。 FixedFuncEMU 範例 提供在 Direct3D 10 中模擬 texldp 的範例。
不再支援紋理座標索引 (TCI) 紋理階段狀態 (D3DTSS_TEXCOORDINDEX)。
三角球迷。 應用程式必須將現有的三角形風扇轉換成三角形清單或三角形帶狀。 若要在舊版 API 中使用 DrawPrimitive 模擬某些行為,請嘗試在 Direct3D 10 中使用 DrawIndexed。 如需詳細資訊,請參閱 基本拓撲 (Direct3D 10)。
W 緩衝處理。 硬體支援不保證;建議應用程式改用高精確度深度緩衝區。 如需詳細資訊,請參閱 設定 Depth-Stencil 功能 (Direct3D 10)。
包裝模式(紋理座標換行)。 紋理位址換行(如包裝、鏡像、夾板等)仍然存在。 請參閱 D3D10_SAMPLER_DESC 與 D3D10_TEXTURE_ADDRESS_MODE。
相關主題