OpenGL текстура, мне не нравится мой BMP - PullRequest
0 голосов
/ 21 ноября 2010

не волнуйтесь, я не хочу спрашивать, как использовать текстуры.:)

Моя проблема: я использую несколько текстур.Но если я хочу изменить имя файла следующим образом:

(LoadBMP("grass.bmp", textureImage[3])) // I can see the grass

на

(LoadBMP("parkett.bmp", textureImage[3])) // No texture, only white color

Оба изображения находятся в одном каталоге, и сообщение об ошибке отсутствует.

Есть идеи?Спасибо Соня (OpenGL, Visual Studio C ++ 2010)

Ответы [ 3 ]

2 голосов
/ 21 ноября 2010

Скорее всего, эти текстуры используют другой формат (.bmp - это не просто один формат), а ваша функция поддерживает только один.

Самое простое и лучшее решение - использовать хорошую библиотеку для загрузки текстур, а не какую-то мистическую LoadBMP. Я рекомендую SOIL - простой загрузчик изображений OpenGL. Просто добавьте его в свой проект, и вы сможете загружать любые bmp, jpg или png текстуры в идентификатор текстуры OpenGL с помощью одного вызов функции.

0 голосов
/ 01 декабря 2010

Являются ли размеры нерабочих текстурных степеней 2 (т. Е. 1, 2, 4, 8, 16, 32, ...)?Если нет, то вот почему это не работает.Либо гамма, либо подушка.

0 голосов
/ 21 ноября 2010

Можно просто предположить, что ваш второй BMP имеет неправильный внутренний формат данных (не BGR или что-то в этом роде). Договорились с Косом - вам следует попробовать использовать некоторые библиотеки для этой цели. Их много - SFML , SDL_image , DevIL ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...