///////////////////////////////////////////////////////////////////////////////
// TextureID
// - "Smart" wrapper for managing OpenGL textures
// - Automatically frees texture when destroyed
///////////////////////////////////////////////////////////////////////////////
class TextureID
{
public:
GLenum id;
// Construct a Texture object with no id number
inline TextureID()
// Create a new OpenGL Texture ID
inline void create()
// Deallocate the Texture ID (if one was created)
inline void clear()
// Return the ID number and drop the TextureID contents without freeing the texture.
inline GLenum detach()
// Assign the Texture ID number from a GLenum (be careful not to deallocate the other one!)
inline void operator =(GLenum newID)
// Extract the Texture ID number from the class
inline operator GLenum() const
// Destroy the Texture (deallocate the ID)
inline ~TextureID()
};