2012-02-16 18 views
5

वर्तमान में मेरे पास एकाधिक पास का उपयोग करके एक प्रतिपादन इंजन है जिसमें छवि के विभिन्न हिस्सों को बनावट पर प्रस्तुत किया जाता है, और फिर शेडर्स का उपयोग करके संयुक्त किया जाता है। यह काम करता है, और अब मैं बहु-नमूना सक्रिय करना चाहता हूं।बहु-नमूने बनावट पर फ़्रेमबफर ऑब्जेक्ट्स को कैसे प्रस्तुत करें?

मैंने यहां पढ़ा है (http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA) कि ओपनजीएल के साथ, आप फ्रेमबफर ऑब्जेक्ट में GL_TEXTURE2D_MULTISAMPLE संलग्न नहीं कर सकते हैं।

यह बहु-नमूनाकरण का उपयोग करने का एक तरीका प्रतीत होता है और अभी भी परिणाम तक पहुंच है क्योंकि बनावट बहु-नमूना रेंडर बफर का उपयोग करना है, और फिर परिणाम को एक बहुआयामी बनावट में कॉपी करें।

मेरा प्रश्न है: आगे जाने का सबसे अच्छा तरीका क्या होगा?

  • क्या एक रेंडर बफर में प्रस्तुत करना संभव है और बनावट में प्रतिलिपि किए बिना मेरे शेडर में आउटपुट का उपयोग करना संभव है?
  • क्या मुझे वास्तव में बफर की सामग्री को बनावट में कॉपी करना चाहिए, और फिर इसका उपयोग करना चाहिए?
  • क्या कोई और बेहतर, समाधान है?

धन्यवाद।

उत्तर

6

मैं यहाँ (http://www.opengl.org/wiki/Framebuffer_Object_Examples#MSAA) कि, ओपन के साथ, आपको फ्रेमबफर ऑब्जेक्ट में एक GL_TEXTURE2D_MULTISAMPLE अनुलग्न नहीं कर सकते पढ़ें।

इसे फिर से पढ़ें। यह GL_TEXTURE_2D_MULTISAMPLE बनावट के बारे में कुछ भी नहीं कहता है। असल में, मैं इसे वापस लेता हूं: उस पृष्ठ को फिर से पढ़ें। यदि आप अच्छी एफबीओ जानकारी चाहते हैं, तो the page on Framebuffer Objects पढ़ें जो 3.x व्यवहार बताता है। जिस पृष्ठ से आप लिंक करते हैं वह पुराना है।

EXT दिनों में वापस, आप सभी बहुआयामी रेंडरबफर थे, क्योंकि बहुआयामी बनावट मौजूद नहीं थीं। आप मल्टीस्प्लेड बफर बना सकते हैं, लेकिन आप उनके साथ बनावट नहीं बना सकते। आप केवल उन्हें मार सकते हैं।

3.3 ओपनजीएल में, आप बहुआयामी बनावट बना सकते हैं। और आप उन्हें किसी अन्य बनावट की तरह किसी एफबीओ में संलग्न कर सकते हैं।

+0

उत्तर के लिए धन्यवाद, और इस संसाधन के लिए धन्यवाद जो मुझे अब मिला था और फिर कभी भी आधिकारिक के रूप में पहचाना नहीं गया। – PierreBdR