Bildiğim kadarıyla, DX veya GL'de RT 0'ın alfa'sını tüm karıştırma işlemleri için yeniden kullanmanın bir yolu yok. Ne yazık ki, donanım tarafından desteklenen bir şey gibi görünmüyor.
Her oluşturma hedefi için farklı karışım modları yapılandırabilir veya bazıları için karıştırmayı etkinleştirebilir ve diğerleri için devre dışı bırakabilirsiniz; ancak, bir oluşturma hedefi için karıştırma etkinleştirilirse, her zaman kendi alfa değerini kullanır.
Ayrıca , oluşturma hedefinin alfa kanalını değil, piksel gölgelendiriciden tamamen ayrı bir çıktıyla karıştırma için alfa belirtmenize olanak tanıyan "çift kaynaklı karıştırma" ( DX11 doc ve OGL doc adlı ) adlı bir mod da vardır . Ancak bu mod, geçerli donanımda yalnızca bir oluşturma hedefi ile çalışır.
Anlayabildiğim kadarıyla, birkaç alfa hedefini aynı alfa ile karıştırmak için tek seçenek şunlardır:
- Tüm render hedeflerine aynı alfa çıktısı alın (örneğin ertelenmiş gölgelendirme gibi alfa kanalına başka değerler depolayabilme yeteneğinden ödün vererek).
- Çift kaynak harmanlamayı kullanarak her bir oluşturma hedefi için oluşturmayı ayrı bir geçişte tekrarlayın.
- Piksel gölgelendiricideki karıştırmayı yürütmek için İHA'ları / görüntü yükleme deposunu kullanın (yalnızca yarış alanında geometri kendiliğinden çakışmıyorsa çalışır, çünkü yarış koşullarına karşı koruma yoktur; muhtemelen biraz yavaştır).
- Onu destekleyen donanımda, DX11.3 / DX12 Rasterizer-Order Views , NV_fragment_shader_interlock veya INTEL_fragment_shader_ordering (ikincisi AMD GPU'lar tarafından da maruz bırakılır). Bunlar aynı şey için üç isimdir: temel olarak piksel gölgelendiricisinde diğer piksel gölgelendirici çağrılarına göre bir dokuyu atomik olarak okumanıza, değiştirmenize-yazmanıza izin veren bir "kritik bölüm". Temelde keyfi programlanabilir harmanlamayı mümkün kılar, ancak muhtemelen oldukça yavaştır ve sadece son donanımlarda kullanılabilir.