次の方法で共有


ラスター化ルール (Direct3D 9)

多くの場合、頂点に指定された点は画面上のピクセルと正確に一致しません。 この場合、Direct3D は三角形ラスター化ルールを適用して、特定の三角形に適用するピクセルを決定します。

三角形ラスター化ルール

Direct3D では、ジオメトリの充填に左上の充填規則が使用されます。 これは、GDI と OpenGL の四角形に使用されるのと同じ規則です。 Direct3D では、ピクセルの中心が決定的なポイントです。 中心が三角形の内側にある場合、ピクセルは三角形の一部です。 ピクセルの中心は整数座標です。

Direct3D で使用される三角形ラスター化ルールの説明は、必ずしも使用可能なすべてのハードウェアに適用されるとは限りません。 テストでは、これらの規則の実装に若干の違いがある可能性があります。

次の図は、左上隅が (0, 0) で、右下隅が (5, 5) の四角形を示しています。 この四角形は、予想どおりに 25 ピクセルを塗りつぶします。 四角形の幅は、右から左を引いた値として定義されます。 高さは、下から上を引いた値として定義されます。

6 つの行と列に分割された番号付きの四角形の図

左上の塗りつぶし規則では、上 水平スパンの垂直方向の位置を参照し、左 はスパン内のピクセルの水平方向の位置を指します。 エッジが水平でない限り、エッジを上端にすることはできません。 一般に、ほとんどの三角形には左右のエッジのみが含まれます。 次の図は、上端と右端を示しています。

2 つの三角形を含む番号付き四角形の図

左上の塗りつぶし規則は、三角形がピクセルの中心を通過するときに Direct3D によって実行されるアクションを決定します。 次の図は、2 つの三角形を示しています。1 つは (0、0)、(5、0)、(5、5)、もう 1 つは (0、5)、(0、0)、(5、5) です。 この場合の最初の三角形は 15 ピクセル (黒で表示) を取得しますが、2 番目の三角形は 10 ピクセル (灰色で表示) のみを取得します。これは、共有エッジが最初の三角形の左端であるためです。

2 つの三角形を示す番号付き四角形の図

左上隅が (0.5, 0.5) で、右下隅が (2.5, 4.5) の四角形を定義する場合、この四角形の中心点は (1.5, 2.5) になります。 Direct3D ラスタライザーがこの四角形をテッセレーションする場合、各ピクセルの中心は 4 つの三角形の内側に明確に含まれており、左上の塗りつぶし規則は必要ありません。 次の図は、これを示しています。 四角形内のピクセルには、Direct3D に含まれる三角形に従ってラベルが付けられます。

4 つの三角形に分割された四角形を含む番号付きの四角形が表示されます。

上の図の四角形を移動して、左上隅が (1.0、1.0)、右下隅 (3.0、5.0)、中心点 (2.0、3.0) になるようにすると、Direct3D は左上の塗りつぶし規則を適用します。 次の図に示すように、この四角形のほとんどのピクセルは、2 つ以上の三角形間の境界線にまたがっています。

4 つの三角形に分割された四角形を含む番号付き四角形の図

次の図に示すように、両方の四角形で同じピクセルが影響を受けます。

前の 2 つの番号付き四角形の影響を受けるピクセルの 図

点と線の規則

ポイントはポイント スプライトと同じようにレンダリングされ、どちらも画面に整列された四角形としてレンダリングされ、多角形レンダリングと同じルールに従います。

アンチエイリアシングされていない線のレンダリング ルールは、GDI 線の場合とまったく同じです。

アンチエイリアシングされた線のレンダリングの詳細については、「ID3DXLine」を参照してください。

ポイント スプライト ルール

ポイント スプライトとパッチ プリミティブは、プリミティブが最初に三角形にテッセレーションされ、結果の三角形がラスター化されたかのようにラスター化されます。 詳細については、「ポイント スプライト (Direct3D 9)」を参照してください。

座標系とジオメトリ