Birden Çok İşleme Hedefi (Direct3D 9)
Birden çok İşleme Hedefi (MRT), tek bir çizim çağrısıyla birden çok yüzeye işleme özelliğini ifade eder (bkz. IDirect3D9Surface). Bu yüzeyler birbirinden bağımsız olarak oluşturulabilir. İşleme hedefleri IDirect3DDevice9::SetRenderTargetkullanılarak ayarlanabilir.
Birden çok işleme hedefi aşağıdaki kısıtlamalara sahiptir:
Birlikte kullanılan tüm işleme hedef yüzeylerinin aynı bit derinliğine sahip olması gerekir, ancak D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS üst sınır ayarlanmadığı sürece farklı biçimlerde olabilir.
Birden çok işleme hedefinin tüm yüzeyleri aynı genişliğe ve yüksekliğe sahip olmalıdır.
Z testi ve kalıp testi dışında bazı uygulamalar birden çok işleme hedefinde piksel sonrası gölgelendirici işlemleri gerçekleştiremez: titreme yok, alfa testi, fogging yok, karıştırma veya maskeleme yok. Piksel sonrası gölgelendirici işlemlerini destekleyebilecek cihazlar, üst sınır bitini D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING olarak ayarlar.
D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING üst sınırı ayarlandığında, önce belirli yüzey biçimi için USAGE_QUERY_POSTPIXELSHADER_BLENDING sonucuyla IDirect3D9::CheckDeviceFormatbaşvurmanız gerekir. False ise, bu belirli yüzey biçimi için piksel sonrası gölgelendirici karıştırma işlemi kullanılamaz. Doğruysa, cihazın tüm eşzamanlı işleme hedeflerine aşağıdaki gibi aynı durumu uygulaması beklenir:
- Alfa karışımı: oCi'deki renk değeri, ith işleme hedefiyle karıştırılır.
- Alfa testi: Karşılaştırma oC0 ile gerçekleşir. Karşılaştırma başarısız olursa, piksel testi tüm işleme hedefleri için sonlandırılır.
- Sis: İşleme hedefi 0 tıkanır. Diğer işleme hedefleri tanımlanmamıştır. Uygulamalar, aynı durumu kullanarak hepsini sislemeyi seçebilir.
- Titreyen: Tanımsız.
Hiçbir antialiasing desteklenmez.
Bazı uygulamalar çıkış yazma maskesini (D3DRS_COLORWRITEENABLE) uygulamaz. Bunu yapabilecekler, bağımsız renkli yazma maskelerine sahiptir. Bu, yeni bir yetenek biti kullanılarak ifade edilir. Kullanılabilir bağımsız renk yazma maskelerinin sayısı, cihazın yapabildiği en fazla öğe sayısına eşit olacaktır.
Yeni donanım üst sınırı:
D3DCAPS9.NumSimultaneousRTs
// The value is 1 for all hardware except those that
// can support this feature. It is never 0.
D3DPMISCCAPS_MRTINDEPENDENTBITDEPTHS - True if the hardware can support it
D3DPMISCCAPS_MRTPOSTPIXELSHADERBLENDING - True if the hardware can support it
İlgili konular