⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 directxobject.h

📁 这个是我第一次完成的一个简单的3D ALIEN SHOOTING GAME的RESOURCE MANAGER部分,大家可以看看,然后提点意见~THX
💻 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 + -