-   
- class Texture 
- { 
- public: 
-     Texture(); 
-     ~Texture(); 
-   
-     void Delete(); 
-     void Use(); 
-   
-     bool LoadBMP(char *filename); 
-     bool Make(char *filename); 
- private: 
-     unsigned int ID; 
-     unsigned int width, height; 
- }; 
-   
- Texture::Texture() 
- { 
-     ID = 0; 
- } 
- Texture::~Texture() 
- { 
-     Delete(); 
- } 
-   
- void Texture::Delete() 
- { 
-     if (ID) 
-     { 
-         glDeleteTextures (1, &ID); 
-         ID = 0; 
-     } 
- } 
-   
- void Texture::Use() 
- { 
-     glBindTexture (GL_TEXTURE_2D, ID); 
- } 
-   
- bool Texture::Make(char *filename) 
- { 
-     glGenTextures (1, &ID); 
-     //ID++; 
-     glBindTexture (GL_TEXTURE_2D, ID); 
-     glTexEnvf (GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_MODULATE); 
-     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR); 
-     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR); 
-     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP); 
-     glTexParameteri (GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP); 
-     return true; 
- } 
-   
- bool Texture::LoadBMP(char*filename) 
- { 
-     FILE*Image; 
-     AUX_RGBImageRec *BMP; 
-     if (!filename) 
-     { 
-         MessageBox (NULL, "El nombre del archivo no es valido", "Error", MB_OK | MB_ICONEXCLAMATION); 
-         return false; 
-     } 
-     Image = fopen (filename, "r"); 
-   
-     if (!Image) 
-     { 
-         MessageBox (NULL, "El archivo no existe", "Error", MB_OK | MB_ICONEXCLAMATION); 
-         return false; 
-     } 
-     fclose (Image); 
-     Make (filename); 
-     BMP = auxDIBImageLoad (filename); 
-   
-     width = BMP->sizeX; 
-     height = BMP->sizeY; 
-   
-     glTexImage2D (GL_TEXTURE_2D, 0, 3, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, BMP->data); 
-     delete BMP->data; 
-     delete BMP; 
-     return true; 
- } 
-   
-