Load textures using OpenGL and Light weight Corona Image I/O





4.00/5 (1 vote)
Corona(http://corona.sourceforge.net/[^]) is an open-source light weight image input/output library that can read, write, and
manipulate image files in just a few lines of code. It can be used to load textures of formats PNG, JPEG, PCX, BMP, TGA, and GIF and output as PNG and TGA files. It well integrates with C and OpenGL.
Here is a code snippet which can be used to load textures:
unsigned int *tTexture;
// corona::OpenImage, where PF_DONTCARE to indicate any Pixel Format(PF) to load as texture, FF_AUTODETECT is Auto detect FileFormat.
Image *image = OpenImage(filename,PF_DONTCARE,FF_AUTODETECT);
if(image == NULL)
{
//Throw error
}
int imWidth = image->getWidth(); //Extract Width of the texture
int imHeight = image->getHeight();
glGenTextures(1,&tTexture[ID]); //Generate single texture (parameter one) and addressed by tTexture[ID]
glBindTexture(GL_TEXTURE_2D,tTexture[ID]); //Make tTexture[ID] current
gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB,imWidth,imHeight,GL_RGB,GL_UNSIGNED_BYTE,image->getPixels());
...
...
delete image;