D3d11'de, ID3D11DeviceContext :: OMSetRenderTargets çoklu oluşturma hedeflerini bağlayabilirsiniz . Ama bunu neden yapmak istesin?
D3d11'de, ID3D11DeviceContext :: OMSetRenderTargets çoklu oluşturma hedeflerini bağlayabilirsiniz . Ama bunu neden yapmak istesin?
Yanıtlar:
Birden çok oluşturma hedefi bağlandığında, bunların her biri piksel gölgelendirici tarafından ayrı ayrı yazılabilir - tüm oluşturma hedeflerinin aynı görüntüyü alması (zorunlu olarak) değildir. Bir çıktıya yalnızca kırmızı bileşeni, sadece diğerine mavi ve benzeri şeyler yazabilirsiniz.
Bu, örneğin ertelenmiş oluşturma gerçekleştirirken kullanılır : konum, normal, renk, vb. Bilgilerin her biri kendi oluşturma hedefine yazılır.
Josh'un bahsettiği gibi ertelenmiş oluşturmada olduğu gibi, birden çok oluşturma hedefi kullanmanın ek yararı, sahnenin geometrisini köşe gölgelendiriciye yalnızca bir kez göndermeniz ve geometriyi, her çıktınız için geometriyi yeniden göndermek yerine farklı piksel gölgelendirici çıktılarına uygulamanızdır. ihtiyaç. Bu, GPU için çok fazla hesaplama süresi kazandırır. Daha hızlı GPU performansı için denge, daha yüksek çerçeve arabelleği tüketimi demektir.