// Texture.h: interface for the CTexture class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TEXTURE_H__FE0635BD_606D_4A3B_AA52_247EB7DC6BD7__INCLUDED_)
#define AFX_TEXTURE_H__FE0635BD_606D_4A3B_AA52_247EB7DC6BD7__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

// Necesaria para leer ficheros BMP
#include <GL/glaux.h>

class CTexture
{
	GLuint m_nID;

public:
	CTexture();
	virtual ~CTexture();

	// Crea la textura RGB, a partir de un fichero BMP
	bool Create( const char *filename );

	// Crea la textura RGBA, a partir de dos ficheros BMP
	//  el primero contiene RGB el segundo AAA
	bool Create( const char *filenameRGB,  const char *filenameAlpha);

	// Libera la textura
	void Destroy();

	void Enable();   // Activa la textura
	void Disable();  // Desactiva la textura

private:
	bool m_bCreated;  // cierto si se ha creado
	bool m_bAlpha;    // cierto si es una textura RGBA

	// Carga BMP, solo funciona bajo WINDOWS
	AUX_RGBImageRec *LoadBMP(const char *Filename);

};

#endif // !defined(AFX_TEXTURE_H__FE0635BD_606D_4A3B_AA52_247EB7DC6BD7__INCLUDED_)
