Класс CTexture

Как я упоминал ранее, класс текстур используется мной для хранения данных Почему я использую отдельный класс текстур? Я думаю, что такой подход упрощает переход к новым версиям DirectX. Вместо того, чтобы изменять во многих местах тип указателя на текстуру, я просто внесу изменения в класс текстуры. Кроме того, это позволяет мне абстрагироваться от используемых методов загрузки. Взгляните как выглядит заголовок класса:

class CTexture
{
public:
// Название текстуры
char m_szName[64];
// Указатель на текстуру
LPDIRECT3DTEXTURE9 m_pTexture;
// Указатель на устройство Direct3D для загрузки текстуры
LPDIRECT3DDEVICE9 m_pd3dDevice;

CTexture();
~CTexture();
virtual void vLoad(char *szName);
virtual void vRelease(void);
virtual void vSetRenderDevice(LPDIRECT3DDEVICE9 pd3d);
};

Класс не очень сложен, поскольку он всего лишь загружает и хранит данные текстуры.