00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DIRECT3DTEXTURERESOURCE_
00019 #define _DIRECT3DTEXTURERESOURCE_
00020
00021 #include "renderer/Direct3DTextureResourceHandle.h"
00022 #include "resource/Resource.h"
00023
00024 class Direct3DTextureResource : public Resource
00025 {
00026 private:
00027 LPDIRECT3DDEVICE9 m_pD3DDevice;
00028 protected:
00029 virtual ResourceHandle* CreateResourceHandle(const void* pBuffer, const unsigned int nBufferSize, ResourceCache* const pResourceCache)
00030 {
00031 Direct3DTextureResourceHandle* pResHandle = new Direct3DTextureResourceHandle(pBuffer, nBufferSize, *this, pResourceCache);
00032 if(!pResHandle->Initialize(m_pD3DDevice))
00033 return 0;
00034 return pResHandle;
00035 }
00036 public:
00037 Direct3DTextureResource(const std::string& resourceName, const std::string& resourceFile, LPDIRECT3DDEVICE9 pD3DDevice)
00038 :Resource(resourceName, resourceFile), m_pD3DDevice(pD3DDevice)
00039 {
00040 }
00041
00042 Direct3DTextureResource(const Resource& resource, LPDIRECT3DDEVICE9 pD3DDevice)
00043 :Resource(resource._resourceName, resource._resourceFile), m_pD3DDevice(pD3DDevice)
00044 {
00045 }
00046 };
00047
00048 #endif