Я пытался создавать текстуры с помощью следующего кода C ++ на Android NDK:
glGenTextures(1, (GLuint*)&index);
glBindTexture(GL_TEXTURE_2D, index);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, cx, cy, 0, GL_RGBA, GL_UNSIGNED_BYTE, (GLvoid*)d);
Это работает некоторое время, а затем программа просто завершается. Там нет сообщений об ошибках или что-нибудь еще. Программа просто заканчивается.
Я пробовал цикл только с созданием требуемых текстур, и он работает, как и ожидалось, если я удаляю строку с помощью команды "glTexImage2D" (конечно, текстуры не создаются и не могут быть использованы тогда), но завершается без предупреждения когда команда есть.
Может ли кто-нибудь дать мне какой-либо совет относительно этого поведения и почему glTexImage2D не просто завершается с ошибкой и возвращает сообщение об ошибке, которое я могу получить с помощью glGetError ();