D3d11 में, आप कई रेंडर टारगेट को बांध सकते हैं ID3D11DeviceContext :: OMSetRenderTgets । लेकिन आप ऐसा क्यों करना चाहेंगे?
D3d11 में, आप कई रेंडर टारगेट को बांध सकते हैं ID3D11DeviceContext :: OMSetRenderTgets । लेकिन आप ऐसा क्यों करना चाहेंगे?
जवाबों:
जब कई रेंडर टारगेट बंधे होते हैं, तो वे प्रत्येक को अलग-अलग पिक्सेल shader द्वारा लिखे जा सकते हैं - यह (जरूरी नहीं) कि सभी रेंडर टार्गेट को एक ही इमेज मिलेगी। आप एक आउटपुट में केवल लाल घटक लिख सकते हैं, केवल दूसरे में ब्लू, एट सेटेरा।
इसका उपयोग तब किया जाता है जब उदाहरण के लिए स्थगित प्रतिपादन को लागू करना : स्थिति, सामान्य, रंग, एट सेटेरा जानकारी प्रत्येक को अपने स्वयं के प्रस्तुत लक्ष्य के लिए लिखा जाता है।
कई रेंडर टारगेट का उपयोग करने के लिए अतिरिक्त लाभ, जैसा कि जोश में उल्लिखित प्रतिपादन में है, यह है कि आप दृश्य की ज्यामिति को केवल एक बार वर्टीकल शेल्डर में भेजते हैं और इसे हर पिक्सेल के लिए ज्यामिति को फिर से भेजने के बजाय, अलग-अलग पिक्सेल शेडर आउटपुट पर लागू करते हैं। जरुरत। यह GPU के लिए बहुत गणना समय बचाता है। तेजी से GPU के प्रदर्शन के लिए व्यापार बंद फ्रेम बफर मेमोरी की अधिक खपत है।