Я пишу игру, используя Android ndk. Я использую выбор для выбора объектов в OpenGL.
Для этого у меня есть объект закадрового кадрового буфера, в который я рендеринг, и я использую glReadPixels (), чтобы получить цвет от FBO. Затем цвет кодирует идентификатор выбранного объекта.
Проблема в том, что glReadPixels () не работает. Он просто не читает никаких значений цвета.
Есть ли что-то, что я должен сделать, чтобы это работало?
GLubyte pixel[4] = {0,0,0,0};
glReadPixels(x, y , 1, 1, GL_RGBA, GL_UNSIGNED_BYTE, (void *)pixel);
Вот как я пытаюсь использовать readpixels. Но результат всегда (0,0,0,0).
Я проверил координаты (х, у). Они в порядке. Комбинация GL_RGBA, GL_UNSIGNED_BYTE также должна поддерживаться любой реализацией opengl es 2.0, согласно документации opengl.
Я прочитал кое-что о разрешениях, которые я должен установить в манифесте Android.
Я пытался добавить разрешение, как это:
<uses-permission android:name="android.permission.READ_FRAME_BUFFER"/>
но это тоже не сработало.
Кто-нибудь знает, каким может быть решение? или где я могу посмотреть?