#include "Config.h" #include #include #include #include #include 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); }