Это сработало для меня, с этим учебным кодом:
- Откройте ваше изображение в GIMP
- Перейдите в Layer / Transparency / Remove Alpha Channel.Если он уже удален, опция будет выделена серым, что нормально.Если у вас есть несколько слоев, сделайте это для всех них.(Вы ДОЛЖНЫ удалить альфа-канал, иначе GIMP напишет RGBA вместо RGB, и вы просто увидите повторяющуюся решетку вместо вашего изображения.)
- Файл / Сохранить как ... и в самомвнизу всплывающего окна сохранения есть опция «Выбрать тип файла (по расширению)» с (+).Разверните его.
- Выберите Необработанные данные изображения
- В верхней части всплывающего окна сохранения вручную укажите расширение файла .raw и сохраните его.Нажмите кнопку ОК, чтобы принять параметры по умолчанию.
Затем вы сможете сохранить его, переместить в каталог вашей программы и прочитать с помощью кода из этого руководства.
Также, чтобы спасти себя от другого источника головной боли, я предлагаю добавить сообщение об ошибке, если файл не найден, например заменить строку
if ( file == NULL ) return 0;
на
if ( file == NULL ){
printf("texture file not found.");
return 0;
}