共用方式為


點陣化規則 (Direct3D 9)

通常,為頂點指定的點不會精確符合螢幕上的圖元。 發生這種情況時,Direct3D 會套用三角形點陣化規則,以決定套用至指定三角形的圖元。

三角形點陣化規則

Direct3D 會使用左上方填滿慣例來填滿幾何。 這是 GDI 和 OpenGL 中用於矩形的相同慣例。 在 Direct3D 中,圖元的中心是決定性點。 如果中央位於三角形內,圖元是三角形的一部分。 圖元中心位於整數座標。

Direct3D 所使用的三角形點陣化規則描述不一定適用於所有可用的硬體。 您的測試可能會在這些規則的實作中發現次要變化。

下圖顯示左上角位於 (0, 0) 且右下角位於 (5, 5) 的矩形。 此矩形會填滿 25 像素,就像您預期的那樣。 矩形的寬度定義為向右減左。 高度定義為底部減去頂端。

數位方塊的圖例分成六個數據列和數據行

在左上方填滿慣例中,頂端 是指水準範圍的垂直位置,而左 是指範圍內圖元的水準位置。 除非邊緣為水平,否則邊緣不能是上邊緣。 一般而言,大部分的三角形只有左邊緣和右邊緣。 下圖顯示上邊緣和右邊緣。

包含兩個三角形的編號方塊圖 圖

左上方填滿慣例會決定當三角形通過圖元中心時,Direct3D 所採取的動作。 下圖顯示兩個三角形,一個在 (0, 0), (5, 0), 和 (5, 5), 另一個在 (0, 5), (0, 0, 0), 和 (5, 5) 。 在此案例中,第一個三角形會取得 15 像素(以黑色顯示),而第二個三角形則只得到 10 圖元(以灰色顯示),因為共用邊緣是第一個三角形的左邊緣。

顯示兩個三角形的編號正方形圖例

如果您定義矩形的左上角位於 (0.5, 0.5) 和右下角 (2.5, 4.5), 此矩形的中心點位於 (1.5, 2.5)。 當 Direct3D 點陣化器鑲嵌此矩形時,每個圖元的中心會明確顯示四個三角形內的每一個,而且不需要左上方填滿慣例。 下圖顯示這一點。 矩形中的像素會根據 Direct3D 包含這些圖元的三角形加上標籤。

顯示編號方塊,其中包含分成四個三角形的矩形。

如果您在上圖中移動矩形,使其左上角位於 (1.0, 1.0),其右下角位於 (3.0, 5.0),而其中心點位於 (2.0, 3.0),Direct3D 會套用左上角填滿慣例。 此矩形中的大多數圖元會跨越兩個或多個三角形之間的框線,如下圖所示。

數位方塊的圖例,其中包含分成四個三角形的矩形

對於這兩個矩形,相同的圖元會受到影響,如下圖所示。

受上述兩個編號方塊影響的圖例

點和線條規則

點會轉譯為點 Sprite,這兩者都轉譯為螢幕對齊的四邊形,因此會遵守與多邊形轉譯相同的規則。

非反鋸齒線轉譯規則與 GDI 行完全相同。

如需反鋸齒線轉譯的相關信息,請參閱 ID3DXLine

點 Sprite 規則

點子精靈和修補基本類型會點陣化,就好像基本類型第一次鑲嵌成三角形,併產生三角形點陣化。 如需詳細資訊,請參閱 Point Sprites (Direct3D 9)

座標系統和幾何