源代码
头文件:
#ifndef D3D_TEXTURE_HELPER_H_
#define D3D_TEXTURE_HELPER_H_
#include <d3d8.h>
#include <d3dx8.h>
class D3DTextureHelper
{
public:
D3DTextureHelper();
virtual ~D3DTextureHelper();
void Destroy();
HRESULT LoadTexture(IDirect3DDevice8 * pDevice,
const char * fn);
inline IDirect3DTexture8 * GetTexture()
{ return m_pD3DTexture; }
protected:
IDirect3DTexture8 * m_pD3DTexture;
};
#endif
源码文件:
#include "StdAfx.h"
#include "d3d_texture_helper.h"
D3DTextureHelper::D3DTextureHelper()
: m_pD3DTexture(NULL)
{
}
D3DTextureHelper::~D3DTextureHelper()
{
Destroy();
}
void D3DTextureHelper::Destroy()
{
if (m_pD3DTexture)
{
m_pD3DTexture->Release();
m_pD3DTexture = NULL;
}
}
HRESULT D3DTextureHelper::LoadTexture(IDirect3DDevice8 * pDevice,
const char * fn)
{
return D3DXCreateTextureFromFileEx(
pDevice,
fn,
D3DX_DEFAULT,
D3DX_DEFAULT,
1,
0,
D3DFMT_UNKNOWN,
D3DPOOL_MANAGED,
D3DX_DEFAULT,
D3DX_DEFAULT,
0xFF000000,
NULL,
NULL,
&m_pD3DTexture);
}