Introduction
The Game Texture Loader is very much just as it says, a library for loading texture formats commonly used in games.
You might be wondering why another texture loading system is needed, after all we have DevIL, Corona, FreeImage and others to load images for us. In asking that question you make a good point, this library doesnt claim to do more than the 3 mentioned, infact it does alot less in some cases, however I feel it offers things the others lack, be it with licencing requirement or just simplicity of useage, which is why I set out to make this library.
GTL Features
- C++ interface
- Very few functions to make loading as simple as possible
- Support the following texture formats :
- BMP
- 16bit and 32bit per pixel
- TGA
- compressed and uncompressed
- PNG
- Including new support for converted palleted images to RGB(A) images, 16bit per channel images and Grey scale/Grey scale with Alpha (experimental)
- JPG
- DDS (compressed images are left compressed, mipmap levels, cubemap and 3D images supported)
- Supported compression types
- DXT1 to 5
- 3Dc
- Supported Image types include
- floating point in 16bit and 32bit
- multiple and single channel data
- NVIDIA normal map formats
- Supported compression types
- BMP
- Support for a wide range of image data formats
- Support for files in compressed archives via PhysFS
- Support for custom read/seek functions for reading from custom sources of data
- All images present the same way up regardless of format, no more flipping needed!
- Boost style autolinking of libs (which can be disabled)
- Support for the following OSes
- Windows (x86 and x64)
- OS X
- Linux support
- Works on little or big-Endian architure
- licensed under the very open zlib/png license for useage by anyone for anything
The GTL, unlike other image loading libraries, doesnt concern its self with anything beyond loading a texture and presenting the end user with a structure from which to access the various infomation about the image loaded. Any functionality beyond that is left in the hands of the application developer as they should know best how they want to use it.
Future Plans
While the GTL is perfectly useable as it is and forefills my basic requirements work wont stop there, features I'd like to add beyond the current release are
- C Interface
- SDL support via SDL_Surface
Credits and Thanks
This library wouldnt have been possible without some help from others
- A HUGE thanks to Markus Henschel for his hard work on the library with adding formats and fixing bug
- Michael P. Jung for his work on the Linux and OS X versions of the code, as well as sorting out all the Endian issues.
- evolutional for pointing me in the right direction for sorting out my compressed TGA loading code
- Sourceforge for hosting the web page and downloads
- Also Rick Appleton and Paulecoyote from the gamedev.net message board for showing an intrest in the project as it progressed, cheers guys.
- Saruman and Zymph from #gamedev for showing much love for the library, cheers guys