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

📄 water.h

📁 3D游戏展示程序
💻 H
字号:
//--------------------------------------------------
//  Desc: 类似WOW的水特效
//  Date: 2007.3.12 /update
//  Author: artsylee
//
//  Copyright (C) 2007 artsylee
//
//--------------------------------------------------

#ifndef _WATER_
#define _WATER_

#include <d3d9.h>
#include <d3dx9.h>
#include "GNode.h"

enum WaterType
{
	WT_HIGHLIGHT,
	WT_NORMAL,
	WT_INVALID,
};

struct WaterVertex
{
	float x, y, z;
	float nx, ny, nz;
	float tu, tv;

	enum FVF
	{
		FVF_Flags = D3DFVF_XYZ | D3DFVF_NORMAL | D3DFVF_TEX1
	};
};

struct HighLightVertex
{
	float x, y, z;
	float nx, ny, nz;

	enum FVF
	{
		FVF_Flags = D3DFVF_XYZ | D3DFVF_NORMAL
	};
};

class CWater : public GNode
{
public:
	CWater();
	~CWater();

	void InitWater();
	void Render();

private:
	void FillWaterVertex(void);
	void FillHighLightVertex(void);

private:
	float			m_fWidth;
	float			m_fLength;

	int				m_NumXWrap;
	int				m_NumYWrap;

	WaterType		m_eWaterType;
	DWORD			m_hTex[30];
	WaterVertex		m_WaterVertices[4];	
	DWORD			m_LastUpdate;
	int				m_CurFrame;

	// 高光网格-------------------------------
	LPDIRECT3DVERTEXBUFFER9		m_pHighLightVB;
	LPDIRECT3DINDEXBUFFER9		m_pHighLightIB;	
	D3DMATERIAL9				m_HighLightMaterial;
	int				m_nXTile;
	int 			m_nYTile;
	int 			m_nVertices;
	int 			m_nIndices;
	float			m_fTileSize;
	// 高光网格-------------------------------
};

#endif // _WATER_

⌨️ 快捷键说明

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