Единственный предел для glGenTextures определяется шириной в битах имени текстуры ( GLint ), которая составляет 32 бита; действительно, количество имен текстур может быть таким большим, что у вас, вероятно, никогда не возникнет проблем при генерации имен текстур.
Ограничение для текстур ограничено памятью графической системы. Реализация OpenGL знает размер и формат текстуры только тогда, когда приложение отправляет данные текстуры с использованием glTexImage2D (и других функций glTexImage *, если они доступны), которые определяют ширину, высоту и внутренний формат текстуры: имея эти параметры Можно определить объем памяти, необходимый для хранения данных текстуры.
Чтобы проверить ошибки, вы должны запросить ошибку OpenGL, используя glGetError , которая возвращает GL_OUT_OF_MEMORY, если операции не удается выделить необходимую память. Эта ошибка также может быть возвращена glGenTextures и glTexImage2D и т. Д.
Эта ошибка, скорее всего, будет возвращена glTexImage2D и т. Д., Поскольку память, необходимая для выделения текстуры, намного больше, чем память, необходимая для маркировки имени текстуры как используемого.