से ओपनजीएल एफबीओ बड़ी बचत की समस्या मैं ओपनजीएल ऑफ़स्क्रीन फ्रेमबफर ऑब्जेक्ट में प्रस्तुत कर रहा हूं और इसे एक छवि के रूप में सहेजना चाहता हूं। ध्यान दें कि एफबीओ प्रदर्शन आकार से बड़ा है। मैं ऑफस्क्रीन बफर में प्रस्तुत कर सकता हूं और इसे बनावट के रूप में उपयोग कर सकता हूं, जो काम करता है। मैं ऑफसेट का उपयोग करके डिस्प्ले के माध्यम से इस बड़े बनावट को "स्क्रॉल" कर सकता हूं, जो मुझे विश्वास दिलाता है कि मैं खिड़की से बड़े संदर्भ में प्रस्तुत करता हूं।विंडो
अगर मैं एक छवि फ़ाइल में ऑफस्क्रीन बफर को सहेजता हूं तो यह हमेशा फसल हो जाता है। बचत के लिए कोड टुकड़ा है:
void ofFBOTexture::saveImage(string fileName) {
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
// get the raw buffer from ofImage
unsigned char* pixels = imageSaver.getPixels();
glReadPixels(0, 0, 1024, 1024, GL_RGB, GL_UNSIGNED_BYTE, pixels);
imageSaver.saveImage(fileName);
}
कृपया ध्यान दें, छवि सामग्री काटी है, दृश्य भाग सही ढंग से सहेजा जाता है कि (जो पिक्सेल प्रारूपों, GL_RGB मुद्दों आदि में कोई त्रुटि का अर्थ है), लेकिन शेष जगह नहीं है एक रंग से भरा
तो, मेरा सवाल है - मैं क्या गलत कर रहा हूं?
मुझे आपके जैसा ही समस्या है। क्या आप विस्तार कर सकते हैं कि आप एफबीओ चर कैसे प्राप्त करते हैं? मुझे नहीं पता कि GlGenFrameBuffers तक पहुंचने के लिए क्या शामिल करना है, जो मुझे लगता है कि इसका उपयोग किया जाता है। –
1. यहां एक अच्छा विवरण है: http://www.songho.ca/opengl/gl_fbo.html – razong
2. ग्लूंट एफबीओ; glGenFramebuffersEXT (1, &fbo); // 1 == glbindFramebufferEXT (GL_FRAMEBUFFER_EXT, fbo) बनाने के लिए fbo की संख्या; – razong