次の方法で共有


ラスター化ルールの概要

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

これは、ラスター化ルールの簡単な概要です。 詳細については、「 ラスター化ルール」を参照してください。 ラスタライザー (RS) ステージも参照してください。

三角形ラスター化ルール

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 つ以上の三角形間の境界線にまたがっています。

番号付き四角形と、その中の長方形が下に移動し、右に移動されたスクリーンショット。

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

前の 2 つの番号付き正方形の影響を受けるピクセル

点と線の規則

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

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

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

ポイント スプライトとパッチ プリミティブは、プリミティブが最初に三角形にテッセレーションされ、結果の三角形がラスター化されたかのようにラスター化されます。

デバイス

ラスタライザー (RS) ステージ

ラスター化ルール