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

📄 terrain.h

📁 AABB碰撞检测,目前主流3D游戏必需,希望对大家有帮助
💻 H
字号:
// Terrain.h: interface for the CTerrain class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_TERRAIN_H)
#define AFX_TERRAIN_H


#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#define D3DFVF_TERRAIN	D3DFVF_XYZ|D3DFVF_TEX1|D3DFVF_NORMAL	//坐标信息
class CTerrain  
{

protected:
	struct TVertexBuffer
	{
		float	x,y,z;	
		float	nx,ny,nz;	//坐标信息
		float	tu,tv;
	};
protected:

	LPDIRECT3DDEVICE9		m_pDevice;
	LPDIRECT3DTEXTURE9		m_pTexture;				//材质
	LPDIRECT3DVERTEXBUFFER9	m_pVB;
	LPDIRECT3DINDEXBUFFER9	m_pIB;


	D3DVECTOR				m_vPos;


	long	m_nCol,m_nRow;
	float	m_nTile;
	float	m_maxHeight;
	float	m_CellWidth;
	BYTE	*m_pHeightData;


public:
	CTerrain(LPDIRECT3DDEVICE9 pDevice,
		D3DVECTOR position);

	void Initialize(char* strTerrain,
		char* strTexture, float cellWidth,float height=800,float nTile=1.0f);
	
	float GetHeight(float x,float z);
	void SetWorldTransorm();
	void Render();
	virtual ~CTerrain();
};

#endif // !defined(AFX_TERRAIN_H)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -