Мой пример работает на рабочем столе. Он печатает цвет пикселя с координатами (0, 0) и версией OpenGL:

Но когда я перехожу на Android, при сборке возникают следующие ошибки:
main.cpp:45:27: ошибка: использование необъявленного идентификатора «GL_DRAW_FRAMEBUFFER» main.cpp:50:27: ошибка: использование необъявленного идентификатора «GL_DRAW_FRAMEBUFFER» main.cpp:52:27: ошибка: использование необъявленного идентификатора «GL_READ_FRAMEBUFFER» main.cpp:57:22: ошибка: использование необъявленного идентификатора «GL_READ_FRAMEBUFFER» Я подключил телефон Redmi 4X с помощью USB-кабеля. Это скриншот, который я сделал на ноутбуке с помощью программы scrcpy. На этом снимке экрана показано, что мое устройство поддерживает OpenGL ES 3.2:

// ... переопределение void PaintGL() { glClear (GL_COLOR_BUFFER_BIT); // Установить буфер отрисовки как fbo. Буфер чтения уже является буфером по умолчанию. glBindFramebuffer(GL_DRAW_FRAMEBUFFER, m_fbo->handle()); // Перенос буфера MSAA по умолчанию в fbo без MSAA glBlitFramebuffer(0, 0, m_fbo->width(), m_fbo->height(), 0, 0, m_fbo->ширина(), m_fbo->высота(), GL_COLOR_BUFFER_BIT, GL_NEAREST); glBindFramebuffer(GL_DRAW_FRAMEBUFFER, context()->defaultFramebufferObject()); // Устанавливаем буфер чтения glBindFramebuffer(GL_READ_FRAMEBUFFER, m_fbo->handle()); // Читаем пиксель Глубайтный пиксель[4]; glReadPixels(0, 0, 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, пиксель); // Возвращаем буфер чтения к значению по умолчанию glBindBuffer(GL_READ_FRAMEBUFFER, context()->defaultFramebufferObject()); испускают showPixelColorSignal(QVector3D(пиксель[0]/255.f, пиксель[1]/255.f, пиксель[2]/255.f)); } // ... Вот полный код примера: https://gist.github.com/8Observer8/de2b ... e79cc3b3a2