जहाँ तक मुझे पता है कि सभी सम्मिश्रण कार्यों के लिए RT 0 के अल्फ़ा को पुनः उपयोग करने के लिए DX या GL में से कोई भी तरीका नहीं है। दुर्भाग्य से, यह ऐसा कुछ नहीं है जो हार्डवेयर द्वारा समर्थित है।
आप प्रत्येक रेंडर टारगेट के लिए अलग-अलग ब्लेंड मोड कॉन्फ़िगर कर सकते हैं, या कुछ के लिए ब्लेंडिंग को सक्षम कर सकते हैं और दूसरों के लिए अक्षम कर सकते हैं; हालाँकि, यदि रेंडरिंग लक्ष्य के लिए सम्मिश्रण सक्षम है, तो यह हमेशा अपने स्वयं के अल्फ़ा का उपयोग करता है।
"डुअल-सोर्स ब्लेंडिंग" ( डीएक्स 11 डॉक और ओजीएल डॉक्टर देखें ) नामक एक मोड भी है , जो आपको पिक्सेल शेडर से पूरी तरह से अलग आउटपुट के साथ अल्फा को निर्दिष्ट करने की अनुमति देता है, न कि लक्ष्य के अल्फा चैनल को रेंडर करता है। हालाँकि, यह मोड केवल वर्तमान हार्डवेयर पर एक रेंडर लक्ष्य के साथ काम करता है।
जहाँ तक मैं बता सकता हूँ, एक ही अल्फा के साथ कई रेंडर टारगेट सम्मिश्रण करने के लिए एकमात्र विकल्प हैं:
- सभी रेंडर टार्गेट पर एक ही अल्फ़ा आउटपुट करें (अल्फ़ा चैनल के अन्य मानों को स्टोर करने की क्षमता का त्याग करते हुए, जैसा कि आप आस्थगित छायांकन में करेंगे, उदाहरण के लिए)।
- दोहरे-स्रोत सम्मिश्रण का उपयोग करके, प्रत्येक रेंडर लक्ष्य के लिए एक अलग पास में रेंडरिंग दोहराएं।
- पिक्सेल शेडर में सम्मिश्रण निष्पादित करने के लिए यूएवी / इमेज लोड-स्टोर का उपयोग करें (केवल काम करता है यदि ज्यामिति स्क्रीन स्पेस में गैर-स्व-अतिव्यापी है, क्योंकि दौड़ की स्थिति के खिलाफ कोई सुरक्षा नहीं है; शायद थोड़े धीमे भी)।
- इसका समर्थन करने वाले हार्डवेयर पर, DX11.3 / DX12 Rasterizer- आदेश दृश्य , NV_fragment_shader_interlock , या INTEL_fragment_shader_ordering (बाद में AMD GPUs द्वारा उजागर)। एक ही चीज़ के लिए ये तीन नाम हैं: मूल रूप से पिक्सेल shader में एक "महत्वपूर्ण खंड" जो आपको अन्य पिक्सेल shader इनवोकेशन के संबंध में एक बनावट को पढ़ने-संशोधित-लिखने देता है। यह अनिवार्य रूप से मनमाने ढंग से प्रोग्रामिंग सम्मिश्रण को सक्षम बनाता है, लेकिन यह संभवतः काफी धीमा है, और केवल हाल के हार्डवेयर पर उपलब्ध है।