D3DX (Direct3D 9) 中的線條繪圖支援
D3DX 是提供協助程式服務的公用程式程式庫。 它是 Direct3D 元件上方的圖層。
D3DX 支援單圖元寬反鋸齒線。 不再支援線條模式。
線條繪圖庫會使用紋理三角形模擬線條,並假設下列事項:
- 硬體可透過 Direct3D 9 介面取得。
- 至少有一個紋理階段可供使用。
- 使用 64x64 紋理。
- 下列模式可供使用:
- 雙線性篩選
- 固定位址模式
- 包裝位址模式
- Alpha 運算調變
- Alpha 混合 (SRCBLEND = SRC_ALPHA,DESTBLEND = INV_SRC_ALPHA)
- Alpha 測試是否無法使用 Alpha 混合;品質較低的結果
針對多重取樣轉譯目標中的反鋸齒線條轉譯,請使用 ID3DXLine 來產生紋理多邊形。 由反鋸齒線條點陣化所產生的圖元涵蓋範圍值,可調整圖元著色器所計算的圖元 Alpha 值。 若要繪製反鋸齒線,應用程式必須啟用 Alpha 混合,然後必須將D3DRS_ANTIALIASEDLINEENABLE轉譯狀態設定為 TRUE。
功能描述
程式庫支援使用下列線條特徵繪製彩色線條帶,每一個都與任何其他專案無關:
- 線條寬度
- 重複的線條圖樣 (線條模式計數器會以每個 ID3DXLine::D raw 或 ID3DXLine::D rawTransform 呼叫重設。它不會隨行 strip.) 的每個區段重設
- 反鋸齒
- OpenGL 樣式線條
注意
不支援任何轉位。
只有在下列狀況時,程式庫才會使用原生硬體線條繪圖支援 (裝置) :
- 線條寬度為 1。
- 未啟用線條圖樣。
某些硬體支援單圖元寬反鋸齒線,因此程式庫會使用,如果有的話。 D3DCAPS9結構的 LineCaps 成員會列舉線條繪製基本類型的硬體功能。
使用軟體線條繪圖時,每一行都會展開成矩形,並將四個頂點向下傳送至驅動程式。
每一條線段都會以兩個三角形繪製。 基本類型的寬度是指定的寬度加上 1.0,這可能會導致額外的圖元列或欄。 當線條變寬時,紋理中的反鋸齒漸層會變得更粗細,且更不透明紋素會在中間複寫。 漸層會以紋理的 v 方向編碼,通常會沿著 U 方向複寫。 v 的紋理定址模式是固定的。
清單中的每一條線段都可以視為從上一個終點開始的個別線條。
沿著與原始線條長度平行邊緣的反鋸齒品質會受到影響,因為線條變寬。 預期線條寬度大於 32.0 會開始沿著這些邊緣展示成品。
相關主題