The DejaVU Framework --
hush 3.1
-
[up]
[top] -
index
make
include
source
logic
grammar
scripts
html
configure
mx
slides
talks
scenes
reports
projects
<body bgcolor="#FFFFFF" text="#000000">
//=============================================================================
// WaterDMap.h by Frank Luna (C) 2004 All Rights Reserved.
//
// Note: If you want large bodies of water, then you should break
// the water mesh into sub-grids like we did with the terrain
// so that you can frustum cull.
//=============================================================================
ifndef WATER_DMAP_H
define WATER_DMAP_H
include <d3dUtil.h>
<h4 align=right text=red> WaterDMap</h4><hr>
class WaterDMap
{
public:
struct InitInfo
{
DirLight dirLight;
Mtrl mtrl;
std::string fxFilename;
int vertRows;
int vertCols;
float dx;
float dz;
std::string waveMapFilename0;
std::string waveMapFilename1;
std::string dmapFilename0;
std::string dmapFilename1;
D3DXVECTOR2 waveNMapVelocity0;
D3DXVECTOR2 waveNMapVelocity1;
D3DXVECTOR2 waveDMapVelocity0;
D3DXVECTOR2 waveDMapVelocity1;
D3DXVECTOR2 scaleHeights;
float texScale;
D3DXMATRIX toWorld;
};<hr>
public:
WaterDMap(InitInfo& initInfo);
~WaterDMap();
DWORD getNumTriangles();
DWORD getNumVertices();
void onLostDevice();
void onResetDevice();
void update(float dt);
void draw();
private:
void buildFX();
private:
ID3DXMesh* mMesh;
ID3DXEffect* mFX;
// The two normal maps to scroll.
IDirect3DTexture9* mWaveMap0;
IDirect3DTexture9* mWaveMap1;
// The two displacement maps to scroll.
IDirect3DTexture9* mDispMap0;
IDirect3DTexture9* mDispMap1;
// Offset of normal maps for scrolling (vary as a function of time)
D3DXVECTOR2 mWaveNMapOffset0;
D3DXVECTOR2 mWaveNMapOffset1;
// Offset of displacement maps for scrolling (vary as a function of time)
D3DXVECTOR2 mWaveDMapOffset0;
D3DXVECTOR2 mWaveDMapOffset1;
InitInfo mInitInfo;
float mWidth;
float mDepth;
D3DXHANDLE mhTech;
D3DXHANDLE mhWVP;
D3DXHANDLE mhWorld;
D3DXHANDLE mhWorldInv;
D3DXHANDLE mhLight;
D3DXHANDLE mhMtrl;
D3DXHANDLE mhEyePosW;
D3DXHANDLE mhWaveMap0;
D3DXHANDLE mhWaveMap1;
D3DXHANDLE mhWaveNMapOffset0;
D3DXHANDLE mhWaveNMapOffset1;
D3DXHANDLE mhWaveDMapOffset0;
D3DXHANDLE mhWaveDMapOffset1;
D3DXHANDLE mhWaveDispMap0;
D3DXHANDLE mhWaveDispMap1;
D3DXHANDLE mhScaleHeights;
D3DXHANDLE mhGridStepSizeL;
};<hr>
endif // WATER_DMAP_H
<hr>
<style type="text/css">
div.mainnavigate {
margin: 20px 2px;
/*
background-color: #ffffff;
*/
border: 1px solid black;
}
</style>
<div class=xnavigate>
[]
<black>readme</black>
course(s)
preface
<black>I</black>
1
2
<black>II</black>
3
4
<black>III</black>
5
6
7
<black>IV</black>
8
9
10
<black>V</black>
11
12
afterthought(s)
<black>appendix</black>
reference(s)
example(s)
<black>resource(s)</black>
_
</div>
<hr>
(C) Æliens
20/2/2008
You may not copy or print any of this material without explicit permission of the author or the publisher.
In case of other copyright issues, contact the author.
</div>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-2780434-1";
urchinTracker();
</script>
</body>
</html>
<hr>
<hr>
<table cellpadding=10>
<tr>
<td>
<address>
Hush Online Technology
</address>
hush@cs.vu.nl
<br>04/07/09
</td><td>
</td>
<td></td><td></td><td></td><td></td><td></td><td></td><td></td>
<td>
</td>
</tr>
</table>