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

📄 zwater.h

📁 选自《3D游戏编程》第5章 实战例题:3D编程技术的实战例题
💻 H
字号:
#ifndef _ZWATER_H_
#define _ZWATER_H_

#include "define.h"

class ZWater
{
	LPDIRECT3DDEVICE9       m_pDev;		// 渲染中使用的D3D设备
	LPDIRECT3DVERTEXBUFFER9 m_pVB;		// 储存顶点的顶点缓冲
	LPDIRECT3DINDEXBUFFER9	m_pIB;		// 储存索引的索引缓冲
	LPDIRECT3DTEXTURE9		m_pTexWater[2];// 表现水的Texture
	int						m_cx;		// 水的 x大小
	int						m_cz;		// 水的 z大小
	int						m_nWaveTick;// m_nWaveTick进行一次动画
	int						m_nPrevTick;
	float					m_fWave;	// 移动纹理的值
	float					m_fDir;		// 纹理的移动方向

	struct WATERVERTEX
	{
		enum { FVF = D3DFVF_XYZ | D3DFVF_DIFFUSE | D3DFVF_TEX1 };
		float			px, py, pz;
		DWORD			d;
		float			tx, ty;
	};

protected:
	int	_LoadTextures();	// 载入纹理
	int _CreateVIB();		// 创建顶点缓冲
	int _WaveTexture();		// 对纹理进行动画处理

public:
	ZWater();
	~ZWater();
	int Create( LPDIRECT3DDEVICE9 pDev, int cx, int cz, int nSpeed );
	int Draw();				// 绘制... -_-
};

#endif // _ZWATER_H_

⌨️ 快捷键说明

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