Loading images from files is outside the scope of the OpenGL specification. It is handled by user-made code, or image handling libraries
Single Format Libraries
- libpng: The official library for loading PNG files. It is very widely used. Many other libraries use this to handle PNG.
- libjpg: A library for loading JPEG (or JPG) files. As with libpng, other libraries use libjpg to handle JPEG.
- libktx: Library for the KTX file format. The KTX format is closely related to OpenGL, but not used by most tools. LibKTL also has functions to take a loaded KTX image and convert it into an OpenGL texture.
Multi Format Libraries
- GLAUX : DO NOT USE THIS! This is a very old library that should not be used anymore. Most people who encounter GLAUX are people who see the NeHe tutorials which haven't been updated in years. NeHe uses auxDIBImageLoad() in order to read BMP files. GLAUX is no longer available.
LAST UPDATE: Not Recorded
- DevIL: DevIL stands for Developers Image Library. It supports many image formats for reading and writing, it supports several compilers and OS (Win, Linux, Mac OSX). The library has a OpenGL-like syntax. It has not been updated recently.
LAST UPDATE: March 08, 2009
- FreeImage: FreeImage is an cross-platform image-loading library, with very wide support for image formats (including some HDR formats like OpenEXR).
LAST UPDATE: March 17, 2012
- SOIL: SOIL ( Simple OpenGL Image Loader ) is a public-domain cross-platform image loader that's extremely small.
LAST UPDATE: July 7, 2008
- GLI: GLI( OpenGL Image ) is a small cross-platform C++ image library able to load DDS textures (DDS9 and DDS10), compressed or uncompressed. It is licensed under the MIT license.
LAST UPDATE: February 08, 2011
- Unofficial OpenGL SDK: The GL Image component of the SDK is a C++ library for loading images. It currently supports DDS9 textures (and compression), PNG, JPEG, TGA, BMP, and GIF formats.
LAST UPDATE: August 10, 2012