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 測試功能的相關資訊,請參閱 DirectX SDK 2010 年 6 月的 FixedFuncEMU 範例。

  • 混合模式選項。 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 不會使用裁剪平面,而是實作剪輯距離和 cull 距離,每個元件最多 8 個元件,最多 2 個頂點屬性的元素。 如需詳細資訊 ,請參閱 DirectX HLSL (語意) FixedFuncEMU 範例 提供在 Direct3D 10 中模擬裁剪平面的範例。

  • Dithering。 Direct3D 10 不支援將資料寫入轉譯目標。

  • 無法使用的固定函式轉換和光源管線。 相反地,您必須使用著色器。 如需詳細資訊 ,請參閱著色器階段 (Direct3D 10)

  • 固定函式紋理混合器 (也稱為固定函式圖元著色器) 。 相反地,您必須使用著色器。 如需詳細資訊 ,請參閱著色器階段 (Direct3D 10)

  • 填滿模式 已變更。 Direct3D 10 會實作實作實心和線框填滿模式。 已移除 D3DFILLMODE 點,如有必要,請使用幾何著色器模擬點模式。 FixedFuncEMU 範例 提供在 Direct3D 10 中模擬 D3DFILLMODE 點的範例。 如需詳細資訊,請參閱 Direct3D 10) (D3D10_FILL_MODE 和著色器階段

  • 格式。 硬體可以使用 API 公開的格式。 不再實作亮度格式。

  • Mipmap 篩選。 已移除選取無篩選模式的選項。 請改用只有單一 Mipmap 的紋理,或將 MaxLOD 取樣器狀態設定為 0。 如需詳細資訊 ,請參閱狀態物件 (Direct3D 10)

  • 調色盤。 應用程式應該改用相依紋理讀取。

  • 圖元和頂點著色器模型:1_x、2_x和 3_0。 Direct3D 10 支援著色器模型 4。 如需詳細資訊 ,請參閱著色器模型 4

  • 點 Sprite。 請改用幾何著色器。 如需詳細資訊 ,請參閱著色器階段 (Direct3D 10)

  • 點陣化規則。 舊版 GDI 線條點陣化規則會取代為更簡潔、更簡單的規則。 不再支援線條的最後圖元控制項。 如需詳細資訊 ,請參閱點陣化規則 (Direct3D 10)

  • 陰影模式。 已移除支援平面/gouraud/phong 網底) 的 D3DSHADEMODE (。 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_DESCD3D10_TEXTURE_ADDRESS_MODE

(Direct3D 10) API 功能