共用方式為


D3DX 中的線條繪圖支援 (Direct3D 9)

D3DX 是一個提供輔助功能的工具庫。 它是 Direct3D 元件上方的圖層。

D3DX 支援單像素寬的反鋸齒線。 不再支援線條模式。

線條繪圖庫會使用紋理三角形模擬線條,並假設下列事項:

  • 硬體可透過 Direct3D 9 介面取得。
  • 至少有一個紋理階段可供使用。
  • 使用 64x64 紋理。
  • 下列模式可供使用:
    • 雙線性篩選
    • 固定位址模式
    • 環繞位址模式
    • Alpha op 調變
    • Alpha 混合(SRCBLEND = SRC_ALPHA,DESTBLEND = INV_SRC_ALPHA)
    • 若無法進行 Alpha 混合,則進行 Alpha 測試,結果品質較低。

針對多重取樣的渲染目標中的反鋸齒線轉譯,請使用 ID3DXLine 來產生紋理多邊形。 由反鋸齒線條點陣化所產生的像素涵蓋範圍值,會調整圖元著色器所計算的圖元 Alpha 值。 若要繪製反鋸齒線,應用程式必須啟用 Alpha 混合,然後必須將 D3DRS_ANTIALIASEDLINEENABLE 轉譯狀態設定為 TRUE

功能描述

函式庫支援使用下列線條特徵繪製彩色線條帶,每一個線條特徵是彼此獨立的。

  • 線條寬度
  • 重複性線條圖案(線條圖樣計數器在每次呼叫 ID3DXLine::DrawID3DXLine::DrawTransform 時會重設。它在每個線段區段中不會重設。)
  • 反鋸齒
  • OpenGL 樣式線條

注意

不支援拼接切割。

 

函式庫僅在下列情況下使用裝置中的原生硬體線條繪圖支援(如果可用的話)

  • 線條寬度為 1。
  • 未啟用線條模式。

某些硬體支援單像素寬的抗鋸齒線,因此如果可以,該庫會使用此技術。 D3DCAPS9 結構的LineCaps成員會列舉線條繪製基本類型的硬體功能。

使用軟體線條繪圖時,每一行都會展開成矩形,並將四個頂點向下傳送至驅動程式。

每一條線段都會使用兩個三角形繪製。 原始圖形的寬度為指定的寬度加上 1.0,這可能會導致額外的像素列或行。 當線條變寬時,紋理中的反鋸齒漸層會變得更粗,中間會複製更多完全不透明的像素。 漸層是以紋理的 v 方向編碼,通常會沿著 u 方向重覆呈現。 v 的紋理尋址模式為夾緊。

清單中的每一行區段都可以視為從上一個終點開始的個別行。

沿著與原始線條長度平行的邊緣,反鋸齒品質會隨著線條變寬而下降。 預計當線條寬度超過 32.0 時,這些邊緣會開始出現偽影。

D3DX