Почему не работает связывание текстуры?
Точное описание поведения, которое вы видите, или, лучше, прикрепление URL-адреса к скриншоту, имеет большое значение при решении графических вопросов.
Далее вам нужно включить состояние ошибки gl или хотя бы продемонстрировать, что в коде, который вы проверяете и не выполняете, если glGetError () не возвращает GL_NO_ERROR.
Ваше состояние элемента VBO / draw выглядит разумно, хотя вы намеренно опустили определение объекта буфера индекса, поэтому мы будем полагать, что вы отправляете реальные индексы в вызов glDrawElements (). Для проверки работоспособности выполните вызов glDrawElements () с указателем необработанных индексов, а не привязывайте VBO для элементов.
Вы также опустили определение типа Vertex, которое необходимо для того, чтобы узнать, соответствуют ли смещения, которые вы предоставляете для glTexCoordPointer (), определению структуры.
Наконец, я предполагаю, что большинство людей на форуме не знают «свободного изображения», которое, как я полагаю, является тем, что, как вы заявили, вы используете для загрузки текстур. Если есть проблема с текстурированием, ее невозможно увидеть из-за непрозрачной природы использования сторонней библиотеки для настройки текстурирования от вашего имени.
Если они перепутали идентификаторы текстуры, установите режим обтекания, который не поддерживается, не устанавливайте фильтр минимизации в соответствии с ожидаемым отображением (вкл / выкл), не включайте текстурирование, или устанавливайте режим среды текстур таким образом, чтобы модуляция с цветом основной геометрии не такая, как вы ожидаете - все это приведет к тому, что текстурирование не сработает / будет работать.
Для устранения неполадок просто используйте библиотеку для загрузки текстуры и используйте ID текстуры, который они предоставляют. Затем настройте режимы фильтра и текстуру среды самостоятельно. Отключите отображение в процессе поиска неисправностей. Неполные цепочки mipmap - очень распространенная ошибка при текстурировании.
Вы также можете отключить операции для каждого фрагмента, чтобы упростить устранение неполадок. Отключить смешивание, проверку глубины и ножницы.
Предполагая, что ваша текстура является силой двух измерений или ваша реализация поддерживает NPOT, попробуйте эти параметры немедленно перед рисованием:
glDisable (GL_DEPTH_TEST);
glDisable (GL_BLEND); * * тысяча двадцать шесть
glDisable (GL_SCISSOR_TEST); * * тысяча двадцать-семь
glColor4f (1,0f, 1,0f, 1,0f, 1,0f);
glBindTexture (GL_TEXTURE_2D, texID);
glTexEnvi (GL_TEXTURE_ENV_MODE, GL_REPLACE); // отключаем модуляцию
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR); // отключаем мипмаппинг
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); // отключаем повторы
glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);