का उपयोग कर फ़्रेम बफर ऑब्जेक्ट (एफबीओ) से पिक्सल मानों को पढ़ना, क्या मैं एफबीओ से पिक्सेल मानों (यानी glReadPixels का उपयोग करके) पढ़ने के लिए पिक्सेल बफर ऑब्जेक्ट (पीबीओ) का उपयोग कर सकता हूं (यानी एफबीओ अभी भी संलग्न)?पिक्सेल बफर ऑब्जेक्ट (पीबीओ)
यदि हाँ,
- फायदे और FBO साथ PBO का उपयोग करने का नुकसान क्या हैं?
- कोड निम्नलिखित
{
//DATA_SIZE = WIDTH * HEIGHT * 3 (BECAUSE I AM USING 3 CHANNELS ONLY)
// FBO and PBO status is good
.
.
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, fboId);
//Draw the objects
बाद glReadPixels के साथ समस्या क्या है ठीक
glReadPixels(0, 0, screenWidth, screenHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, (uchar*)cvimg->imageData);
बाद glReadPixels काम करता है काम नहीं करता है :(
glBindBufferARB(GL_PIXEL_PACK_BUFFER_ARB, pboId);
//yes glWriteBuffer has also same target and I also checked with every possible values
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
glReadPixels(0, 0, screenWidth, screenHeight, GL_BGR_EXT, GL_UNSIGNED_BYTE, (uchar*)cvimg->imageData);
.
.
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0); //back to window framebuffer
नीचे है मैं समझ नहीं है, तुम मुझे उदाहरण कोड काम उपलब्ध कराएं? क्योंकि 'glReadPixels' में ऑफसेट प्रदान करने का कोई विकल्प नहीं है। और, [उदाहरण] (http://www.songho.ca/opengl/gl_pbo.html) आपके द्वारा उल्लेखित किसी भी चीज का उपयोग न करें लेकिन अभी भी पीबीओ के साथ ठीक काम करता है। – Rudi
@Rudi ने मेरा उत्तर अपडेट किया। –
@ रुडी मुझे उम्मीद है कि आप इसमें लिखने की कोशिश करने से पहले पीबीओ को बाध्य करेंगे। –