Ответ 1
Страница для страницы glGenTextures говорит также, glIsTexture; последний (в соответствии с этим) всегда возвращает GL_FALSE
для имени текстуры 0. Таким образом, 0 не может быть допустимым именем текстуры.
glGenTextures(1, &textureid);
Предполагая, что текстура была создана успешно, может быть текстурировано 0?
Страница для страницы glGenTextures говорит также, glIsTexture; последний (в соответствии с этим) всегда возвращает GL_FALSE
для имени текстуры 0. Таким образом, 0 не может быть допустимым именем текстуры.
Из OpenGL Spec 3.1: на странице 157:
Если объект текстуры удален, он как бы все текстурные единицы, привязанные к этому объект текстуры отскакивает до нулевого объекта текстуры.
Мне кажется, что нулевая именованная текстура является специальной
Правильный способ проверки ошибок в OpenGL обычно вызывает вызов glGetError. Затем вы можете проверить оба условия ошибки, перечисленные в описании glGenTextures. Как уже упоминалось, вы можете вызвать glIsTexture, чтобы проверить, действительно ли заданная текстура.
Абсолютно нет.