water.h
来自「3D游戏展示程序」· C头文件 代码 · 共 85 行
H
85 行
//--------------------------------------------------
// 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 + =
减小字号Ctrl + -
显示快捷键?