rendered paste body
#include "Config.h"
#include <SDL/SDL.h>
#include <SDL/SDL_opengl.h>
#include <SDL/SDL_main.h>
#include <IL/il.h>
#include <GL/gl.h>
using namespace std;
ilInit();
class Texture
{
public:
Texture(char fileloc);
~Texture();
GLuint getTexture() { return Image; }
private:
GLuint Image;
char Location;
};
Texture::Texture(char fileloc)
{
Location = fileloc;
ILuint ImageID;
ilGenImages(1, &ImageID);
ilBindImage(ImageID);
ILboolean works;
works = ilLoadImage(Location);
if (works)
{
works = ilConvertImage(IL_RGB, IL_UNSIGNED_BYTE);
if (!works)
{
printf("Error loading texture");
return;
}
glGenTextures(1, &Image);
glBindTexture(GL_TEXTURE_2D, Image);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
interpolation for magnification filter
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
interpolation for minifying filter
glTexImage2D(GL_TEXTURE_2D, 0, ilGetInteger(IL_IMAGE_BPP), ilGetInteger(IL_IMAGE_WIDTH),
ilGetInteger(IL_IMAGE_HEIGHT), 0, ilGetInteger(IL_IMAGE_FORMAT), GL_UNSIGNED_BYTE,
ilGetData());
}
else
{
printf("Error loading texture");
return;
}
ilDeleteImages(1, &texid);
}
Texture::~Texture()
{
glDeleteTextures(1, &Image);
}