📄 directxobject.h
字号:
// DirectXObject.h
//
// Author: Lea Hayes
// Date Created: 13/03/2006
// Date Modified: 13/03/2006
// Description:
// Opens and manipulates .x files.
//
#pragma once
#include "IResource.h"
#include "DirectXTexture.h"
class DirectXObject : public Resources::IResource
{
// Construction and destruction.
public:
DirectXObject(LPCSTR lpszFilename = NULL);
virtual ~DirectXObject();
// Pure virtual functions which must be overriden.
virtual void OnProcess(float nTime);
virtual void OnRender(float nTime);
virtual DWORD GetUniqueID() const;
// Virtual functions which can be overriden.
virtual void OnDestroy();
virtual HRESULT ReadFromFile(LPCSTR lpszFilename);
// Properties.
public:
inline DirectXTexture* GetTextureResource(size_t nIndex)
{
return m_pTextures[nIndex];
}
inline LPDIRECT3DTEXTURE9 GetTexture(size_t nIndex)
{
return GetTextureResource(nIndex)->GetTexture();
}
inline DWORD GetVertexCount() const
{
return m_pMesh->GetNumVertices();
}
inline DWORD GetFaceCount() const
{
return m_pMesh->GetNumFaces();
}
inline DWORD GetMaterialCount() const
{
return m_dwMatCount;
}
protected:
void CleanUp();
// Attributes.
private:
LPD3DXMESH m_pMesh; // Mesh itself.
D3DMATERIAL9 *m_pMaterials; // Materials.
DirectXTexture **m_pTextures; // Textures.
DWORD m_dwMatCount; // Material count.
};
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -