2009-04-14 15 views

उत्तर

17

FBO (फ़्रेमबफर ऑब्जेक्ट) एक लक्ष्य है जहां आप डिफ़ॉल्ट फ्रेम बफर या स्क्रीन के अलावा अन्य छवियां प्रस्तुत कर सकते हैं।

PBO (पिक्सेल बफर ऑब्जेक्ट) एसिंक्रोनस डिवाइस से पिक्सेल डेटा के स्थानान्तरण की अनुमति देता है। पिक्सेल स्थानांतरण की प्रतीक्षा करते समय आपके पास अन्य चीजें हैं जो प्रतिपादन करते समय समग्र प्रदर्शन को बेहतर बनाने में मददगार हो सकती है।

12

मैं VBOs, PBOs and FBOs लिखा होगा:

एप्पल नमूना कोड का प्रदर्शन PBOs और FBOs के दो बहुत अच्छा बिट्स पोस्ट किया गया है। भले ही ये मैक-विशिष्ट हैं, नमूना कोड के रूप में वे किसी भी प्लेटफॉर्म पर अच्छे हैं क्योंकि पीबीओ और एफबीओ ओपनजीएल एक्सटेंशन हैं, विंडोिंग सिस्टम एक्सटेंशन नहीं।

तो ये सभी वस्तुएं क्या हैं?

70

FBO और PBO बीच क्या अंतर है: यहाँ स्थिति है?

एक बेहतर सवाल यह है कि वे समान कैसे हैं। उनके बारे में एकमात्र चीज उनके नाम है।

Framebuffer Object (पूंजीकरण नोट करें: फ्रेमबफर एक शब्द है, दो नहीं) एक ऐसी वस्तु है जिसमें एकाधिक छवियां होती हैं जिन्हें लक्ष्य प्रस्तुत करने के रूप में उपयोग किया जा सकता है।

एक Pixel Buffer Object है:

  1. एक Buffer Object। एफबीओ बफर ऑब्जेक्ट्स नहीं हैं। फिर: फ्रेमबफर एक शब्द है।
  2. एक बफर ऑब्जेक्ट जिसका उपयोग एसिंक्रोनस uploading/downloading of pixel data to/from images के लिए किया जाता है।

यदि आप एक बनावट या केवल non-screen framebuffer प्रस्तुत करना चाहते हैं, तो आप एफबीओ का उपयोग करते हैं। यदि आप पिक्सेल डेटा को असीमित रूप से अपने एप्लिकेशन पर वापस पढ़ने की कोशिश कर रहे हैं, या आप पिक्सेल डेटा को ओपनजीएल छवियों को असीमित रूप से स्थानांतरित करने का प्रयास कर रहे हैं, तो आप पीबीओ का उपयोग करते हैं।

वे कुछ भी समान नहीं हैं।

+5

आइए आशा करते हैं कि यह शुद्ध-लिंक उत्तर और (दुर्भाग्य से स्वीकार किए गए) गलत उत्तर से ऊपर-वोट हो जाता है। –

+0

@ क्रिस्टियन राउ: मैंने चेक किया, और ओपी अभी भी नियमित रूप से प्रतीत होता है। तो उम्मीद है कि यह स्वीकार किया जाएगा। –

4

मैं कुछ हाइलाइट करना चाहता हूं।

एफबीओ यह स्मृति ब्लॉक नहीं है। मुझे लगता है कि यह सूचक की संरचना की तरह दिखता है। इसका उपयोग करने के लिए आपको एफबीओ को बनावट संलग्न करनी होगी। अनुलग्नक संलग्न करने के बाद अब आप ऑफस्क्रीन रेंडर के लिए या दूसरे पास प्रभाव के लिए इसे आकर्षित कर सकते हैं।

struct FBO{ 
AttachColor0 *ptr0; 
AttachColor1 *ptr1; 
AttachColor2 *ptr2; 
AttachDepth *ptr3; 
}; 

दूसरी ओर में, PBO स्मृति के प्रकार धारण करने के लिए स्मृति ब्लॉक "ब्लॉक है।"इसे एक्स आकार के मॉलोक के रूप में सोचने का प्रयास करें, फिर आप इसे डेटा से बनावट/एफबीओ या इसके लिए कॉपी करने के लिए memcpy का उपयोग कर सकते हैं।

  • पीबीओ का उपयोग क्यों करें?

होस्ट मेमोरी के साथ इंटरफेस करने के लिए इंटरमीडिएट मेमोरी बफर बनाएं और ओपनजीएल ड्राइंग को रोकें होस्ट पर या उससे बनावट अपलोड नहीं करेगा।

संबंधित मुद्दे