Я новичок в разработке как openGL, так и Android, поэтому, пожалуйста, простите меня, если мой вопрос очень тривиален.
Я пытаюсь создать простое небольшое приложение, которое принимает входные данные от пользователя в трех EditTexts, представляющих значение от 0 до 100% для каждого компонента цвета RGB, отображаемого в GLSurfaceView.
Уловка в том, что мне это нужно, чтобы использовать openGL ES 2.0, и мне нужно передать данные в программу затенения, используя единообразное значение, чтобы, как только она заработала, я мог перейти к тому, чего я действительно пытаюсь достичь.
Выполнив то, что я написал, я могу заставить GLSurfaceView правильно отображать первый сплошной цвет, но всякий раз, когда я изменяю любое из значений и выполняю вызовы для восстановления единого слота в программе затенения, я получаю эту ошибку в LogCat:
ОШИБКА / libEGL (14316): вызов OpenGL ES API без текущего контекста (регистрируется один раз для каждого потока)
и, конечно, GLSurfaceView остается исходным цветом.
Я повсюду искал решение этой проблемы и, насколько я могу судить, мне, возможно, придется где-то настроить EGLContext, прежде чем настраивать средство визуализации. Однако я ничего не вижу в демонстрациях API по этому поводу, и единственная информация, которую я могу найти в Интернете, была написана до того, как GLSurfaceView был даже доступен.
Нужно ли мне все еще настраивать EGLContext или я что-то пропустил?
Дополнительная информация, которая может помочь:
-использовал XML-файл для настройки пользовательского интерфейса (и, насколько я могу судить, делал это в коде не помогает)
- та же проблема, когда я пытаюсь загрузить новую текстуру с SD-карты в отдельной программе. Я могу заставить первую текстуру работать нормально, но при использовании того же метода для загрузки второй я получаю ту же ошибку и ничего не меняется.