Проблемы с наложением текстур в OpenGL - PullRequest
1 голос
/ 22 мая 2011

У меня проблемы с отображением текстур в OpenGL. Вот ссылка на модель, которую я сейчас пытаюсь загрузить корректно с этими текстурами .

Теперь вот ссылка на каталог, где все связанные файлы: http://karvis.kapsi.fi/

Проблема видна из img1.jpg

Эта область, которую я пометил красным, не должна отображаться с текстурой, как вы можете видеть из трехмерной модели склада. Проблема в том, что по какой-то причине вся модель отображается, хотя должны быть области без текстур. Также есть та же модель без текстур: img2.jpg

И вот код, который я компилирую: main.cpp. Я использую Asset Import Library для импорта моделей Collada и FreeImage для конвертации изображений в RGB-формат.

Кто-нибудь знает, почему это происходит? Может быть, я передаю неверные параметры в OpenGL или это так, как я загружаю эти текстуры или что-то в этом роде?

1 Ответ

2 голосов
/ 22 мая 2011

Перед рендерингом текстуры вам необходимо сделать:

glEnable(GL_TEXTURE_2D);
glBindTexture(...);
//render the texture

После окончания рендеринга текстуры, вам необходимо отключить текстуру:

glDisable( GL_TEXTURE_2D );

Все, что я вижу в вашем кодечто вы включаете 2d текстуру в начале программы.

Просматривая свой код дальше, проверьте, будет ли это:

if(mesh->HasTextureCoords(0))

возвращать true или false для области, где вам не нужны текстурыбыть оказанным.

...