Aracılığıyla paylaş


Rasterleştirme Kuralları (Direct3D 9)

Genellikle köşeler için belirtilen noktalar ekrandaki piksellere tam olarak uymaz. Bu durumda Direct3D, belirli bir üçgene hangi piksellerin uygulanacağını belirlemek için üçgen rasterleştirme kuralları uygular.

Üçgen Tarama Kuralları

Direct3D, geometriyi doldurmak için sol üst doldurma kuralı kullanır. Bu, GDI ve OpenGL'deki dikdörtgenler için kullanılan kuralla aynıdır. Direct3D'de pikselin merkezi belirleyici noktadır. Orta bir üçgenin içindeyse, piksel üçgenin bir parçasıdır. Piksel merkezleri tamsayı koordinatlarındadır.

Direct3D tarafından kullanılan üçgen tarama kurallarının bu açıklaması tüm kullanılabilir donanımlar için geçerli olmayabilir. Testiniz, bu kuralların uygulanmasındaki küçük varyasyonları ortaya çıkartabilir.

Aşağıdaki çizimde, sol üst köşesi (0, 0) ve sağ alt köşesi (5, 5) olan bir dikdörtgen gösterilmektedir. Bu dikdörtgen beklediğiniz gibi 25 piksel doldurur. Dikdörtgenin genişliği sağ eksi sol olarak tanımlanır. Yükseklik, alt eksi üst olarak tanımlanır.

altı satıra ve sütuna ayrılmış bir numaralandırılmış karenin çizimi

Sol üst doldurma kuralında, üst yatay aralıkların dikey konumuna, sol ise bir span içindeki piksellerin yatay konumuna başvurur. Kenar, yatay olmadığı sürece üst kenar olamaz. Genel olarak, çoğu üçgenin yalnızca sol ve sağ kenarları vardır. Aşağıdaki çizimde üst kenar ve sağ kenar gösterilmektedir.

iki üçgen içeren numaralandırılmış kareyi

Sol üstteki doldurma kuralı, bir üçgen bir pikselin merkezinden geçtiğinde Direct3D tarafından gerçekleştirilen eylemi belirler. Aşağıdaki çizimde biri (0, 0), (5, 0) ve (5, 5) ve diğeri (0, 5), (0, 0) ve (5, 5) şeklinde iki üçgen gösterilmektedir. Bu örnekteki ilk üçgen 15 piksel (siyah olarak gösterilir), ikinci üçgen ise paylaşılan kenar ilk üçgenin sol kenarı olduğundan yalnızca 10 piksel (gri olarak gösterilir) alır.

çizimi

Sol üst köşesi (0,5, 0,5) ve sağ alt köşesi (2,5, 4,5) olan bir dikdörtgen tanımlarsanız, bu dikdörtgenin orta noktası (1,5, 2,5) şeklindedir. Direct3D rasterizer bu dikdörtgeni kapladığında, her pikselin merkezi dört üçgenin her birinin içinde kesin olarak görünür ve sol üst dolgu kuralı gerekmez. Aşağıdaki çizimde bu gösterilmektedir. Dikdörtgendeki pikseller, Direct3D'nin bunları içerdiği üçgene göre etiketlenir.

Dört üçgene ayrılmış bir dikdörtgen içeren numaralandırılmış kareyi gösterir.

Yukarıdaki çizimde dikdörtgeni, sol üst köşesi (1.0, 1.0), sağ alt köşesi (3.0, 5.0) ve orta noktası (2.0, 3.0) olacak şekilde taşırsanız, Direct3D sol üst doldurma kuralını uygular. Bu dikdörtgendeki piksellerin çoğu, aşağıdaki çizimde gösterildiği gibi iki veya daha fazla üçgen arasındaki kenarlıkta yer alır.

dört üçgene ayrılmış bir dikdörtgen içeren numaralandırılmış karenin çizimi

Her iki dikdörtgen için de, aşağıdaki çizimde gösterildiği gibi aynı pikseller etkilenir.

önceki iki numaralandırılmış kareden etkilenen piksellerin çizimi

Nokta ve Çizgi Kuralları

Noktalar, hem ekrana hizalanmış dörtgenler olarak işlenen hem de çokgen işleme ile aynı kurallara bağlı olan nokta spritleriyle aynı şekilde işlenir.

Sıralı olmayan satır işleme kuralları, GDI satırlarıyla tam olarak aynıdır.

Sıralanmamış satır işleme hakkında bilgi için bkz. ID3DXLine.

Nokta Sprite Kuralları

Nokta spriteleri ve düzeltme eki temelleri, ilkeller önce üçgenler halinde mozaiklenmiş ve sonuçta elde edilen üçgenler rasterleştirilmiş gibi rasterleştirilir. Daha fazla bilgi için bkz. Point Sprites (Direct3D 9).

Koordinat Sistemleri ve Geometri