Загрузка растровых изображений (.bmp) и изображений netpbm (.pbm, pgm, .pnm) довольно тривиальна, поскольку они хранят изображения без сжатия. Для загрузки PNG используйте libpng . Для загрузки файлов JPEG используйте libjpeg . Для других типов изображений используйте соответствующую библиотеку. Есть хорошее изменение, что добавление 'lib' к началу имени изображения даст вам такую библиотеку, например, libtiff, libtga и т. д.
После того, как вы загрузили и распаковали необработанные данные изображения, загрузка их в текстуру OpenGL - это просто вызов glTexImage2D()
с правильными параметрами и пара других изменений состояния GL ( например, как сделать mipmapping).