से पिक्सल पढ़ें I मैं एक OpenGL बनावट से पिक्सेल/डेटा पढ़ने की कोशिश कर रहा हूं जो GL_TEXTURE_EXTERNAL_OES से जुड़ा हुआ है।एंड्रॉइड पढ़ने के लिए GL_TEXTURE_EXTERNAL_OES
उस लक्ष्य पर बनावट को बाध्य करने का कारण यह है कि एंड्रॉइड पर लाइव कैमरा फ़ीड प्राप्त करने के लिए एक सतहफलक को ओपनजीएल बनावट से बनाया जाना चाहिए जो GL_TEXTURE_EXTERNAL_OES से जुड़ा हुआ है।
चूंकि एंड्रॉइड ओपनजीएल ES का उपयोग करता है, इसलिए मैं छवि डेटा पढ़ने के लिए glGetTexImage() का उपयोग नहीं कर सकता।
इसलिए मैं एक एफबीओ को लक्ष्य बाध्य कर रहा हूं और फिर इसे readPixels() का उपयोग करके पढ़ रहा हूं।
GLuint framebuffer;
glGenFramebuffers(1, &framebuffer);
glBindFramebuffer(GL_FRAMEBUFFER, framebuffer);
//Attach 2D texture to this FBO
glFramebufferTexture2D(GL_FRAMEBUFFER, GL_COLOR_ATTACHMENT0, GL_TEXTURE_EXTERNAL_OES, cameraTexture, 0);
status("glFramebufferTexture2D() returned error %d", glGetError());
हालांकि मैं हो रही है त्रुटि 1282 (GL_INVALID_OPERATION) किसी कारण: यह मेरा कोड है।
यह सही नहीं है। एंड्रॉइड पर, वाईयूवी-> आरजीबी रूपांतरण दृश्यों के पीछे स्वचालित रूप से होता है। Https://stackoverflow.com/questions/46244179/android-mediacodec-output-format-gles-external-texture-yuv-nv12-to-gles-tex – tmm1